[libvirt] [PATCH] util: storage: Fix crash of libvirtd on network backed guest block-pull

Peter Krempa pkrempa at redhat.com
Thu May 29 14:52:28 UTC 2014


For guests backed by gluster volumes (or other network storage) we don't
fill the backing chain (see qemuDomainDetermineDiskChain). This leaves
the "relPath" field of the top image NULL. This causes a crash in
virStorageFileChainLookup() when looking up a backing element for such a
disk.

Since I'm working on adding support for network storage and one of the
steps will make the "relPath" field optional let's use STREQ_NULLABLE
instead of STREQ in virStorageFileChainLookup() to avoid the problem.
---
 src/util/virstoragefile.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c
index 2feda67..c9b6187 100644
--- a/src/util/virstoragefile.c
+++ b/src/util/virstoragefile.c
@@ -1591,7 +1591,7 @@ virStorageFileChainLookup(virStorageSourcePtr chain,
             if (idx == i)
                 break;
         } else {
-            if (STREQ(name, chain->relPath))
+            if (STREQ_NULLABLE(name, chain->relPath))
                 break;
             if (nameIsFile && (chain->type == VIR_STORAGE_TYPE_FILE ||
                                chain->type == VIR_STORAGE_TYPE_BLOCK)) {
-- 
1.9.3




More information about the libvir-list mailing list