diff --git a/utils/src/com/cloud/utils/S3Utils.java b/utils/src/com/cloud/utils/S3Utils.java index 7df3d3b58fe..6efe76b6974 100644 --- a/utils/src/com/cloud/utils/S3Utils.java +++ b/utils/src/com/cloud/utils/S3Utils.java @@ -354,10 +354,15 @@ public final class S3Utils { ListObjectsRequest listObjectsRequest = new ListObjectsRequest().withBucketName(bucketName).withPrefix(directory + SEPARATOR); ObjectListing ol = client.listObjects(listObjectsRequest); - while (ol != null && ol.isTruncated()) { + if(ol.isTruncated()) { + do { + objects.addAll(ol.getObjectSummaries()); + listObjectsRequest.setMarker(ol.getNextMarker()); + ol = client.listObjects(listObjectsRequest); + } while (ol.isTruncated()); + } + else { objects.addAll(ol.getObjectSummaries()); - listObjectsRequest.setMarker(ol.getNextMarker()); - ol = client.listObjects(listObjectsRequest); } if (objects.isEmpty()) {