From: Myoungwon Oh Date: Wed, 8 Jan 2025 13:25:59 +0000 (+0000) Subject: crimson/osd: use set_alloc_hint when creating an object for PGLog X-Git-Tag: v20.0.0~24^2~17 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=14e6ed80d665c0c70ef650419cc5649d77bc230a;p=ceph.git crimson/osd: use set_alloc_hint when creating an object for PGLog Signed-off-by: Myoungwon Oh --- diff --git a/src/common/ceph_strings.cc b/src/common/ceph_strings.cc index 6204a9ca3b893..de50a987f8382 100644 --- a/src/common/ceph_strings.cc +++ b/src/common/ceph_strings.cc @@ -227,6 +227,8 @@ const char *ceph_osd_alloc_hint_flag_name(int f) return "compressible"; case CEPH_OSD_ALLOC_HINT_FLAG_INCOMPRESSIBLE: return "incompressible"; + case CEPH_OSD_ALLOC_HINT_FLAG_LOG: + return "log"; default: return "???"; } diff --git a/src/include/rados.h b/src/include/rados.h index 1fb86be947e60..94ad950fdfe72 100644 --- a/src/include/rados.h +++ b/src/include/rados.h @@ -564,6 +564,7 @@ enum { CEPH_OSD_ALLOC_HINT_FLAG_LONGLIVED = 128, CEPH_OSD_ALLOC_HINT_FLAG_COMPRESSIBLE = 256, CEPH_OSD_ALLOC_HINT_FLAG_INCOMPRESSIBLE = 512, + CEPH_OSD_ALLOC_HINT_FLAG_LOG = 1024, }; const char *ceph_osd_alloc_hint_flag_name(int f); diff --git a/src/include/rados/librados.h b/src/include/rados/librados.h index 858804c3a03fa..5a8bb36eb65b8 100644 --- a/src/include/rados/librados.h +++ b/src/include/rados/librados.h @@ -155,6 +155,7 @@ enum { LIBRADOS_ALLOC_HINT_FLAG_LONGLIVED = 128, LIBRADOS_ALLOC_HINT_FLAG_COMPRESSIBLE = 256, LIBRADOS_ALLOC_HINT_FLAG_INCOMPRESSIBLE = 512, + LIBRADOS_ALLOC_HINT_FLAG_LOG = 1024, }; /** @} */ diff --git a/src/include/rados/librados.hpp b/src/include/rados/librados.hpp index 0f5a9036effc5..58eef6789e1e1 100644 --- a/src/include/rados/librados.hpp +++ b/src/include/rados/librados.hpp @@ -306,6 +306,7 @@ inline namespace v14_2_0 { ALLOC_HINT_FLAG_LONGLIVED = 128, ALLOC_HINT_FLAG_COMPRESSIBLE = 256, ALLOC_HINT_FLAG_INCOMPRESSIBLE = 512, + ALLOC_HINT_FLAG_LOG = 1024, }; /* diff --git a/src/osd/osd_types.cc b/src/osd/osd_types.cc index 048f5aa0009cb..8dde420b8d959 100644 --- a/src/osd/osd_types.cc +++ b/src/osd/osd_types.cc @@ -7425,6 +7425,10 @@ void init_pg_ondisk( ghobject_t pgmeta_oid(pgid.make_pgmeta_oid()); t.touch(coll, pgmeta_oid); + if (pool && pool->is_crimson()) { + t.set_alloc_hint(coll, pgmeta_oid, + 0, 0, CEPH_OSD_ALLOC_HINT_FLAG_LOG); + } map values; __u8 struct_v = pg_latest_struct_v; encode(struct_v, values[string(infover_key)]);