#!/bin/sh # A script to cleanup resource leases auto-created by # the libvirt lock plugin for sanlock # Copyright (C) 2011, 2013 Red Hat, Inc. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library. If not, see # . verbose=1 if test "x$1" = "x-q" ; then verbose=0 fi LOCKSPACE="__LIBVIRT__DISKS__" LOCKDIR=`augtool get '/files@sysconfdir@/libvirt/qemu-sanlock.conf/disk_lease_dir'` LOCKDIR=${LOCKDIR#* = } if test $? != 0 || test "x$LOCKDIR" = "x" ; then LOCKDIR="@localstatedir@/lib/libvirt/sanlock" fi notify() { test $verbose = 1 || return if test "x$1" = "x-n"; then shift printf %s "$*" else printf %s\\n "$*" fi } cd "$LOCKDIR" || exit 1 for MD5 in * do if test $MD5 != '*' && test $MD5 != $LOCKSPACE ; then RESOURCE="$LOCKSPACE:$MD5:$LOCKDIR/$MD5:0" notify -n "Cleanup: $RESOURCE " sanlock client command -r $RESOURCE -c /bin/rm -f "$LOCKDIR/$MD5" 2>/dev/null if test $? = 0 ; then notify "PASS" else notify "FAIL" fi fi done exit 0