diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index f1720810bda..667f4d549cc 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -2739,6 +2739,17 @@ bool BlueStore::collection_empty(coll_t cid) return empty; } +int BlueStore::collection_bits(coll_t cid) +{ + dout(15) << __func__ << " " << cid << dendl; + CollectionRef c = _get_collection(cid); + if (!c) + return -ENOENT; + RWLock::RLocker l(c->lock); + dout(10) << __func__ << " " << cid << " = " << c->cnode.bits << dendl; + return c->cnode.bits; +} + int BlueStore::collection_list( coll_t cid, ghobject_t start, ghobject_t end, bool sort_bitwise, int max, diff --git a/src/os/bluestore/BlueStore.h b/src/os/bluestore/BlueStore.h index 08d77cdc00f..0e5424dd6de 100644 --- a/src/os/bluestore/BlueStore.h +++ b/src/os/bluestore/BlueStore.h @@ -642,6 +642,7 @@ public: int list_collections(vector& ls); bool collection_exists(coll_t c); bool collection_empty(coll_t c); + int collection_bits(coll_t c); int collection_list(coll_t cid, ghobject_t start, ghobject_t end, bool sort_bitwise, int max,