From: Sage Weil Date: Wed, 29 Mar 2017 22:32:45 +0000 (-0400) Subject: os/bluestore: trim cache during fsck X-Git-Tag: v12.0.2~167^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c67e9e2530afd0f1292c691e9b0e7409e1ff8549;p=ceph.git os/bluestore: trim cache during fsck Signed-off-by: Sage Weil --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index d0014d542f01..248d32d5e766 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -5012,6 +5012,12 @@ int BlueStore::fsck(bool deep) if (r < 0) goto out_alloc; + mempool_thread.init(); + + r = _deferred_replay(); + if (r < 0) + goto out_scan; + used_blocks.resize(bdev->get_size() / block_size); apply( 0, BLUEFS_START, block_size, used_blocks, "0~BLUEFS_START", @@ -5031,8 +5037,7 @@ int BlueStore::fsck(bool deep) } r = bluefs->fsck(); if (r < 0) { - flush_cache(); - goto out_alloc; + goto out_scan; } if (r > 0) errors += r; @@ -5329,6 +5334,7 @@ int BlueStore::fsck(bool deep) used_omap_head.insert(o->onode.nid); } } + c->trim_cache(); } } dout(1) << __func__ << " checking shared_blobs" << dendl; @@ -5472,6 +5478,7 @@ int BlueStore::fsck(bool deep) } out_scan: + mempool_thread.shutdown(); flush_cache(); out_alloc: _close_alloc();