diff options
| author | Chris Lu <chris.lu@gmail.com> | 2019-09-11 20:26:20 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2019-09-11 20:26:20 -0700 |
| commit | ae53f636804e41c2c7a0817e8f35434a00b6eacb (patch) | |
| tree | 82bbdbcf4b454cb506934847e26076cfdd79e4b7 /weed/filer2/filer.go | |
| parent | 5e9c65469ecf3356fa02b1cef246d83abdb02d14 (diff) | |
| download | seaweedfs-ae53f636804e41c2c7a0817e8f35434a00b6eacb.tar.xz seaweedfs-ae53f636804e41c2c7a0817e8f35434a00b6eacb.zip | |
filer: recursive deletion optionally ignoring any errors
fix https://github.com/chrislusf/seaweedfs/issues/1062
Diffstat (limited to 'weed/filer2/filer.go')
| -rw-r--r-- | weed/filer2/filer.go | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/weed/filer2/filer.go b/weed/filer2/filer.go index cf236b74d..672295dea 100644 --- a/weed/filer2/filer.go +++ b/weed/filer2/filer.go @@ -203,7 +203,7 @@ func (f *Filer) FindEntry(ctx context.Context, p FullPath) (entry *Entry, err er return f.store.FindEntry(ctx, p) } -func (f *Filer) DeleteEntryMetaAndData(ctx context.Context, p FullPath, isRecursive bool, shouldDeleteChunks bool) (err error) { +func (f *Filer) DeleteEntryMetaAndData(ctx context.Context, p FullPath, isRecursive bool, ignoreRecursiveError, shouldDeleteChunks bool) (err error) { entry, err := f.FindEntry(ctx, p) if err != nil { return err @@ -230,8 +230,8 @@ func (f *Filer) DeleteEntryMetaAndData(ctx context.Context, p FullPath, isRecurs if isRecursive { for _, sub := range entries { lastFileName = sub.Name() - err = f.DeleteEntryMetaAndData(ctx, sub.FullPath, isRecursive, shouldDeleteChunks) - if err != nil { + err = f.DeleteEntryMetaAndData(ctx, sub.FullPath, isRecursive, ignoreRecursiveError, shouldDeleteChunks) + if err != nil && !ignoreRecursiveError { return err } limit-- |
