aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--weed/filesys/file.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/weed/filesys/file.go b/weed/filesys/file.go
index 7aa1016d7..fb7b83cbe 100644
--- a/weed/filesys/file.go
+++ b/weed/filesys/file.go
@@ -253,9 +253,15 @@ func (file *File) Forget() {
}
func (file *File) maybeLoadEntry(ctx context.Context) error {
- if (file.entry != nil && len(file.entry.HardLinkId) != 0) || file.isOpen > 0 {
+ if file.isOpen > 0 {
return nil
}
+ if file.entry != nil {
+ if len(file.entry.HardLinkId) == 0 {
+ // only always reload hard link
+ return nil
+ }
+ }
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)
@@ -263,6 +269,8 @@ func (file *File) maybeLoadEntry(ctx context.Context) error {
}
if entry != nil {
file.setEntry(entry)
+ } else {
+ glog.Warningf("maybeLoadEntry not found entry %s/%s: %v", file.dir.FullPath(), file.Name, err)
}
return nil
}