From 6fc57159ef7e5b46e0198db98fff5c7ac8f8880c 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 --- 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 e619e968114..f536b7609e8 100644 --- a/src/rgw/driver/rados/rgw_sal_rados.cc +++ b/src/rgw/driver/rados/rgw_sal_rados.cc @@ -1955,7 +1955,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