[libvirt] [PATCH v2] sanlock: Retry after EINPROGRESS

Eric Blake eblake at redhat.com
Thu Nov 15 15:48:01 UTC 2012


On 11/15/2012 03:39 AM, Michal Privoznik wrote:
> It may take some time for sanlock to add a lockspace. And if user
> restart libvirtd service meanwhile, the fresh daemon can fail adding
> the same lockspace with EINPROGRESS. Recent sanlock has
> sanlock_inq_lockspace() function which should block until lockspace
> changes state. If we are building against older sanlock we should
> retry a few times before claiming an error. This issue can be easily
> reproduced:
> 
> for i in {1..1000} ; do echo $i; service libvirtd restart; sleep 2; done
> 20
> Stopping libvirtd daemon:                                  [FAILED]
> Starting libvirtd daemon:                                  [  OK  ]
> 21
> Stopping libvirtd daemon:                                  [  OK  ]
> Starting libvirtd daemon:                                  [  OK  ]
> 22
> Stopping libvirtd daemon:                                  [  OK  ]
> Starting libvirtd daemon:                                  [  OK  ]
> 
>  error : virLockManagerSanlockSetupLockspace:334 : Unable to add
>  lockspace /var/lib/libvirt/sanlock/__LIBVIRT__DISKS__: Operation now in
>  progress
> ---

ACK.

-- 
Eric Blake   eblake at redhat.com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 617 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20121115/e0633185/attachment-0001.sig>


More information about the libvir-list mailing list