]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd: use set_alloc_hint when creating an object for PGLog
authorMyoungwon Oh <ohmyoungwon@gmail.com>
Wed, 8 Jan 2025 13:25:59 +0000 (13:25 +0000)
committermyoungwon oh <ohmyoungwon@gmail.com>
Thu, 20 Feb 2025 12:26:58 +0000 (12:26 +0000)
Signed-off-by: Myoungwon Oh <myoungwon.oh@samsung.com>
src/common/ceph_strings.cc
src/include/rados.h
src/include/rados/librados.h
src/include/rados/librados.hpp
src/osd/osd_types.cc

index 6204a9ca3b8931fa10810076218e0c9258ea7f24..de50a987f83825707a950144d2fcfe4d1bc2bab5 100644 (file)
@@ -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 "???";
        }
index 1fb86be947e609776c5272c32d9d7b8ae269ebd7..94ad950fdfe72acb534049c37f49da3210c2cccf 100644 (file)
@@ -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);
index 858804c3a03fa0f508989c6a3de01b596249f7f5..5a8bb36eb65b84ddcf0de7b467631df4bc4ca95d 100644 (file)
@@ -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,
 };
 /** @} */
 
index 0f5a9036effc533e9a7a5defd4db458a8f9a6c6e..58eef6789e1e1e6efad6e4ed5de51c78911061f0 100644 (file)
@@ -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,
   };
 
   /*
index 048f5aa0009cbe5a41200f32e9a85d91a07f38a4..8dde420b8d95930b82186291be7c7e0614d680dd 100644 (file)
@@ -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<string,bufferlist> values;
   __u8 struct_v = pg_latest_struct_v;
   encode(struct_v, values[string(infover_key)]);