[libvirt] [PATCH] Release only specific sanlock resource

Daniel P. Berrange berrange at redhat.com
Mon Aug 13 16:17:31 UTC 2012


On Mon, Aug 13, 2012 at 12:54:38PM +0200, Frido Roose wrote:
> This is a patch for bug 826704
> All sanlock resources get released when hot-dettaching a disk from the domain
> because virLockManagerSanlockRelease uses the wrong function parameters/flags.
> With the patch only the resources that should be released are cleaned up.
> 
> Signed-off-by: Frido Roose <frido.roose at gmail.com>
> ---
>  src/locking/lock_driver_sanlock.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/locking/lock_driver_sanlock.c b/src/locking/lock_driver_sanlock.c
> index 7c71af3..0625d09 100644
> --- a/src/locking/lock_driver_sanlock.c
> +++ b/src/locking/lock_driver_sanlock.c
> @@ -814,7 +814,7 @@ static int virLockManagerSanlockRelease(virLockManagerPtr lock,
>                                          unsigned int flags)
>  {
>      virLockManagerSanlockPrivatePtr priv = lock->privateData;
> -    int res_count;
> +    int res_count=priv->res_count;
>      int rv;
>  
>      virCheckFlags(0, -1);
> @@ -834,7 +834,7 @@ static int virLockManagerSanlockRelease(virLockManagerPtr lock,
>              VIR_FREE(*state);
>      }
>  
> -    if ((rv = sanlock_release(-1, priv->vm_pid, SANLK_REL_ALL, 0, NULL)) < 0) {
> +    if ((rv = sanlock_release(-1, priv->vm_pid, 0, res_count, priv->res_args)) < 0) {
>          if (rv <= -200)
>              virReportError(VIR_ERR_INTERNAL_ERROR,
>                             _("Failed to release lock: error %d"), rv);

ACK

Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list