xen/hotplug.losetup.patch

35 lines
1.4 KiB
Diff
Raw Normal View History

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>
---
tools/hotplug/Linux/block | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: xen-4.1.2-testing/tools/hotplug/Linux/block
===================================================================
--- xen-4.1.2-testing.orig/tools/hotplug/Linux/block
+++ xen-4.1.2-testing/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:]]\[0*${dev}\]:${inode}[[:blank:]](.*)\)@\1@p" )
+ for dev in $shared_list
do
if [ -n "$dev" ]
then