From: Ronen Friedman Date: Thu, 4 Aug 2022 16:24:53 +0000 (+0000) Subject: osd: faster versions of SnapMapper::get_legacy_prefix() & make_purged_snap_key() X-Git-Tag: v18.0.0~311^2~1 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=2586468c8b818fdb1d4da26f862bc3f7701c4547;p=ceph.git osd: faster versions of SnapMapper::get_legacy_prefix() & make_purged_snap_key() Using fmtlib, and treating the size of uint64_t as a known quantity. Signed-off-by: Ronen Friedman --- diff --git a/src/osd/SnapMapper.cc b/src/osd/SnapMapper.cc index 26ace62a7382e..9936808c10d2d 100644 --- a/src/osd/SnapMapper.cc +++ b/src/osd/SnapMapper.cc @@ -419,10 +419,10 @@ int SnapMapper::get_snaps( string SnapMapper::make_purged_snap_key(int64_t pool, snapid_t last) { - char k[80]; - snprintf(k, sizeof(k), "%s_%llu_%016llx", PURGED_SNAP_PREFIX, - (unsigned long long)pool, (unsigned long long)last); - return k; + return fmt::sprintf("%s_%lld_%016llx", + PURGED_SNAP_PREFIX, + pool, + last); } void SnapMapper::make_purged_snap_key_value( @@ -639,12 +639,9 @@ void SnapMapper::Scrubber::run() string SnapMapper::get_legacy_prefix(snapid_t snap) { - char buf[100]; - int len = snprintf( - buf, sizeof(buf), - "%.*X_", - (int)(sizeof(snap)*2), static_cast(snap)); - return LEGACY_MAPPING_PREFIX + string(buf, len); + return fmt::sprintf("%s%.16X_", + LEGACY_MAPPING_PREFIX, + snap); } string SnapMapper::to_legacy_raw_key(