@@ -197,50 +197,54 @@ seastar::future<> OSD::mkfs(
197197 std::string osdspec_affinity)
198198{
199199 LOG_PREFIX (OSD::mkfs);
200- return store.start ().then ([&store, FNAME, osd_uuid] {
201- return store.mkfs (osd_uuid).handle_error (
202- crimson::stateful_ec::assert_failure ([FNAME] (const auto & ec) {
203- ERROR (" error creating empty object store in {}: ({}) {}" ,
204- local_conf ().get_val <std::string>(" osd_data" ),
205- ec.value (), ec.message ());
206- }));
207- }).then ([&store, FNAME] {
208- return store.mount ().handle_error (
209- crimson::stateful_ec::assert_failure ([FNAME](const auto & ec) {
210- ERROR (" error mounting object store in {}: ({}) {}" ,
211- local_conf ().get_val <std::string>(" osd_data" ),
212- ec.value (), ec.message ());
213- }));
214- }).then ([&store] {
215- return open_or_create_meta_coll (store);
216- }).then ([&store, whoami, cluster_fsid](auto meta_coll) {
200+
201+ co_await store.start ();
202+
203+ co_await store.mkfs (osd_uuid).handle_error (
204+ crimson::stateful_ec::assert_failure ([FNAME] (const auto & ec) {
205+ ERROR (" error creating empty object store in {}: ({}) {}" ,
206+ local_conf ().get_val <std::string>(" osd_data" ),
207+ ec.value (), ec.message ());
208+ }));
209+
210+ co_await store.mount ().handle_error (
211+ crimson::stateful_ec::assert_failure ([FNAME](const auto & ec) {
212+ ERROR (" error mounting object store in {}: ({}) {}" ,
213+ local_conf ().get_val <std::string>(" osd_data" ),
214+ ec.value (), ec.message ());
215+ }));
216+
217+ {
218+ auto meta_coll = co_await open_or_create_meta_coll (store);
219+
217220 OSDSuperblock superblock;
218221 superblock.cluster_fsid = cluster_fsid;
219222 superblock.osd_fsid = store.get_fsid ();
220223 superblock.whoami = whoami;
221224 superblock.compat_features = get_osd_initial_compat_set ();
222- return _write_superblock (
225+ co_await _write_superblock (
223226 store, std::move (meta_coll), std::move (superblock));
224- }).then ([&store, cluster_fsid] {
225- return store.write_meta (" ceph_fsid" , cluster_fsid.to_string ());
226- }).then ([&store] {
227- return store.write_meta (" magic" , CEPH_OSD_ONDISK_MAGIC);
228- }).then ([&store, whoami] {
229- return store.write_meta (" whoami" , std::to_string (whoami));
230- }).then ([&store] {
231- return _write_key_meta (store);
232- }).then ([&store, osdspec_affinity=std::move (osdspec_affinity)] {
233- return store.write_meta (" osdspec_affinity" , osdspec_affinity);
234- }).then ([&store] {
235- return store.write_meta (" ready" , " ready" );
236- }).then ([&store, whoami, cluster_fsid] {
237- fmt::print (" created object store {} for osd.{} fsid {}\n " ,
238- local_conf ().get_val <std::string>(" osd_data" ),
239- whoami, cluster_fsid);
240- return store.umount ();
241- }).then ([&store] {
242- return store.stop ();
243- });
227+ }
228+
229+ co_await store.write_meta (" ceph_fsid" , cluster_fsid.to_string ());
230+
231+ co_await store.write_meta (" magic" , CEPH_OSD_ONDISK_MAGIC);
232+
233+ co_await store.write_meta (" whoami" , std::to_string (whoami));
234+
235+ co_await _write_key_meta (store);
236+
237+ co_await store.write_meta (" osdspec_affinity" , osdspec_affinity);
238+
239+ co_await store.write_meta (" ready" , " ready" );
240+
241+ INFO (" created object store {} for osd.{} fsid {}\n " ,
242+ local_conf ().get_val <std::string>(" osd_data" ),
243+ whoami, cluster_fsid);
244+ co_await store.umount ();
245+
246+ co_await store.stop ();
247+ co_return ;
244248}
245249
246250seastar::future<> OSD::_write_superblock (
0 commit comments