lib9p

Go 9P library.
Log | Files | Refs

commit 08a8945d2b431cc9549bfda368bac1574a2e2b2f
parent 2e4e8eddbd83461ead985795e3de594b4d74b40b
Author: Matsuda Kenji <info@mtkn.jp>
Date:   Tue, 12 Sep 2023 09:30:18 +0900

add newly created childEntry

Diffstat:
Mdiskfs/file.go | 14+++++++++++++-
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)