commit 733f573166960e0c54d769f6125b40f61f43a518
parent c6503a43e9ccee609918fd93bf973ea6075417e8
Author: Matsuda Kenji <info@mtkn.jp>
Date: Thu, 16 Nov 2023 08:44:27 +0900
update semfs
Diffstat:
1 file changed, 22 insertions(+), 8 deletions(-)
diff --git a/cmd/semfs/fs.go b/cmd/semfs/fs.go
@@ -59,6 +59,28 @@ func (fsys *semFS) Create(name string, uid string, mode lib9p.OpenMode, perm lib
return newfile, nil
}
+func (fsys *semFS) Remove(name string) error {
+ var (
+ f *semFile
+ path int
+ )
+ for i, ff := range fsys.semfiles {
+ if ff.name == name {
+ f = ff
+ path = i
+ break
+ }
+ }
+ if f == nil {
+ return errors.New("not found")
+ }
+ f.cancel()
+ close(f.rchan)
+ close(f.wchan)
+ delete(fsys.semfiles, path)
+ return nil
+}
+
func (root *semFS) Stat() (fs.FileInfo, error) {
t := uint32(time.Now().Unix())
return &lib9p.FileInfo{Stat: lib9p.Stat{
@@ -173,11 +195,3 @@ func (f *semFile) Write(p []byte) (int, error) {
f.wchan <- n
return len(p), nil
}
-
-func (f *semFile) Remove() error {
- f.cancel()
- close(f.rchan)
- close(f.wchan)
- delete(f.fs.semfiles, int(f.path))
- return nil
-}