From b18c860b9c186a55503e66687fe12a1b35f1bdf8 Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Mon, 20 Feb 2023 17:27:28 -0500 Subject: [PATCH] rgw/rados: RadosReadOp::prepare only updates object instance when called on a versioned object, prepare() may follow olh and look up a different object instance but when called on a multipart part, we should not overwrite the original object name with the part's object name (of the form mymultipart.2~_XLFNqOW0NuiALg7q4-Hi_7hdtAkZUH.1) Signed-off-by: Casey Bodley (cherry picked from commit 6fc57159ef7e5b46e0198db98fff5c7ac8f8880c) --- src/rgw/driver/rados/rgw_sal_rados.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rgw/driver/rados/rgw_sal_rados.cc b/src/rgw/driver/rados/rgw_sal_rados.cc index ab3d0c4263902..4150e71047979 100644 --- a/src/rgw/driver/rados/rgw_sal_rados.cc +++ b/src/rgw/driver/rados/rgw_sal_rados.cc @@ -2230,7 +2230,7 @@ int RadosObject::RadosReadOp::prepare(optional_yield y, const DoutPrefixProvider if (ret < 0) return ret; - source->set_key(parent_op.state.obj.key); + source->set_instance(parent_op.state.obj.key.instance); source->set_obj_size(obj_size); return ret; -- 2.39.5