@@ -620,6 +620,7 @@ OPTION(rbd_cache_block_writes_upfront, OPT_BOOL, false) // whether to block writ
OPTION(rbd_concurrent_management_ops, OPT_INT, 10) // how many operations can be in flight for a management operation like deleting or resizing an image
OPTION(rbd_balance_snap_reads, OPT_BOOL, false)
OPTION(rbd_localize_snap_reads, OPT_BOOL, false)
+OPTION(rbd_clone_cor, OPT_BOOL, false)//copy-on-read option for rbd clones
/*
* The following options change the behavior for librbd's image creation methods that
@@ -59,6 +59,7 @@ namespace librbd {
ldout(m_ictx->cct, 20) << "should_complete " << this << " " << m_oid << " " << m_object_off << "~" << m_object_len
<< " r = " << r << dendl;
+ bool COR = m_ictx->cct->_conf->rbd_clone_cor;
if (!m_tried_parent && r == -ENOENT) {
RWLock::RLocker l(m_ictx->snap_lock);
RWLock::RLocker l2(m_ictx->parent_lock);