mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
let the fuse library manage directory id
otherwise, on mac, during large directory deletion, if some ReaDirAll happens, the lib seems confused about the directories, and some child directories are not deleted.
This commit is contained in:
parent
372872ebbf
commit
d1c813c470
|
@ -28,7 +28,7 @@ type Dir struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ = fs.Node(&Dir{})
|
var _ = fs.Node(&Dir{})
|
||||||
var _ = fs.NodeIdentifier(&Dir{})
|
//var _ = fs.NodeIdentifier(&Dir{})
|
||||||
var _ = fs.NodeCreater(&Dir{})
|
var _ = fs.NodeCreater(&Dir{})
|
||||||
var _ = fs.NodeMknoder(&Dir{})
|
var _ = fs.NodeMknoder(&Dir{})
|
||||||
var _ = fs.NodeMkdirer(&Dir{})
|
var _ = fs.NodeMkdirer(&Dir{})
|
||||||
|
@ -44,7 +44,7 @@ var _ = fs.NodeRemovexattrer(&Dir{})
|
||||||
var _ = fs.NodeListxattrer(&Dir{})
|
var _ = fs.NodeListxattrer(&Dir{})
|
||||||
var _ = fs.NodeForgetter(&Dir{})
|
var _ = fs.NodeForgetter(&Dir{})
|
||||||
|
|
||||||
func (dir *Dir) Id() uint64 {
|
func (dir *Dir) xId() uint64 {
|
||||||
return dir.id
|
return dir.id
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ func (dir *Dir) Attr(ctx context.Context, attr *fuse.Attr) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
attr.Inode = dir.Id()
|
// attr.Inode = dir.Id()
|
||||||
attr.Mode = os.FileMode(entry.Attributes.FileMode) | os.ModeDir
|
attr.Mode = os.FileMode(entry.Attributes.FileMode) | os.ModeDir
|
||||||
attr.Mtime = time.Unix(entry.Attributes.Mtime, 0)
|
attr.Mtime = time.Unix(entry.Attributes.Mtime, 0)
|
||||||
attr.Crtime = time.Unix(entry.Attributes.Crtime, 0)
|
attr.Crtime = time.Unix(entry.Attributes.Crtime, 0)
|
||||||
|
@ -92,7 +92,7 @@ func (dir *Dir) Getxattr(ctx context.Context, req *fuse.GetxattrRequest, resp *f
|
||||||
func (dir *Dir) setRootDirAttributes(attr *fuse.Attr) {
|
func (dir *Dir) setRootDirAttributes(attr *fuse.Attr) {
|
||||||
// attr.Inode = 1 // filer2.FullPath(dir.Path).AsInode()
|
// attr.Inode = 1 // filer2.FullPath(dir.Path).AsInode()
|
||||||
attr.Valid = time.Second
|
attr.Valid = time.Second
|
||||||
attr.Inode = dir.Id()
|
attr.Inode = 1 // dir.Id()
|
||||||
attr.Uid = dir.wfs.option.MountUid
|
attr.Uid = dir.wfs.option.MountUid
|
||||||
attr.Gid = dir.wfs.option.MountGid
|
attr.Gid = dir.wfs.option.MountGid
|
||||||
attr.Mode = dir.wfs.option.MountMode
|
attr.Mode = dir.wfs.option.MountMode
|
||||||
|
|
Loading…
Reference in a new issue