From: Iain Buclaw Date: Wed, 4 Mar 2020 14:32:43 +0000 (+0100) Subject: tools/rados: Set locator key when exporting or importing a pool X-Git-Tag: wip-pdonnell-testing-20200918.022351~460^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=ecb2df9177f30213b3ff48e76e6fe31fcbb430a7;p=ceph-ci.git tools/rados: Set locator key when exporting or importing a pool Fixes the following error when exporting a pool that contains objects with a locator key set: error getting xattr set [object name]: (2) No such file or directory error from export: (2) No such file or directory Fixes: https://tracker.ceph.com/issues/46824 Signed-off-by: Iain Buclaw --- diff --git a/src/tools/rados/PoolDump.cc b/src/tools/rados/PoolDump.cc index 747e9c62dbc..9bfafa107dc 100644 --- a/src/tools/rados/PoolDump.cc +++ b/src/tools/rados/PoolDump.cc @@ -70,6 +70,7 @@ int PoolDump::dump(IoCtx *io_ctx) const uint32_t op_size = 4096 * 1024; uint64_t offset = 0; io_ctx->set_namespace(i->get_nspace()); + io_ctx->locator_set_key(i->get_locator()); while (true) { bufferlist outdata; r = io_ctx->read(oid, outdata, op_size, offset); diff --git a/src/tools/rados/RadosImport.cc b/src/tools/rados/RadosImport.cc index afc04cf309e..0a901b70945 100644 --- a/src/tools/rados/RadosImport.cc +++ b/src/tools/rados/RadosImport.cc @@ -194,6 +194,7 @@ int RadosImport::get_object_rados(librados::IoCtx &ioctx, bufferlist &bl, bool n } ioctx.set_namespace(ob.hoid.hobj.get_namespace()); + ioctx.locator_set_key(ob.hoid.hobj.get_key()); string msg("Write"); skipping = false;