8 Aug 2012 23:02
[libvirt] [PATCH] Allow rbd backing stores
Peter Feiner <peter <at> gridcentric.ca>
2012-08-08 21:02:24 GMT
2012-08-08 21:02:24 GMT
Prevents libvirt from treating RBD backing stores as files. Without this patch,
creating a domain with a qcow2 overlay on an RBD would fail.
This patch essentially extends 9c7c4a4fc533598e59e9a0038ec783e61a38e664,
which allows nbd backing stores, to allow rbd backing stores.
diff --git a/src/util/storage_file.c b/src/util/storage_file.c
index f38aa8e..101518a 100644
--- a/src/util/storage_file.c
+++ b/src/util/storage_file.c
<at> <at> -589,8 +589,8 <at> <at> virStorageFileMatchesVersion(int format,
static bool
virBackingStoreIsFile(const char *backing)
{
- /* Backing store is a network block device */
- if (STRPREFIX(backing, "nbd:"))
+ /* Backing store is a network block device or Rados block device */
+ if (STRPREFIX(backing, "nbd:") || STRPREFIX(backing, "rbd:"))
return false;
return true;
}
<div>
<div>Prevents libvirt from treating RBD backing stores as files. Without this patch,</div>
<div>creating a domain with a qcow2 overlay on an RBD would fail.</div>
<div><br></div>
<div>This patch essentially extends 9c7c4a4fc533598e59e9a0038ec783e61a38e664,</div>
<div>which allows nbd backing stores, to allow rbd backing stores.</div>
<div><br></div>
<div>diff --git a/src/util/storage_file.c b/src/util/storage_file.c</div>
<div>index f38aa8e..101518a 100644</div>
<div>--- a/src/util/storage_file.c</div>
<div>+++ b/src/util/storage_file.c</div>
<div> <at> <at> -589,8 +589,8 <at> <at> virStorageFileMatchesVersion(int format,</div>
<div> static bool</div>
<div> virBackingStoreIsFile(const char *backing)</div>
<div> {</div>
<div>- /* Backing store is a network block device */</div>
<div>- if (STRPREFIX(backing, "nbd:"))</div>
<div>+ /* Backing store is a network block device or Rados block device */</div>
<div>+ if (STRPREFIX(backing, "nbd:") || STRPREFIX(backing, "rbd:"))</div>
<div> return false;</div>
<div> return true;</div>
<div> }</div>
</div>
RSS Feed