OPTION(rbd_blacklist_on_break_lock, OPT_BOOL, true) // whether to blacklist clients whose lock was broken
OPTION(rbd_blacklist_expire_seconds, OPT_INT, 0) // number of seconds to blacklist - set to 0 for OSD default
OPTION(rbd_request_timed_out_seconds, OPT_INT, 30) // number of seconds before maint request times out
+OPTION(rbd_skip_partial_discard, OPT_BOOL, false) // when trying to discard a range inside an object, set to true to skip zeroing the range.
/*
* The following options change the behavior for librbd's image creation methods that
req = new AioTruncate(ictx, p->oid.name, p->objectno, p->offset, objectx, object_overlap,
snapc, snap_id, req_comp);
} else {
- req = new AioZero(ictx, p->oid.name, p->objectno, p->offset, p->length,
- objectx, object_overlap,
- snapc, snap_id, req_comp);
+ if(ictx->cct->_conf->rbd_skip_partial_discard) {
+ continue;
+ } else {
+ req = new AioZero(ictx, p->oid.name, p->objectno, p->offset, p->length,
+ objectx, object_overlap,
+ snapc, snap_id, req_comp);
+ }
}
r = req->send();