From: Zhang Song Date: Tue, 26 Mar 2024 03:52:15 +0000 (+0800) Subject: crimson/osd: create secondary devices when mkfs X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d14b0d14461e7c5bf905bbc5769855ca59544791;p=ceph-ci.git crimson/osd: create secondary devices when mkfs Signed-off-by: Zhang Song Signed-off-by: Xuehan Xu --- diff --git a/src/common/options/crimson.yaml.in b/src/common/options/crimson.yaml.in index 3ef4dc683ea..efa0fe550c3 100644 --- a/src/common/options/crimson.yaml.in +++ b/src/common/options/crimson.yaml.in @@ -249,6 +249,11 @@ options: level: advanced desc: Size in bytes per second written to the main devices, 0 incidates no limit default: 0 +- name: seastore_secondary_devices_count + type: size + level: dev + desc: create secondary devices during mkfs + default: 0 - name: seastore_secondary_device_type type: str level: dev diff --git a/src/crimson/osd/main.cc b/src/crimson/osd/main.cc index 86bbbe1ab98..f44a454138e 100644 --- a/src/crimson/osd/main.cc +++ b/src/crimson/osd/main.cc @@ -264,6 +264,15 @@ int main(int argc, const char* argv[]) // use a random osd uuid if not specified osd_uuid.generate_random(); } + if (auto c = local_conf().get_val("seastore_secondary_devices_count"); + c != 0) { + auto root = local_conf().get_val("osd_data"); + for (size_t i = 1; i <= c; i++) { + auto path = fmt::format("{}/block.{}", root, i); + seastar::touch_directory(path).get(); + } + seastar::sync_directory(root).get(); + } osd.mkfs( *store, whoami,