aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2020-12-09 16:47:34 -0800
committerChris Lu <chris.lu@gmail.com>2020-12-09 16:47:34 -0800
commit02a160c3fd9b01f20d84ef529a915dbf14c132ad (patch)
treed6b1f7bcde39c7770a9b748bdcc6bff74820ba71
parenta9c619c270927456787a638856e315289f9005b7 (diff)
downloadseaweedfs-02a160c3fd9b01f20d84ef529a915dbf14c132ad.tar.xz
seaweedfs-02a160c3fd9b01f20d84ef529a915dbf14c132ad.zip
s3: recursively iterate all sub folders
fix https://github.com/chrislusf/seaweedfs/issues/1656
-rw-r--r--weed/s3api/s3api_objects_list_handlers.go3
1 files changed, 2 insertions, 1 deletions
diff --git a/weed/s3api/s3api_objects_list_handlers.go b/weed/s3api/s3api_objects_list_handlers.go
index 5d63f1039..40583f478 100644
--- a/weed/s3api/s3api_objects_list_handlers.go
+++ b/weed/s3api/s3api_objects_list_handlers.go
@@ -197,11 +197,12 @@ func (s3a *S3ApiServer) doListFilerEntries(client filer_pb.SeaweedFilerClient, d
sepIndex := strings.Index(marker, "/")
subDir, subMarker := marker[0:sepIndex], marker[sepIndex+1:]
// println("doListFilerEntries dir", dir+"/"+subDir, "subMarker", subMarker, "maxKeys", maxKeys)
- subCounter, _, subNextMarker, subErr := s3a.doListFilerEntries(client, dir+"/"+subDir, "", maxKeys, subMarker, delimiter, eachEntryFn)
+ subCounter, subIsTruncated, subNextMarker, subErr := s3a.doListFilerEntries(client, dir+"/"+subDir, "", maxKeys, subMarker, delimiter, eachEntryFn)
if subErr != nil {
err = subErr
return
}
+ isTruncated = isTruncated || subIsTruncated
maxKeys -= subCounter
nextMarker = subDir + "/" + subNextMarker
counter += subCounter