From: David Zafman Date: Fri, 17 Feb 2017 20:27:36 +0000 (-0800) Subject: bluestore: Fix BlueStore::statfs available amount to not include bluefs min reserved X-Git-Tag: v12.0.1~168^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=72d83f848a35e8831d66e8529c4e26f51e845da6;p=ceph.git bluestore: Fix BlueStore::statfs available amount to not include bluefs min reserved This fixes OSD crashes because checking osd_failsafe_full_ratio won't work without accurate statfs information. Signed-off-by: David Zafman --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 8cd31a3ec48d..5f9649a5feab 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -5424,8 +5424,10 @@ int BlueStore::statfs(struct store_statfs_t *buf) buf->available = alloc->get_free(); if (bluefs) { - // part of our shared device is "free" accordingly to BlueFS - buf->available += bluefs->get_free(bluefs_shared_bdev); + // part of our shared device is "free" according to BlueFS + // Don't include bluestore_bluefs_min because that space can't + // be used for any other purpose. + buf->available += bluefs->get_free(bluefs_shared_bdev) - cct->_conf->bluestore_bluefs_min; // include dedicated db, too, if that isn't the shared device. if (bluefs_shared_bdev != BlueFS::BDEV_DB) {