Blame SOURCES/libvirt-util-storage-Add-helpers-to-parse-and-format-relPath-into-privateData.patch

404507
From a6aa51d7aa34a75355993d818a43bcb31094693e Mon Sep 17 00:00:00 2001
404507
Message-Id: <a6aa51d7aa34a75355993d818a43bcb31094693e@dist-git>
404507
From: Peter Krempa <pkrempa@redhat.com>
404507
Date: Thu, 14 Dec 2017 14:31:52 +0100
404507
Subject: [PATCH] util: storage: Add helpers to parse and format relPath into
404507
 privateData
404507
404507
This will be the first private piece of data that will need to be stored
404507
in the XML for some drivers. Add helpers which will do it.
404507
404507
(cherry picked from commit cd31709351142a2770d2b9baa7755eaed672710a)
404507
404507
https://bugzilla.redhat.com/show_bug.cgi?id=1523261
404507
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
404507
---
404507
 src/libvirt_private.syms  |  2 ++
404507
 src/util/virstoragefile.c | 20 ++++++++++++++++++++
404507
 src/util/virstoragefile.h |  8 ++++++++
404507
 3 files changed, 30 insertions(+)
404507
404507
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
404507
index cb76bbac87..478b3b3a6f 100644
404507
--- a/src/libvirt_private.syms
404507
+++ b/src/libvirt_private.syms
404507
@@ -2728,6 +2728,8 @@ virStorageSourceParseRBDColonString;
404507
 virStorageSourcePoolDefFree;
404507
 virStorageSourcePoolModeTypeFromString;
404507
 virStorageSourcePoolModeTypeToString;
404507
+virStorageSourcePrivateDataFormatRelPath;
404507
+virStorageSourcePrivateDataParseRelPath;
404507
 virStorageSourceUpdateBackingSizes;
404507
 virStorageSourceUpdateCapacity;
404507
 virStorageSourceUpdatePhysicalSize;
404507
diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c
404507
index 3a2d2aa056..d1e356a121 100644
404507
--- a/src/util/virstoragefile.c
404507
+++ b/src/util/virstoragefile.c
404507
@@ -4083,3 +4083,23 @@ virStorageSourceNetworkAssignDefaultPorts(virStorageSourcePtr src)
404507
             src->hosts[i].port = virStorageSourceNetworkDefaultPort(src->protocol);
404507
     }
404507
 }
404507
+
404507
+
404507
+int
404507
+virStorageSourcePrivateDataParseRelPath(xmlXPathContextPtr ctxt,
404507
+                                        virStorageSourcePtr src)
404507
+{
404507
+    src->relPath = virXPathString("string(./relPath)", ctxt);
404507
+    return 0;
404507
+}
404507
+
404507
+
404507
+int
404507
+virStorageSourcePrivateDataFormatRelPath(virStorageSourcePtr src,
404507
+                                         virBufferPtr buf)
404507
+{
404507
+    if (src->relPath)
404507
+        virBufferEscapeString(buf, "<relPath>%s</relPath>\n", src->relPath);
404507
+
404507
+    return 0;
404507
+}
404507
diff --git a/src/util/virstoragefile.h b/src/util/virstoragefile.h
404507
index af8f56c8a1..c909488024 100644
404507
--- a/src/util/virstoragefile.h
404507
+++ b/src/util/virstoragefile.h
404507
@@ -438,4 +438,12 @@ bool
404507
 virStorageSourceHasBacking(const virStorageSource *src);
404507
 
404507
 
404507
+int
404507
+virStorageSourcePrivateDataParseRelPath(xmlXPathContextPtr ctxt,
404507
+                                        virStorageSourcePtr src);
404507
+int
404507
+virStorageSourcePrivateDataFormatRelPath(virStorageSourcePtr src,
404507
+                                         virBufferPtr buf);
404507
+
404507
+
404507
 #endif /* __VIR_STORAGE_FILE_H__ */
404507
-- 
404507
2.15.1
404507