From: Kefu Chai Date: Fri, 18 Jan 2019 04:27:30 +0000 (+0800) Subject: crimson/osd: add mkfs() X-Git-Tag: v14.1.0~356^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F25304%2Fhead;p=ceph.git crimson/osd: add mkfs() we will need it for preparing crimson-osd without help of ceph-osd. Signed-off-by: Kefu Chai --- diff --git a/src/crimson/osd/osd.cc b/src/crimson/osd/osd.cc index e51182eeccc2..72ac133c0d1b 100644 --- a/src/crimson/osd/osd.cc +++ b/src/crimson/osd/osd.cc @@ -46,6 +46,17 @@ OSD::OSD(int id, uint32_t nonce) OSD::~OSD() = default; +seastar::future<> OSD::mkfs(uuid_d cluster_fsid, int whoami) +{ + CyanStore store{local_conf().get_val("osd_data")}; + uuid_d osd_fsid; + osd_fsid.generate_random(); + store.write_meta("fsid", osd_fsid.to_string()); + store.write_meta("ceph_fsid", cluster_fsid.to_string()); + store.write_meta("whoami", std::to_string(whoami)); + return seastar::now(); +} + seastar::future<> OSD::start() { logger().info("start"); diff --git a/src/crimson/osd/osd.h b/src/crimson/osd/osd.h index fe6ba3d652b1..9a1ada416ad4 100644 --- a/src/crimson/osd/osd.h +++ b/src/crimson/osd/osd.h @@ -61,6 +61,8 @@ public: OSD(int id, uint32_t nonce); ~OSD(); + static seastar::future<> mkfs(uuid_d fsid, int whoami); + seastar::future<> start(); seastar::future<> stop();