aboutsummaryrefslogtreecommitdiff
path: root/weed/mount/weedfs_link.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/mount/weedfs_link.go')
-rw-r--r--weed/mount/weedfs_link.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/weed/mount/weedfs_link.go b/weed/mount/weedfs_link.go
index 15b7e081e..28466bdfb 100644
--- a/weed/mount/weedfs_link.go
+++ b/weed/mount/weedfs_link.go
@@ -25,7 +25,6 @@ When creating a link:
/** Create a hard link to a file */
func (wfs *WFS) Link(cancel <-chan struct{}, in *fuse.LinkIn, name string, out *fuse.EntryOut) (code fuse.Status) {
-
if wfs.IsOverQuota {
return fuse.Status(syscall.ENOSPC)
}
@@ -49,6 +48,11 @@ func (wfs *WFS) Link(cancel <-chan struct{}, in *fuse.LinkIn, name string, out *
return status
}
+ // hardlink is not allowed in WORM mode
+ if wfs.wormEnabledForEntry(oldEntryPath, oldEntry) {
+ return fuse.EPERM
+ }
+
// update old file to hardlink mode
if len(oldEntry.HardLinkId) == 0 {
oldEntry.HardLinkId = filer.NewHardLinkId()