aboutsummaryrefslogtreecommitdiff
path: root/weed/filesys/file.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2020-09-24 03:06:44 -0700
committerChris Lu <chris.lu@gmail.com>2020-09-24 03:06:48 -0700
commit5e239afdfc64ef39c5d4f41ec16410e726614eee (patch)
tree8f1088f327777603dbdcb1d137ddc26efd18dfa6 /weed/filesys/file.go
parentc7d7b1a0f6e396e481c184c419e89675435f0e18 (diff)
downloadseaweedfs-5e239afdfc64ef39c5d4f41ec16410e726614eee.tar.xz
seaweedfs-5e239afdfc64ef39c5d4f41ec16410e726614eee.zip
hardlink works now
Diffstat (limited to 'weed/filesys/file.go')
-rw-r--r--weed/filesys/file.go5
1 files changed, 4 insertions, 1 deletions
diff --git a/weed/filesys/file.go b/weed/filesys/file.go
index d130d5898..f501e1ec8 100644
--- a/weed/filesys/file.go
+++ b/weed/filesys/file.go
@@ -67,6 +67,9 @@ func (file *File) Attr(ctx context.Context, attr *fuse.Attr) error {
attr.Uid = file.entry.Attributes.Uid
attr.Blocks = attr.Size/blockSize + 1
attr.BlockSize = uint32(file.wfs.option.ChunkSizeLimit)
+ if file.entry.HardLinkCounter > 0 {
+ attr.Nlink = uint32(file.entry.HardLinkCounter)
+ }
return nil
@@ -250,7 +253,7 @@ func (file *File) Forget() {
}
func (file *File) maybeLoadEntry(ctx context.Context) error {
- if file.entry == nil && file.isOpen <= 0 {
+ if (file.entry == nil || file.entry.HardLinkId != 0) && file.isOpen <= 0 {
entry, err := file.wfs.maybeLoadEntry(file.dir.FullPath(), file.Name)
if err != nil {
glog.V(3).Infof("maybeLoadEntry file %s/%s: %v", file.dir.FullPath(), file.Name, err)