Allow nbd-backed disk images?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I am trying to use a qcow image with libvirt where the backing 'file' is
a qemu-nbd server.  Unfortunately the security code assumes that
backingStore is always a real file so something like 'nbd:0:3333' is
rejected because a file with that name cannot be accessed.  A simple
patch like the following works around the problem -- are there any
suggestions on how to do this properly?  Note that I am not worried
about directly using nbd images.  That would require a new disk type
with XML markup, etc.  I only want it to be permitted as a backingStore.

diff --git a/src/util/storage_file.c b/src/util/storage_file.c
index 6f48b10..7c0ea9a 100644
--- a/src/util/storage_file.c
+++ b/src/util/storage_file.c
@@ -292,6 +292,13 @@ qcowXGetBackingStore(char **res,
         return BACKING_STORE_INVALID;
     if (size + 1 == 0)
         return BACKING_STORE_INVALID;
+
+    /* Short-circuit nbd backing files */
+    if (size >= 4 && STRPREFIX((const char *)(buf + offset), "nbd:")) {
+        return BACKING_STORE_OK;
+    }
+
     if (VIR_ALLOC_N(*res, size + 1) < 0) {
         virReportOOMError();
         return BACKING_STORE_ERROR;


-- 
Thanks,
Adam

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]