From: Chunyan Liu Date: Mon, 13 Dec 2010 17:39:27 +0000 (+0000) Subject: Fix /vm/uuid xenstore leak on tapdisk2 device cleanup X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f662bb114a5d5ce24ce1cdcd0e36136c758ba5d7;p=xen.git Fix /vm/uuid xenstore leak on tapdisk2 device cleanup While doing block-detach blktap2 disk, tap2 device info is not cleared from xenstore /vm/uuid/xxx. The reason is in xen-hotplug-cleanup script: when $vm_dev does not exist, $(xenstore-read "$vm_dev" 2>/dev/null) is also "", won't enter the block. So, change to use cmd return value to check existence. Signed-off-by Chunyan Liu Signed-off-by: Stefano Stabellini committer: Stefano Stabellini --- diff --git a/tools/hotplug/Linux/xen-hotplug-cleanup b/tools/hotplug/Linux/xen-hotplug-cleanup index 2b5a2b4590..237a2d1700 100644 --- a/tools/hotplug/Linux/xen-hotplug-cleanup +++ b/tools/hotplug/Linux/xen-hotplug-cleanup @@ -21,10 +21,12 @@ if [ "$vm" != "" ]; then # if the vm path does not exist and the device class is 'vbd' then we may have # a tap2 device - if [ "$(xenstore-read "$vm_dev" 2>/dev/null)" != "" ] \ - && [ "${path_array[1]}" = "vbd" ]; then - vm_dev="$vm/device/tap2/${path_array[3]}" - fi +  $(xenstore-read "$vm_dev" 2>/dev/null) || \ +  { +     if [ "${path_array[1]}" = "vbd" ]; then +        vm_dev="$vm/device/tap2/${path_array[3]}" +     fi +  } else vm_dev= fi