diff options
| author | chrislu <chris.lu@gmail.com> | 2024-08-01 13:00:54 -0700 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2024-08-01 13:00:54 -0700 |
| commit | 4fee496b49e86d92b8980bbe441c066ae3fdf326 (patch) | |
| tree | d5b96cba36afbc2664dfbc93654868d2bd5729a1 /weed/filer | |
| parent | a7e00d9074ebad7e55a5c8fda9dca27c36fec26c (diff) | |
| download | seaweedfs-4fee496b49e86d92b8980bbe441c066ae3fdf326.tar.xz seaweedfs-4fee496b49e86d92b8980bbe441c066ae3fdf326.zip | |
conditional delete
Diffstat (limited to 'weed/filer')
| -rw-r--r-- | weed/filer/filer_delete_entry.go | 5 |
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 |
