]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: block: Introduce qemuBlockStorageSourceGetSliceNodename
authorPeter Krempa <pkrempa@redhat.com>
Fri, 24 Nov 2023 09:14:52 +0000 (10:14 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 27 Nov 2023 09:14:20 +0000 (10:14 +0100)
The helper retrieves the nodename of the slice layer if it's present.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_block.c
src/qemu/qemu_block.h

index 359595367b134801664f03f879d0a5882f6ce855..1d0361b05e78c07273adba2183c05c8a77feb354 100644 (file)
@@ -101,6 +101,22 @@ qemuBlockStorageSourceGetEffectiveNodename(virStorageSource *src)
 }
 
 
+/**
+ * qemuBlockStorageSourceGetSliceNodename:
+ *
+ * Gets the nodename corresponding to the storage slice layer. Returns NULL
+ * when there is no explicit storage slice layer.
+ */
+const char *
+qemuBlockStorageSourceGetSliceNodename(virStorageSource *src)
+{
+    if (!src->sliceStorage)
+        return NULL;
+
+    return src->sliceStorage->nodename;
+}
+
+
 /**
  * qemuBlockStorageSourceGetEffectiveStorageNodename:
  * @src: virStorageSource to get the effective nodename of
@@ -111,9 +127,10 @@ qemuBlockStorageSourceGetEffectiveNodename(virStorageSource *src)
 const char *
 qemuBlockStorageSourceGetEffectiveStorageNodename(virStorageSource *src)
 {
-    if (src->sliceStorage &&
-        src->sliceStorage->nodename)
-        return src->sliceStorage->nodename;
+    const char *slice = qemuBlockStorageSourceGetSliceNodename(src);
+
+    if (slice)
+        return slice;
 
     return src->nodenamestorage;
 }
index 5c784a4386ec35d36b1139f92a2d75f1760ee6f0..85616a140d9a09924810da99b2d642cd2252d132 100644 (file)
@@ -40,6 +40,9 @@ qemuBlockStorageSourceGetEffectiveStorageNodename(virStorageSource *src);
 const char *
 qemuBlockStorageSourceGetStorageNodename(virStorageSource *src);
 
+const char *
+qemuBlockStorageSourceGetSliceNodename(virStorageSource *src);
+
 const char *
 qemuBlockStorageSourceGetFormatNodename(virStorageSource *src);