File b3198286-create-accessor-API-s-for-virStoragePoolObj.patch of Package libvirt.9596
From b31982868aab26d688bdbf5894783a912fac1a4b Mon Sep 17 00:00:00 2001
From: John Ferlan <jferlan@redhat.com>
Date: Sun, 7 May 2017 07:56:03 -0400
Subject: [PATCH] storage: Create accessor API's for virStoragePoolObj
In preparation for making a private object, create accessor API's for
consumer storage functions to use:
virStoragePoolObjGetDef
virStoragePoolObjSetDef
virStoragePoolObjGetNewDef
virStoragePoolObjDefUseNewDef
virStoragePoolObjGetConfigFile
virStoragePoolObjSetConfigFile
virStoragePoolObjGetAutostartLink
virStoragePoolObjIsActive
virStoragePoolObjSetActive
virStoragePoolObjIsAutostart
virStoragePoolObjSetAutostart
virStoragePoolObjGetAsyncjobs
virStoragePoolObjIncrAsyncjobs
virStoragePoolObjDecrAsyncjobs
Signed-off-by: John Ferlan <jferlan@redhat.com>
---
src/conf/virstorageobj.c | 109 +++++++++++++++++++++++++++++++++++++++++++++++
src/conf/virstorageobj.h | 50 +++++++++++++++++++---
src/libvirt_private.syms | 14 ++++++
3 files changed, 168 insertions(+), 5 deletions(-)
Index: libvirt-3.3.0/src/conf/virstorageobj.c
===================================================================
--- libvirt-3.3.0.orig/src/conf/virstorageobj.c
+++ libvirt-3.3.0/src/conf/virstorageobj.c
@@ -37,6 +37,115 @@
VIR_LOG_INIT("conf.virstorageobj");
+virStoragePoolDefPtr
+virStoragePoolObjGetDef(virStoragePoolObjPtr obj)
+{
+ return obj->def;
+}
+
+
+void
+virStoragePoolObjSetDef(virStoragePoolObjPtr obj,
+ virStoragePoolDefPtr def)
+{
+ virStoragePoolDefFree(obj->def);
+ obj->def = def;
+}
+
+
+virStoragePoolDefPtr
+virStoragePoolObjGetNewDef(virStoragePoolObjPtr obj)
+{
+ return obj->newDef;
+}
+
+
+void
+virStoragePoolObjDefUseNewDef(virStoragePoolObjPtr obj)
+{
+ virStoragePoolDefFree(obj->def);
+ obj->def = obj->newDef;
+ obj->newDef = NULL;
+}
+
+
+char *
+virStoragePoolObjGetConfigFile(virStoragePoolObjPtr obj)
+{
+ return obj->configFile;
+}
+
+
+void
+virStoragePoolObjSetConfigFile(virStoragePoolObjPtr obj,
+ char *configFile)
+{
+ VIR_FREE(obj->configFile);
+ obj->configFile = configFile;
+}
+
+
+char *
+virStoragePoolObjGetAutostartLink(virStoragePoolObjPtr obj)
+{
+ return obj->autostartLink;
+}
+
+
+bool
+virStoragePoolObjIsActive(virStoragePoolObjPtr obj)
+{
+ return obj->active;
+}
+
+
+void
+virStoragePoolObjSetActive(virStoragePoolObjPtr obj,
+ bool active)
+{
+ obj->active = active;
+}
+
+
+bool
+virStoragePoolObjIsAutostart(virStoragePoolObjPtr obj)
+{
+ if (!obj->configFile)
+ return 0;
+
+ return obj->autostart == 1;
+}
+
+
+void
+virStoragePoolObjSetAutostart(virStoragePoolObjPtr obj,
+ int autostart)
+{
+ obj->autostart = autostart;
+}
+
+
+unsigned int
+virStoragePoolObjGetAsyncjobs(virStoragePoolObjPtr obj)
+{
+ return obj->asyncjobs;
+}
+
+
+void
+virStoragePoolObjIncrAsyncjobs(virStoragePoolObjPtr obj)
+{
+ obj->asyncjobs++;
+}
+
+
+void
+virStoragePoolObjDecrAsyncjobs(virStoragePoolObjPtr obj)
+{
+ obj->asyncjobs--;
+}
+
+
void
virStoragePoolObjFree(virStoragePoolObjPtr obj)
{
Index: libvirt-3.3.0/src/conf/virstorageobj.h
===================================================================
--- libvirt-3.3.0.orig/src/conf/virstorageobj.h
+++ libvirt-3.3.0/src/conf/virstorageobj.h
@@ -70,11 +70,51 @@ typedef bool
(*virStoragePoolObjListFilter)(virConnectPtr conn,
virStoragePoolDefPtr def);
-static inline int
-virStoragePoolObjIsActive(virStoragePoolObjPtr pool)
-{
- return pool->active;
-}
+virStoragePoolDefPtr
+virStoragePoolObjGetDef(virStoragePoolObjPtr obj);
+
+void
+virStoragePoolObjSetDef(virStoragePoolObjPtr obj,
+ virStoragePoolDefPtr def);
+
+virStoragePoolDefPtr
+virStoragePoolObjGetNewDef(virStoragePoolObjPtr obj);
+
+void
+virStoragePoolObjDefUseNewDef(virStoragePoolObjPtr obj);
+
+char *
+virStoragePoolObjGetConfigFile(virStoragePoolObjPtr obj);
+
+void
+virStoragePoolObjSetConfigFile(virStoragePoolObjPtr obj,
+ char *configFile);
+
+char *
+virStoragePoolObjGetAutostartLink(virStoragePoolObjPtr obj);
+
+bool
+virStoragePoolObjIsActive(virStoragePoolObjPtr obj);
+
+void
+virStoragePoolObjSetActive(virStoragePoolObjPtr obj,
+ bool active);
+
+bool
+virStoragePoolObjIsAutostart(virStoragePoolObjPtr obj);
+
+void
+virStoragePoolObjSetAutostart(virStoragePoolObjPtr obj,
+ int autostart);
+
+unsigned int
+virStoragePoolObjGetAsyncjobs(virStoragePoolObjPtr obj);
+
+void
+virStoragePoolObjIncrAsyncjobs(virStoragePoolObjPtr obj);
+
+void
+virStoragePoolObjDecrAsyncjobs(virStoragePoolObjPtr obj);
int
virStoragePoolObjLoadAllConfigs(virStoragePoolObjListPtr pools,
Index: libvirt-3.3.0/src/libvirt_private.syms
===================================================================
--- libvirt-3.3.0.orig/src/libvirt_private.syms
+++ libvirt-3.3.0/src/libvirt_private.syms
@@ -1008,10 +1008,20 @@ virSecretObjSetValueSize;
# conf/virstorageobj.h
virStoragePoolObjAssignDef;
virStoragePoolObjClearVols;
+virStoragePoolObjDecrAsyncjobs;
+virStoragePoolObjDefUseNewDef;
virStoragePoolObjDeleteDef;
virStoragePoolObjFindByName;
virStoragePoolObjFindByUUID;
+virStoragePoolObjGetAsyncjobs;
+virStoragePoolObjGetAutostartLink;
+virStoragePoolObjGetConfigFile;
+virStoragePoolObjGetDef;
virStoragePoolObjGetNames;
+virStoragePoolObjGetNewDef;
+virStoragePoolObjIncrAsyncjobs;
+virStoragePoolObjIsActive;
+virStoragePoolObjIsAutostart;
virStoragePoolObjIsDuplicate;
virStoragePoolObjListExport;
virStoragePoolObjListFree;
@@ -1022,6 +1032,10 @@ virStoragePoolObjNumOfStoragePools;
virStoragePoolObjNumOfVolumes;
virStoragePoolObjRemove;
virStoragePoolObjSaveDef;
+virStoragePoolObjSetActive;
+virStoragePoolObjSetAutostart;
+virStoragePoolObjSetConfigFile;
+virStoragePoolObjSetDef;
virStoragePoolObjSourceFindDuplicate;
virStoragePoolObjUnlock;
virStoragePoolObjVolumeGetNames;