]> xenbits.xensource.com Git - xen.git/commitdiff
Enable loopback disk image files on readonly nfs filesystem.
authorKeir Fraser <keir@xensource.com>
Wed, 7 Nov 2007 09:22:31 +0000 (09:22 +0000)
committerKeir Fraser <keir@xensource.com>
Wed, 7 Nov 2007 09:22:31 +0000 (09:22 +0000)
When we losetup a file on readonly nfs filesystem, it fails with:
# losetup /dev/loop7 /data/vm/xen_el5_i386_para/system.raw
/data/vm/xen_el5_i386_para/system.raw: Permission denied

New version of losetup has add a "-r" option for readonly loop, which
Linux kernel has supported for a long time. Some distribution (EL5
update, Fedora 8, etc.) have shipped it. This patch benefit this
option while doesn't break the old versions of losetup.

Signed-off-by: Zhigang Wang <zhigang.x.wang@oracle.com>
tools/examples/block

index 411e6813fec54a0a8519416e0239c49766f8217d..2f3a645d7ae3ce1e1192104359f21dbe5c33a1c8 100644 (file)
@@ -326,7 +326,10 @@ mount it read-write in a guest domain."
           fatal 'Failed to find an unused loop device'
         fi
 
-        do_or_die losetup "$loopdev" "$file"
+        status=$(losetup "$loopdev" "$file" || echo "failed")
+        if [ -n "$status" ]; then
+          do_or_die losetup -r "$loopdev" "$file"
+        fi
         xenstore_write "$XENBUS_PATH/node" "$loopdev"
         write_dev "$loopdev"
         release_lock "block"