From 84f1e6ff3577e10f86cede6fa226759ec091d5d2 Mon Sep 17 00:00:00 2001 From: Matt Benjamin Date: Sat, 27 Apr 2024 10:24:25 -0400 Subject: [PATCH] return parts_count from read_op::prepare whenever applicable * fix to deal with parts_count == 1 asymmetry Signed-off-by: Matt Benjamin --- src/rgw/driver/rados/rgw_rados.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/rgw/driver/rados/rgw_rados.cc b/src/rgw/driver/rados/rgw_rados.cc index 088435d857382..f394a3e6ec0ba 100644 --- a/src/rgw/driver/rados/rgw_rados.cc +++ b/src/rgw/driver/rados/rgw_rados.cc @@ -6747,6 +6747,12 @@ int RGWRados::Object::Read::prepare(optional_yield y, const DoutPrefixProvider * if (r < 0) return r; + if (manifest /* params.parts_count */) { + RGWObjManifest::obj_iterator end = manifest->obj_end(dpp); + auto cur_part_id = end.get_cur_part_id(); + params.parts_count = (cur_part_id == 1) ? 1 : cur_part_id - 1;; + } + if (!astate->exists) { return -ENOENT; } -- 2.39.5