mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
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>
This commit is contained in:
1 parent
20c29ef7d3
commit
d55ae1cc8f
1 file changed
+2
-2
@@ -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
|
||||
|
||||