mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
Revert "Revert "mount: add more entry type""
This reverts commit 4085b79d38
.
This commit is contained in:
parent
7119e7b491
commit
67faa56920
|
@ -6,6 +6,7 @@ import (
|
|||
"math"
|
||||
"os"
|
||||
"strings"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
"github.com/seaweedfs/fuse"
|
||||
|
@ -308,7 +309,7 @@ func (dir *Dir) ReadDirAll(ctx context.Context) (ret []fuse.Dirent, err error) {
|
|||
dirent := fuse.Dirent{Inode: inode, Name: entry.Name, Type: fuse.DT_Dir}
|
||||
ret = append(ret, dirent)
|
||||
} else {
|
||||
dirent := fuse.Dirent{Inode: inode, Name: entry.Name, Type: fuse.DT_File}
|
||||
dirent := fuse.Dirent{Inode: inode, Name: entry.Name, Type: findFileType(uint16(entry.Attributes.FileMode))}
|
||||
ret = append(ret, dirent)
|
||||
}
|
||||
return nil
|
||||
|
@ -330,6 +331,26 @@ func (dir *Dir) ReadDirAll(ctx context.Context) (ret []fuse.Dirent, err error) {
|
|||
return
|
||||
}
|
||||
|
||||
func findFileType(mode uint16) fuse.DirentType {
|
||||
switch mode & (syscall.S_IFMT & 0xffff) {
|
||||
case syscall.S_IFSOCK:
|
||||
return fuse.DT_Socket
|
||||
case syscall.S_IFLNK:
|
||||
return fuse.DT_Link
|
||||
case syscall.S_IFREG:
|
||||
return fuse.DT_File
|
||||
case syscall.S_IFBLK:
|
||||
return fuse.DT_Block
|
||||
case syscall.S_IFDIR:
|
||||
return fuse.DT_Dir
|
||||
case syscall.S_IFCHR:
|
||||
return fuse.DT_Char
|
||||
case syscall.S_IFIFO:
|
||||
return fuse.DT_FIFO
|
||||
}
|
||||
return fuse.DT_File
|
||||
}
|
||||
|
||||
func (dir *Dir) Remove(ctx context.Context, req *fuse.RemoveRequest) error {
|
||||
|
||||
if !req.Dir {
|
||||
|
|
Loading…
Reference in a new issue