]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
rgw: async_defer_chain() that detects transition to cls_rgw_gc
authorCasey Bodley <cbodley@redhat.com>
Tue, 24 Sep 2019 18:44:44 +0000 (14:44 -0400)
committerPritha Srivastava <prsrivas@redhat.com>
Wed, 16 Oct 2019 03:53:38 +0000 (09:23 +0530)
commitad3a8b51f8287b6f888b533de3f0f62c6b955606
treefd588234fb444072481d83913fb6c15dfe84a1e7
parent7933952cdf810e7f6ad9fb466ce77156594a3bba
rgw: async_defer_chain() that detects transition to cls_rgw_gc

this replaces the defer_chain() function with optional asynchrony with
one that's only async. in the pre-transition case, it arranges for a
librados callback to detect the transition and retry against cls_rgw_gc

the RGWRados::gc_aio_operate() interface now requires the caller to pass
in an AioCompletion to support async_defer_chain()'s custom callback

Signed-off-by: Casey Bodley <cbodley@redhat.com>
src/cls/rgw_gc/cls_rgw_gc_client.cc
src/cls/rgw_gc/cls_rgw_gc_client.h
src/rgw/rgw_gc.cc
src/rgw/rgw_gc.h
src/rgw/rgw_multi.cc
src/rgw/rgw_rados.cc
src/rgw/rgw_rados.h