Currently the method that validates the reshard params does not fail correctly
in case of a non existant bucket causing reshard add to print an error message
but add the non existant bucket to the queue anyway. This will later be a cause
of EBUSY errors as this entry on the logshard can never be processed.
Fixes: http://tracker.ceph.com/issues/36449
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
int ret = init_bucket(tenant, bucket_name, bucket_id, bucket_info, bucket, &attrs);
if (ret < 0) {
cerr << "ERROR: could not init bucket: " << cpp_strerror(-ret) << std::endl;
- return -ret;
+ return ret;
}
int num_source_shards = (bucket_info.num_shards > 0 ? bucket_info.num_shards : 1);