aboutsummaryrefslogtreecommitdiff
path: root/weed/s3api
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2020-12-27 10:50:27 -0800
committerChris Lu <chris.lu@gmail.com>2020-12-27 10:50:27 -0800
commit561a2ff0bcdb72f320b1d3a81da63dd6beb41548 (patch)
tree1406c8faa5ef026be4e06566335c728ee23785dc /weed/s3api
parentaa020ee7e765f200976cd513d296530bbe3704a8 (diff)
downloadseaweedfs-561a2ff0bcdb72f320b1d3a81da63dd6beb41548.tar.xz
seaweedfs-561a2ff0bcdb72f320b1d3a81da63dd6beb41548.zip
s3: add option for "alllowEmptyFolder"
Diffstat (limited to 'weed/s3api')
-rw-r--r--weed/s3api/s3api_objects_list_handlers.go6
-rw-r--r--weed/s3api/s3api_server.go1
2 files changed, 5 insertions, 2 deletions
diff --git a/weed/s3api/s3api_objects_list_handlers.go b/weed/s3api/s3api_objects_list_handlers.go
index c1c6e2f89..fb1497b78 100644
--- a/weed/s3api/s3api_objects_list_handlers.go
+++ b/weed/s3api/s3api_objects_list_handlers.go
@@ -264,8 +264,10 @@ func (s3a *S3ApiServer) doListFilerEntries(client filer_pb.SeaweedFilerClient, d
}
} else {
var isEmpty bool
- if isEmpty, err = s3a.isDirectoryAllEmpty(client, dir, entry.Name); err != nil {
- glog.Errorf("check empty folder %s: %v", dir, err)
+ if !s3a.option.AllowEmptyFolder {
+ if isEmpty, err = s3a.isDirectoryAllEmpty(client, dir, entry.Name); err != nil {
+ glog.Errorf("check empty folder %s: %v", dir, err)
+ }
}
if !isEmpty {
eachEntryFn(dir, entry)
diff --git a/weed/s3api/s3api_server.go b/weed/s3api/s3api_server.go
index e4a07a443..4993104ae 100644
--- a/weed/s3api/s3api_server.go
+++ b/weed/s3api/s3api_server.go
@@ -20,6 +20,7 @@ type S3ApiServerOption struct {
DomainName string
BucketsPath string
GrpcDialOption grpc.DialOption
+ AllowEmptyFolder bool
}
type S3ApiServer struct {