}
+/**
+ * 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
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;
}
const char *
qemuBlockStorageSourceGetStorageNodename(virStorageSource *src);
+const char *
+qemuBlockStorageSourceGetSliceNodename(virStorageSource *src);
+
const char *
qemuBlockStorageSourceGetFormatNodename(virStorageSource *src);