aboutsummaryrefslogtreecommitdiffstats
path: root/tools/hotplug
diff options
context:
space:
mode:
authorOlaf Hering <olaf@aepfle.de>2011-05-20 18:09:26 +0100
committerOlaf Hering <olaf@aepfle.de>2011-05-20 18:09:26 +0100
commitd55ae1cc8f5259cf31fcaf189056c082145487ef (patch)
tree8a236b124ac39accdc14f3cbe3546d43c1283b59 /tools/hotplug
parent20c29ef7d36a4aad0facf6eeaaa490887ecda06f (diff)
downloadxen-d55ae1cc8f5259cf31fcaf189056c082145487ef.tar.gz
xen-d55ae1cc8f5259cf31fcaf189056c082145487ef.tar.bz2
xen-d55ae1cc8f5259cf31fcaf189056c082145487ef.zip
hotplug: fix busy loop device detection
Improve busy loop device detection after changeset 22773:02c0af2bf280 The intention is not to find the file to be mounted in the losetup -a output. What matters are existing mounted files with the same dev:inode as the new file. So the fix is to apply variable expansion which happens only without double quotes. Otherwise $dev will contain newlines for hardlinked files, as mentioned in the commit message from the changeset above. losetup -a does also truncate long filenames to 62 chars due to ioctl limitations. This part is fixed with 2.6.37 where the filename can be obtained from sysfs. As a result very long filenames will be missed. Signed-off-by: Olaf Hering <olaf@aepfle.de> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
Diffstat (limited to 'tools/hotplug')
-rw-r--r--tools/hotplug/Linux/block4
1 files changed, 2 insertions, 2 deletions
diff --git a/tools/hotplug/Linux/block b/tools/hotplug/Linux/block
index 06de5c92a2..fb9df6f357 100644
--- a/tools/hotplug/Linux/block
+++ b/tools/hotplug/Linux/block
@@ -280,8 +280,8 @@ mount it read-write in a guest domain."
fi
shared_list=$(losetup -a |
- sed -n -e "s@^\([^:]\+\)\(:[[:blank:]]\[${dev}\]:${inode}[[:blank:]](${file})\)@\1@p" )
- for dev in "$shared_list"
+ sed -n -e "s@^\([^:]\+\)\(:[[:blank:]]\[${dev}\]:${inode}[[:blank:]](.*)\)@\1@p" )
+ for dev in $shared_list
do
if [ -n "$dev" ]
then