aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2018-09-03 13:16:26 -0700
committerChris Lu <chris.lu@gmail.com>2018-09-03 13:16:26 -0700
commit2ed6d8cca67acc6b78ad156c3809e110e607988c (patch)
tree1c4554e4f590f6db8de7e6e4b1e795a15db845d9
parent03f852c799219b94b7cdf9fc48abce0b36a5a14a (diff)
downloadseaweedfs-2ed6d8cca67acc6b78ad156c3809e110e607988c.tar.xz
seaweedfs-2ed6d8cca67acc6b78ad156c3809e110e607988c.zip
refactoring filer rm
-rw-r--r--weed/s3api/filer_util.go26
-rw-r--r--weed/s3api/s3api_bucket_handlers.go16
2 files changed, 27 insertions, 15 deletions
diff --git a/weed/s3api/filer_util.go b/weed/s3api/filer_util.go
index aa0a14b80..67ce88a52 100644
--- a/weed/s3api/filer_util.go
+++ b/weed/s3api/filer_util.go
@@ -38,7 +38,7 @@ func (s3a *S3ApiServer) mkdir(parentDirectoryPath string, dirName string) error
func (s3a *S3ApiServer) list(parentDirectoryPath string) (entries []*filer_pb.Entry, err error) {
- s3a.withFilerClient(func(client filer_pb.SeaweedFilerClient) error {
+ err = s3a.withFilerClient(func(client filer_pb.SeaweedFilerClient) error {
request := &filer_pb.ListEntriesRequest{
Directory: s3a.option.BucketsPath,
@@ -58,3 +58,27 @@ func (s3a *S3ApiServer) list(parentDirectoryPath string) (entries []*filer_pb.En
return
}
+
+func (s3a *S3ApiServer) rm(parentDirectoryPath string, entryName string, isDirectory, isDeleteData, isRecursive bool) error {
+
+ return s3a.withFilerClient(func(client filer_pb.SeaweedFilerClient) error {
+
+ ctx := context.Background()
+
+ request := &filer_pb.DeleteEntryRequest{
+ Directory: parentDirectoryPath,
+ Name: entryName,
+ IsDirectory: isDirectory,
+ IsDeleteData: isDeleteData,
+ IsRecursive: isRecursive,
+ }
+
+ glog.V(1).Infof("delete entry %v/%v: %v", parentDirectoryPath, entryName, request)
+ if _, err := client.DeleteEntry(ctx, request); err != nil {
+ return fmt.Errorf("delete entry %s/%s: %v", parentDirectoryPath, entryName, err)
+ }
+
+ return nil
+ })
+
+}
diff --git a/weed/s3api/s3api_bucket_handlers.go b/weed/s3api/s3api_bucket_handlers.go
index d28cef4d6..f9f3885fa 100644
--- a/weed/s3api/s3api_bucket_handlers.go
+++ b/weed/s3api/s3api_bucket_handlers.go
@@ -86,23 +86,11 @@ func (s3a *S3ApiServer) DeleteBucketHandler(w http.ResponseWriter, r *http.Reque
return fmt.Errorf("delete collection %s: %v", bucket, err)
}
- // delete bucket metadata
- request := &filer_pb.DeleteEntryRequest{
- Directory: s3a.option.BucketsPath,
- Name: bucket,
- IsDirectory: true,
- IsDeleteData: false,
- IsRecursive: true,
- }
-
- glog.V(1).Infof("delete bucket: %v", request)
- if _, err := client.DeleteEntry(ctx, request); err != nil {
- return fmt.Errorf("delete bucket %s/%s: %v", s3a.option.BucketsPath, bucket, err)
- }
-
return nil
})
+ err = s3a.rm(s3a.option.BucketsPath, bucket, true, false, true)
+
if err != nil {
writeErrorResponse(w, ErrInternalError, r.URL)
return