aboutsummaryrefslogtreecommitdiff
path: root/weed/mount/weedfs_dir_read.go
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2022-02-27 23:13:49 -0800
committerchrislu <chris.lu@gmail.com>2022-02-27 23:13:49 -0800
commit63a9d8f01d0e2fc487dc242a5dcb9649f92d963c (patch)
tree4d45aa015d4c2747b02c5d5ed8fe67ce73b3b2c8 /weed/mount/weedfs_dir_read.go
parentde77d00c81152681b5a5c649b123989d2093dcc6 (diff)
downloadseaweedfs-63a9d8f01d0e2fc487dc242a5dcb9649f92d963c.tar.xz
seaweedfs-63a9d8f01d0e2fc487dc242a5dcb9649f92d963c.zip
ensure inodes are not duplicating unless hardlinked
Diffstat (limited to 'weed/mount/weedfs_dir_read.go')
-rw-r--r--weed/mount/weedfs_dir_read.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/weed/mount/weedfs_dir_read.go b/weed/mount/weedfs_dir_read.go
index 4862167dc..f7cbae7f7 100644
--- a/weed/mount/weedfs_dir_read.go
+++ b/weed/mount/weedfs_dir_read.go
@@ -162,14 +162,14 @@ func (wfs *WFS) doReadDirectory(input *fuse.ReadIn, out *fuse.DirEntryList, isPl
dirEntry.Name = entry.Name()
dirEntry.Mode = toSyscallMode(entry.Mode)
if !isPlusMode {
- inode := wfs.inodeToPath.Lookup(dirPath.Child(dirEntry.Name), entry.Mode, false, entry.Inode, false)
+ inode := wfs.inodeToPath.Lookup(dirPath.Child(dirEntry.Name), entry.Mode, len(entry.HardLinkId) > 0, entry.Inode, false)
dirEntry.Ino = inode
if !out.AddDirEntry(dirEntry) {
isEarlyTerminated = true
return false
}
} else {
- inode := wfs.inodeToPath.Lookup(dirPath.Child(dirEntry.Name), entry.Mode, false, entry.Inode, true)
+ inode := wfs.inodeToPath.Lookup(dirPath.Child(dirEntry.Name), entry.Mode, len(entry.HardLinkId) > 0, entry.Inode, true)
dirEntry.Ino = inode
entryOut := out.AddDirLookupEntry(dirEntry)
if entryOut == nil {