]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
rgw: fix index update in dir_suggest_changes
authorTianshan Qu <tianshan@xsky.com>
Thu, 24 May 2018 13:02:39 +0000 (21:02 +0800)
committerTianshan Qu <tianshan@xsky.com>
Mon, 11 Jun 2018 12:39:40 +0000 (20:39 +0800)
commit8304c3e934d667fb89dbe0a79b252a5610b5eb62
treee5e66c0cf765b69e3c3a0eda310c615c5d9efc4e
parent82ecf64ea83fed7dfda8b162e63268ee9cb8b75a
rgw: fix index update in dir_suggest_changes

1.do nothing if the index is no longer exists in cls rgw_dir_suggest_changes,
whatever the pending state we got in check_disk_state, to avoid recreate
index when list race with delete. the situations:
* if dir_suggest_changes is done before complete op in Delete, the index
will be deleted finally.
* if dir_suggest_changes is done after complete op in Delete, the index
will no exists and do nothing.
2.stale pending write op's index is existent but exists field is false,
so remove cur_disk.exists check in op CEPH_RGW_UPDATE, make it recover the
situation again.

fixes: http://tracker.ceph.com/issues/24280

Signed-off-by: Tianshan Qu <tianshan@xsky.com>
src/cls/rgw/cls_rgw.cc