aboutsummaryrefslogtreecommitdiff
path: root/weed/filer
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2024-08-01 13:00:54 -0700
committerchrislu <chris.lu@gmail.com>2024-08-01 13:00:54 -0700
commit4fee496b49e86d92b8980bbe441c066ae3fdf326 (patch)
treed5b96cba36afbc2664dfbc93654868d2bd5729a1 /weed/filer
parenta7e00d9074ebad7e55a5c8fda9dca27c36fec26c (diff)
downloadseaweedfs-4fee496b49e86d92b8980bbe441c066ae3fdf326.tar.xz
seaweedfs-4fee496b49e86d92b8980bbe441c066ae3fdf326.zip
conditional delete
Diffstat (limited to 'weed/filer')
-rw-r--r--weed/filer/filer_delete_entry.go5
1 files changed, 4 insertions, 1 deletions
diff --git a/weed/filer/filer_delete_entry.go b/weed/filer/filer_delete_entry.go
index 3fdb84f03..0ae421981 100644
--- a/weed/filer/filer_delete_entry.go
+++ b/weed/filer/filer_delete_entry.go
@@ -17,7 +17,7 @@ const (
type OnChunksFunc func([]*filer_pb.FileChunk) error
type OnHardLinkIdsFunc func([]HardLinkId) error
-func (f *Filer) DeleteEntryMetaAndData(ctx context.Context, p util.FullPath, isRecursive, ignoreRecursiveError, shouldDeleteChunks, isFromOtherCluster bool, signatures []int32) (err error) {
+func (f *Filer) DeleteEntryMetaAndData(ctx context.Context, p util.FullPath, isRecursive, ignoreRecursiveError, shouldDeleteChunks, isFromOtherCluster bool, signatures []int32, ifNotModifiedAfter int64) (err error) {
if p == "/" {
return nil
}
@@ -26,6 +26,9 @@ func (f *Filer) DeleteEntryMetaAndData(ctx context.Context, p util.FullPath, isR
if findErr != nil {
return findErr
}
+ if ifNotModifiedAfter > 0 && entry.Attr.Mtime.Unix() > ifNotModifiedAfter {
+ return nil
+ }
isDeleteCollection := f.isBucket(entry)
if entry.IsDirectory() {
// delete the folder children, not including the folder itself