On 13:44 Wed 22 Jul, Ilya Dryomov wrote:
On Wed, Jul 22, 2020 at 12:34 PM Liu, Changcheng <changcheng.liu@intel.com> wrote:
On 11:10 Wed 22 Jul, Ilya Dryomov wrote:
On Wed, Jul 22, 2020 at 7:46 AM Liu, Changcheng <changcheng.liu@intel.com> wrote:
If you want to disable transparent lock transitions, you need to acquire the lock manually with RBD_LOCK_MODE_EXCLUSIVE: @Ilya: Thanks for your info. The transparent lock transition could be disabled by acquring the lock with RBD_LOCK_MODE_EXCLUSIVE.
After "first" process acquire the lock with "RBD_LOCK_MODE_EXCLUSIVE", is it possible for another process to be notified that the lock is released whatever the "first" process exit gracefully or be killed?
No. Theoretically, "second" could block, waiting for the lock to be released by "first" (whether gracefully or not), but I don't think librbd does that. (And if it did, it would have been based on periodic retries, not notifies, because if the process is killed there is nowhere for that notify to come from.)
@Ilya: The curious thing is that the "second" process could be notified if I remove the lock manually i.e. use "rbd lock rm" command. --Thanks Changcheng