discard is added to BlueFS.cc and BlueStore.cc
Signed-off-by: Taeksang Kim <voidbag@gmail.com>
for (unsigned i = 0; i < to_release.size(); ++i) {
if (!to_release[i].empty()) {
/* OK, now we have the guarantee alloc[i] won't be null. */
+ for (auto p = to_release[i].begin(); p != to_release[i].end(); ++p) {
+ bdev[i]->discard(p.get_start(), p.get_len());
+ }
alloc[i]->release(to_release[i]);
}
}
{
// it's expected we're called with lazy_release_lock already taken!
if (likely(!cct->_conf->bluestore_debug_no_reuse_blocks)) {
+ for (interval_set<uint64_t>::iterator p = txc->released.begin();
+ p != txc->released.end();
+ ++p) {
+ bdev->discard(p.get_start(), p.get_len());
+ }
dout(10) << __func__ << " " << txc << " " << std::hex
<< txc->released << std::dec << dendl;
alloc->release(txc->released);