&is_listing_truncated, null_yield);
if (ret == -ENOENT) {
// could bucket have been removed while this is running?
- ldout(store->ctx(), 20) << "RGWRadosList::" << __func__ <<
+ ldout(store->ctx(), 5) << "RGWRadosList::" << __func__ <<
": WARNING: call to list_objects of multipart namespace got ENOENT; "
"assuming bucket removal race" << dendl;
break;
}
// now process the uploads vector
- int parts_marker = 0;
- bool is_parts_truncated = false;
- do {
- map<uint32_t, RGWUploadPartInfo> parts;
+ for (const auto& upload : uploads) {
+ const RGWMPObj& mp = upload.mp;
+ int parts_marker = 0;
+ bool is_parts_truncated = false;
- for (const auto& upload : uploads) {
- const RGWMPObj& mp = upload.mp;
+ do { // while (is_parts_truncated);
+ std::map<uint32_t, RGWUploadPartInfo> parts;
ret = list_multipart_parts(store, bucket_info, store->ctx(),
mp.get_upload_id(), mp.get_meta(),
- max_parts,
- parts_marker, parts, NULL, &is_parts_truncated);
+ max_parts, parts_marker,
+ parts, &parts_marker,
+ &is_parts_truncated);
if (ret == -ENOENT) {
- continue;
+ ldout(store->ctx(), 5) << "RGWRadosList::" << __func__ <<
+ ": WARNING: list_multipart_parts returned ret=-ENOENT "
+ "for " << mp.get_upload_id() << ", moving on" << dendl;
+ break;
} else if (ret < 0) {
lderr(store->ctx()) << "RGWRadosList::" << __func__ <<
- ": ERROR: list_multipart_parts returned ret=" << ret << dendl;
+ ": ERROR: list_multipart_parts returned ret=" << ret <<
+ dendl;
return ret;
}
const rgw_raw_obj& loc =
obj_it.get_location().get_raw_obj(store->getRados());
std::cout << loc.oid << std::endl;
- }
- }
- }
- } while (is_parts_truncated);
+ } // for (auto obj_it
+ } // for (auto& p
+ } while (is_parts_truncated);
+ } // for (const auto& upload
} // if objs not empty
} while (is_listing_truncated);