rgw: update data log even if canceling index operation

Need to update the data log anyway, so that it reflects that there were
changes in the bucket index log.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
This commit is contained in:
Yehuda Sadeh 2016-03-21 16:49:20 -07:00
parent 8cb14783e4
commit 9bd7bd8899

View File

@ -8587,7 +8587,20 @@ int RGWRados::Bucket::UpdateIndex::cancel()
ldout(store->ctx(), 5) << "failed to get BucketShard object: ret=" << ret << dendl;
return ret;
}
return store->cls_obj_complete_cancel(*bs, optag, obj, bilog_flags);
ret = store->cls_obj_complete_cancel(*bs, optag, obj, bilog_flags);
/*
* need to update data log anyhow, so that whoever follows needs to update its internal markers
* for following the specific bucket shard log. Otherwise they end up staying behind, and users
* have no way to tell that they're all caught up
*/
int r = store->data_log->add_entry(bs->bucket, bs->shard_id);
if (r < 0) {
lderr(store->ctx()) << "ERROR: failed writing data log" << dendl;
}
return ret;
}
int RGWRados::Object::Read::read(int64_t ofs, int64_t end, bufferlist& bl)