> > when you enable the "exclusive-lock" feature, only one RBD client is able
> > to modify the image while the lock is held.
> 
> means
> 
>   rbd_lock_exclusive
> 
> > However, that won't stop other RBD clients from *requesting* that
> > maintenance operations be performed on the image (e.g. snapshot, resize).
> 
> means
> 
>   rbd_lock_shared
> 
> Correct?
> 

There are two RBD locking features: the legacy RBD CLI lock and the new 
exclusive-lock feature bit.

The legacy lock was managed via the 'rbd lock add/remove' commands and was 
purely advisory / not enforced within librbd.  A possible use case for such 
locking would be for failover where prior to using the image you lock it.  If 
someone else owns the lock, you could blacklist that client, break their lock, 
and take the lock for yourself.  

The new exclusive-lock feature is managed via 'rbd feature enable/disable' 
commands and does ensure that only the current lock owner can manipulate the 
RBD image. It was introduced to support the RBD object map feature (which can 
track which backing RADOS objects are in-use in order to activate some 
optimizations) and the future RBD journal and mirroring features.

--

Jason Dillaman
_______________________________________________
ceph-users mailing list
[email protected]
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to