mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-03 05:18:29 +03:00
lvmlockd: avoid blocking in sanlock_convert
Use the same flag as sanlock_acquire() for the same purpose. sanlock_convert can block like acquire when doing a sh to ex conversion.
This commit is contained in:
parent
94632eb155
commit
bd893348b4
@ -1688,6 +1688,16 @@ int lm_convert_sanlock(struct lockspace *ls, struct resource *r,
|
||||
if (daemon_test)
|
||||
return 0;
|
||||
|
||||
/*
|
||||
* Don't block waiting for a failed lease to expire since it causes
|
||||
* sanlock_convert to block for a long time, which would prevent this
|
||||
* thread from processing other lock requests.
|
||||
*
|
||||
* FIXME: SANLK_CONVERT_OWNER_NOWAIT is the same as SANLK_ACQUIRE_OWNER_NOWAIT.
|
||||
* Change to use the CONVERT define when the latest sanlock version has it.
|
||||
*/
|
||||
flags |= SANLK_ACQUIRE_OWNER_NOWAIT;
|
||||
|
||||
rv = sanlock_convert(lms->sock, -1, flags, rs);
|
||||
if (rv == -EAGAIN) {
|
||||
/* FIXME: When could this happen? Should something different be done? */
|
||||
|
Loading…
Reference in New Issue
Block a user