commit 08a8945d2b431cc9549bfda368bac1574a2e2b2f
parent 2e4e8eddbd83461ead985795e3de594b4d74b40b
Author: Matsuda Kenji <info@mtkn.jp>
Date: Tue, 12 Sep 2023 09:30:18 +0900
add newly created childEntry
Diffstat:
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/diskfs/file.go b/diskfs/file.go
@@ -64,6 +64,7 @@ func openFile(fsys *FS, fpath string, mode lib9p.OpenMode) (*File, error) {
if err != nil {
return nil, fmt.Errorf("info: %v", err)
}
+ // TODO: unix specific
sys := info.Sys().(*syscall.Stat_t)
id := fileID{
device: sys.Dev,
@@ -213,7 +214,18 @@ func (f *File) Create(name string, uid string,
return nil, fmt.Errorf("set file mode: %v", err)
}
- fmt.Printf("file: %v\n", osfile)
+ osstat, err := osfile.Stat()
+ if err != nil {
+ return nil, fmt.Errorf("stat: %v", err)
+ }
+ // TODO: unix specific.
+ sys := osstat.Sys().(*syscall.Stat_t)
+ id := fileID{
+ device: sys.Dev,
+ inode: sys.Ino,
+ }
+ stat := fiStat(f.fs.qidPool, id, osstat)
+ f.childEntry = append(f.childEntry, &lib9p.DirEntry{Stat: *stat})
if err := osfile.Close(); err != nil {
return nil, fmt.Errorf("close: %v", err)