commit f59d503daf49e212bc1cdaa3f0d644b676f33487
parent 875fc6860c634d2369709fc6958b0f43b205cb4f
Author: Matsuda Kenji <info@mtkn.jp>
Date: Thu, 19 Oct 2023 11:51:22 +0900
delete FileMode conversion
Diffstat:
7 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/diskfs/file.go b/diskfs/file.go
@@ -40,7 +40,7 @@ func (f *File) Stat() (*lib9p.FileInfo, error) {
}
stat.Qid = qid
stat.Length = fsfi.Size()
- stat.Mode = lib9p.FSModeTo9Mode(fsfi.Mode())
+ stat.Mode = fsfi.Mode()
stat.Name = fsfi.Name()
stat.Atime = uint32(fsfi.Sys().(*syscall.Stat_t).Atim.Sec)
stat.Mtime = uint32(fsfi.Sys().(*syscall.Stat_t).Mtim.Sec)
@@ -72,7 +72,7 @@ func (f *File) Create(name string, uid string,
ospath := filepath.Join(f.fs.rootPath, f.path, name)
if perm&fs.ModeDir != 0 {
- if err := os.Mkdir(ospath, lib9p.Mode9ToFSMode(perm)); err != nil {
+ if err := os.Mkdir(ospath, perm); err != nil {
return nil, fmt.Errorf("mkdir: %v", err)
}
} else {
@@ -103,7 +103,7 @@ func (f *File) Create(name string, uid string,
return nil, fmt.Errorf("set owner and group: %v", err)
}
- if err := os.Chmod(ospath, lib9p.Mode9ToFSMode(perm)); err != nil {
+ if err := os.Chmod(ospath, perm); err != nil {
return nil, fmt.Errorf("set file mode: %v", err)
}
diff --git a/diskfs/stat_unix.go b/diskfs/stat_unix.go
@@ -37,7 +37,7 @@ func fiStat(pool *QidPool, id fileID, info fs.FileInfo) *lib9p.Stat {
Type: 0,
Dev: 0,
Qid: qid,
- Mode: lib9p.FSModeTo9Mode(info.Mode()),
+ Mode: info.Mode(),
Atime: uint32(stat.Atim.Sec),
Mtime: uint32(stat.Mtim.Sec),
Length: stat.Size,
@@ -81,7 +81,7 @@ func (f *File) WStat(s *lib9p.Stat) error {
}
}
if s.Mode != oldStat.Mode {
- if err := file.Chmod(lib9p.Mode9ToFSMode(s.Mode)); err != nil {
+ if err := file.Chmod(s.Mode); err != nil {
return fmt.Errorf("chmod: %v", err)
}
}
diff --git a/fs.go b/fs.go
@@ -31,7 +31,7 @@ func FSModeToQidType(fm fs.FileMode) QidType {
// are not in QidType.
return qt
}
-
+/*
func FSModeTo9Mode(mode fs.FileMode) FileMode {
mode9 := FileMode(mode & fs.ModePerm)
if mode&fs.ModeDir != 0 {
@@ -65,3 +65,4 @@ func Mode9ToFSMode(mode FileMode) fs.FileMode {
}
return fsmode
}
+*/
+\ No newline at end of file
diff --git a/iofs/file.go b/iofs/file.go
@@ -40,7 +40,7 @@ func (f *File) Stat() (*lib9p.FileInfo, error) {
}
stat.Qid = qid
stat.Length = fsfi.Size()
- stat.Mode = lib9p.FSModeTo9Mode(fsfi.Mode())
+ stat.Mode = fsfi.Mode()
stat.Name = fsfi.Name()
stat.Atime = uint32(fsfi.ModTime().Unix())
stat.Mtime = uint32(fsfi.ModTime().Unix())
diff --git a/iofs/stat.go b/iofs/stat.go
@@ -9,7 +9,7 @@ import (
func fiType(fi fs.FileInfo) uint16 { return 0 }
func fiDev(fi fs.FileInfo) uint32 { return 0 }
func fiLength(fi fs.FileInfo) int64 { return fi.Size() }
-func fiMode(fi fs.FileInfo) lib9p.FileMode { return lib9p.FSModeTo9Mode(fi.Mode()) }
+func fiMode(fi fs.FileInfo) lib9p.FileMode { return fi.Mode() }
func fiName(fi fs.FileInfo) string { return fi.Name() }
func fiAtime(fi fs.FileInfo) uint32 { return uint32(fi.ModTime().Unix()) }
func fiMtime(fi fs.FileInfo) uint32 { return uint32(fi.ModTime().Unix()) }
diff --git a/server.go b/server.go
@@ -471,7 +471,7 @@ func sCreate(s *Server, r *Req) {
}
perm := ifcall.Perm()
- dirperm := FSModeTo9Mode(dirstat.Mode())
+ dirperm := dirstat.Mode()
if perm&fs.ModeDir == 0 {
perm &= ^FileMode(0666) | (dirperm & FileMode(0666))
} else {
diff --git a/stat.go b/stat.go
@@ -170,7 +170,7 @@ type FileInfo struct {
func (fi *FileInfo) Name() string { return fi.Stat.Name }
func (fi *FileInfo) Size() int64 { return fi.Stat.Length }
-func (fi *FileInfo) Mode() fs.FileMode { return Mode9ToFSMode(fi.Stat.Mode) }
+func (fi *FileInfo) Mode() fs.FileMode { return fi.Stat.Mode }
func (fi *FileInfo) ModTime() time.Time { return time.Unix(int64(fi.Stat.Mtime), 0) }
func (fi *FileInfo) IsDir() bool { return fi.Stat.Mode&fs.ModeDir != 0 }
// Sys returns *Stat