Blame SOURCES/0062-ovirt-foreign-menu-New-function-storage_domain_valid.patch

d2db93
From 394dc43f6a8a7ae7e48ff402a59312b608ada761 Mon Sep 17 00:00:00 2001
d2db93
From: "Eduardo Lima (Etrunko)" <etrunko@redhat.com>
d2db93
Date: Wed, 4 Jul 2018 12:29:42 -0300
d2db93
Subject: [PATCH virt-viewer] ovirt-foreign-menu: New function
d2db93
 storage_domain_validate()
d2db93
d2db93
It may be useful to know why the storage domain has not been listed,
d2db93
given that there are different reasons for that. To make it easier to
d2db93
provide more detailed debug messages, we move code from the callback
d2db93
function to this new one.
d2db93
d2db93
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
d2db93
Signed-off-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
d2db93
---
d2db93
 src/ovirt-foreign-menu.c | 45 ++++++++++++++++++++++++++--------------
d2db93
 1 file changed, 30 insertions(+), 15 deletions(-)
d2db93
d2db93
diff --git a/src/ovirt-foreign-menu.c b/src/ovirt-foreign-menu.c
d2db93
index 451b116..3fa319a 100644
d2db93
--- a/src/ovirt-foreign-menu.c
d2db93
+++ b/src/ovirt-foreign-menu.c
d2db93
@@ -646,6 +646,35 @@ static gboolean storage_domain_attached_to_data_center(OvirtStorageDomain *domai
d2db93
 }
d2db93
 #endif
d2db93
 
d2db93
+static gboolean storage_domain_validate(OvirtForeignMenu *menu G_GNUC_UNUSED,
d2db93
+                                        OvirtStorageDomain *domain)
d2db93
+{
d2db93
+    char *name;
d2db93
+    int type, state;
d2db93
+    gboolean ret = TRUE;
d2db93
+
d2db93
+    g_object_get(domain, "name", &name, "type", &type, "state", &state, NULL);
d2db93
+
d2db93
+    if (type != OVIRT_STORAGE_DOMAIN_TYPE_ISO) {
d2db93
+        g_debug("Storage domain '%s' type is not ISO", name);
d2db93
+        ret = FALSE;
d2db93
+    }
d2db93
+
d2db93
+    if (state != OVIRT_STORAGE_DOMAIN_STATE_ACTIVE) {
d2db93
+        g_debug("Storage domain '%s' state is not active", name);
d2db93
+        ret = FALSE;
d2db93
+    }
d2db93
+
d2db93
+#ifdef HAVE_OVIRT_DATA_CENTER
d2db93
+    if (!storage_domain_attached_to_data_center(domain, menu->priv->data_center)) {
d2db93
+        g_debug("Storage domain '%s' is not attached to data center", name);
d2db93
+        ret = FALSE;
d2db93
+    }
d2db93
+#endif
d2db93
+
d2db93
+    g_free(name);
d2db93
+    return ret;
d2db93
+}
d2db93
 
d2db93
 static void storage_domains_fetched_cb(GObject *source_object,
d2db93
                                        GAsyncResult *result,
d2db93
@@ -669,23 +698,9 @@ static void storage_domains_fetched_cb(GObject *source_object,
d2db93
     g_hash_table_iter_init(&iter, ovirt_collection_get_resources(collection));
d2db93
     while (g_hash_table_iter_next(&iter, NULL, (gpointer *)&domain)) {
d2db93
         OvirtCollection *file_collection;
d2db93
-        int type;
d2db93
-        int state;
d2db93
-
d2db93
-        g_object_get(domain, "type", &type, "state", &state, NULL);
d2db93
-        if (type != OVIRT_STORAGE_DOMAIN_TYPE_ISO) {
d2db93
-            continue;
d2db93
-        }
d2db93
-
d2db93
-        if (state != OVIRT_STORAGE_DOMAIN_STATE_ACTIVE) {
d2db93
-            continue;
d2db93
-        }
d2db93
 
d2db93
-#ifdef HAVE_OVIRT_DATA_CENTER
d2db93
-        if (!storage_domain_attached_to_data_center(domain, menu->priv->data_center)) {
d2db93
+        if (!storage_domain_validate(menu, domain))
d2db93
             continue;
d2db93
-        }
d2db93
-#endif
d2db93
 
d2db93
         file_collection = ovirt_storage_domain_get_files(domain);
d2db93
         if (file_collection != NULL) {
d2db93
-- 
d2db93
2.21.0
d2db93