[Lsb-messages] /var/www/bzr/lsb/devel/runtime-test r1283: Use losetup to find proper loop devices (bug 3815).

Jeff Licquia licquia at linuxfoundation.org
Fri Jul 12 23:49:39 UTC 2013


------------------------------------------------------------
revno: 1283
committer: Jeff Licquia <licquia at linuxfoundation.org>
branch nick: runtime-test
timestamp: Fri 2013-07-12 19:49:39 -0400
message:
  Use losetup to find proper loop devices (bug 3815).
  
  On some distros, the loopback devices aren't created until losetup
  is run to probe for them.  (This was seen on Fedora 19.)  So, instead
  of relying on the devices being there, just rely on losetup, which
  will most likely be better equipped to handle system strangeness than
  our script.
modified:
  harness/vsxgen/scripts/common/loopback.src
-------------- next part --------------
=== modified file 'harness/vsxgen/scripts/common/loopback.src'
--- a/harness/vsxgen/scripts/common/loopback.src	2008-05-22 22:06:22 +0000
+++ b/harness/vsxgen/scripts/common/loopback.src	2013-07-12 23:49:39 +0000
@@ -2,25 +2,9 @@
 # exit code 101: no free loop devices
 freeloopdev ()
 {
-    loopdev=0
-    while true
-    do
-        # Check if the loop device exists
-        if [ ! -b "/dev/loop${loopdev}" ]; then 
-            echo "Device /dev/loop${loopdev} not found." 
-            exit 101
-        fi 
-
-        # If the loop-device is "free" then break 
-        PATH=$PATH:/sbin losetup /dev/loop${loopdev} > /dev/null 2>&1
-        if [ $? -eq 1 ]; then
-            break
-        fi    
-
-        loopdev=`expr ${loopdev} + 1` 
-    done 
-    
-    echo "/dev/loop${loopdev}" 
+    full_loopdev=$(PATH=$PATH:/sbin losetup -f)
+    loopdev=$(echo $full_loopdev | sed s,/dev/loop,,)
+    echo $full_loopdev
     return $loopdev 
 } 
 



More information about the lsb-messages mailing list