[libvirt] [PATCH 1/6] util: storage: Add helper to determine whether storage is local

Peter Krempa pkrempa at redhat.com
Thu Jul 3 10:04:57 UTC 2014


There's a lot of places where we skip doing actions based on the
locality of given storage type. The usual pattern is to skip it if:

virStorageSourceGetActualType(src) == VIR_STORAGE_TYPE_NETWORK

Add a simple helper to simplify the pattern to
virStorageSourceIsLocalStorage(src)
---
 src/libvirt_private.syms  | 1 +
 src/util/virstoragefile.c | 7 +++++++
 src/util/virstoragefile.h | 1 +
 3 files changed, 9 insertions(+)

diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index ed56103..067dcad 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -1910,6 +1910,7 @@ virStorageSourceClear;
 virStorageSourceFree;
 virStorageSourceGetActualType;
 virStorageSourceGetSecurityLabelDef;
+virStorageSourceIsLocalStorage;
 virStorageSourceNewFromBacking;
 virStorageSourcePoolDefFree;
 virStorageSourcePoolModeTypeFromString;
diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c
index 0c50de1..7ab640f 100644
--- a/src/util/virstoragefile.c
+++ b/src/util/virstoragefile.c
@@ -1550,6 +1550,13 @@ virStorageSourceGetActualType(virStorageSourcePtr def)
 }


+bool
+virStorageSourceIsLocalStorage(virStorageSourcePtr src)
+{
+    return virStorageSourceGetActualType(src) != VIR_STORAGE_TYPE_NETWORK;
+}
+
+
 /**
  * virStorageSourceBackingStoreClear:
  *
diff --git a/src/util/virstoragefile.h b/src/util/virstoragefile.h
index 48c7e02..6609023 100644
--- a/src/util/virstoragefile.h
+++ b/src/util/virstoragefile.h
@@ -320,6 +320,7 @@ void virStorageSourceAuthClear(virStorageSourcePtr def);
 void virStorageSourcePoolDefFree(virStorageSourcePoolDefPtr def);
 void virStorageSourceClear(virStorageSourcePtr def);
 int virStorageSourceGetActualType(virStorageSourcePtr def);
+bool virStorageSourceIsLocalStorage(virStorageSourcePtr src);
 void virStorageSourceFree(virStorageSourcePtr def);
 void virStorageSourceBackingStoreClear(virStorageSourcePtr def);
 virStorageSourcePtr virStorageSourceNewFromBacking(virStorageSourcePtr parent);
-- 
1.9.3




More information about the libvir-list mailing list