]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: use cmd_getval_cast_or() to fetch shard-id
authorRonen Friedman <rfriedma@redhat.com>
Wed, 12 Mar 2025 09:28:37 +0000 (04:28 -0500)
committerRonen Friedman <rfriedma@redhat.com>
Wed, 19 Mar 2025 07:18:05 +0000 (02:18 -0500)
as that interface alleviates the need to cast shard_id_t::NO_SHARD
back and forth to/from int.

Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
src/osd/OSD.cc

index 5db2e2204edb54eb1471850ff071e8f2f1100378..5081143ca3f9f39846096491a2881e35b16bc707 100644 (file)
@@ -193,6 +193,7 @@ using ceph::make_mutex;
 using namespace ceph::osd::scheduler;
 using TOPNSPC::common::cmd_getval;
 using TOPNSPC::common::cmd_getval_or;
+using TOPNSPC::common::cmd_getval_cast_or;
 using namespace std::literals;
 
 static ostream& _prefix(std::ostream* _dout, int whoami, epoch_t epoch) {
@@ -6582,10 +6583,10 @@ void TestOpsSocketHook::test_ops(OSDService *service, ObjectStore *store,
       return;
     }
 
-    int64_t shardid64 = cmd_getval_or<int64_t>(cmdmap, "shardid", static_cast<int64_t>(shard_id_t::NO_SHARD));
-    shard_id_t shardid = shard_id_t(static_cast<int8_t>(shardid64));
-
-    hobject_t obj(object_t(objname), string(""), CEPH_NOSNAP, rawpg.ps(), pool, nspace);
+    shard_id_t shardid =
+       cmd_getval_cast_or<int64_t>(cmdmap, "shardid", shard_id_t::NO_SHARD);
+    hobject_t obj(
+       object_t(objname), ""s, CEPH_NOSNAP, rawpg.ps(), pool, nspace);
     ghobject_t gobj(obj, ghobject_t::NO_GEN, shardid);
     spg_t pgid(curmap->raw_pg_to_pg(rawpg), shardid);
     if (curmap->pg_is_ec(rawpg)) {