]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virsh: split out virsh-pool.c
authorEric Blake <eblake@redhat.com>
Mon, 20 Aug 2012 22:56:53 +0000 (16:56 -0600)
committerEric Blake <eblake@redhat.com>
Tue, 21 Aug 2012 06:11:29 +0000 (00:11 -0600)
More in a series of file splits.

* tools/virsh-pool.h: New file.
* tools/Makefile.am (virsh_SOURCES): Build it.
* tools/virsh.c: Use new header.
* tools/virsh-pool.c: Likewise.
(virCommandOptPoolBy): Fix flag usage.

tools/Makefile.am
tools/virsh-pool.c
tools/virsh-pool.h [new file with mode: 0644]
tools/virsh.c

index 1a6b97b13f1b3adbcf2eb1c398585c605c75ffd3..5f4e529dd4c5d343b60c6bee5d1e01230d9085ba 100644 (file)
@@ -113,8 +113,8 @@ virsh_SOURCES =                                                     \
                virsh-network.c virsh-network.h                 \
                virsh-nodedev.c virsh-nodedev.h                 \
                virsh-nwfilter.c virsh-nwfilter.h               \
+               virsh-pool.c virsh-pool.h                       \
                $(NULL)
-#              virsh-pool.c virsh-pool.h                       \
 #              virsh-secret.c virsh-secret.h                   \
 #              virsh-snapshot.c virsh-snapshot.h               \
 #              virsh-volume.c virsh-volume.h                   \
index e015547cf88ce89b45cc96fa08faaaa4f65c4f68..d9cba4ef9e8f1a2f1ab7118f3b9df13a2c57d8c9 100644 (file)
  *
  */
 
-/* default is lookup by Name and UUID */
-#define vshCommandOptPool(_ctl, _cmd, _optname, _name)           \
-    vshCommandOptPoolBy(_ctl, _cmd, _optname, _name,             \
-                           VSH_BYUUID|VSH_BYNAME)
+#include <config.h>
+#include "virsh-pool.h"
 
-static virStoragePoolPtr
+#include <libxml/parser.h>
+#include <libxml/tree.h>
+#include <libxml/xpath.h>
+#include <libxml/xmlsave.h>
+
+#include "internal.h"
+#include "buf.h"
+#include "memory.h"
+#include "util.h"
+#include "xml.h"
+
+virStoragePoolPtr
 vshCommandOptPoolBy(vshControl *ctl, const vshCmd *cmd, const char *optname,
-                    const char **name, int flag)
+                    const char **name, unsigned int flags)
 {
     virStoragePoolPtr pool = NULL;
     const char *n = NULL;
+    virCheckFlags(VSH_BYUUID | VSH_BYNAME, NULL);
 
     if (vshCommandOptString(cmd, optname, &n) <= 0)
         return NULL;
@@ -45,13 +55,13 @@ vshCommandOptPoolBy(vshControl *ctl, const vshCmd *cmd, const char *optname,
         *name = n;
 
     /* try it by UUID */
-    if ((flag & VSH_BYUUID) && strlen(n) == VIR_UUID_STRING_BUFLEN-1) {
+    if ((flags & VSH_BYUUID) && strlen(n) == VIR_UUID_STRING_BUFLEN-1) {
         vshDebug(ctl, VSH_ERR_DEBUG, "%s: <%s> trying as pool UUID\n",
                  cmd->def->name, optname);
         pool = virStoragePoolLookupByUUIDString(ctl->conn, n);
     }
     /* try it by NAME */
-    if (pool == NULL && (flag & VSH_BYNAME)) {
+    if (!pool && (flags & VSH_BYNAME)) {
         vshDebug(ctl, VSH_ERR_DEBUG, "%s: <%s> trying as pool NAME\n",
                  cmd->def->name, optname);
         pool = virStoragePoolLookupByName(ctl->conn, n);
@@ -1414,7 +1424,7 @@ cmdPoolEdit(vshControl *ctl, const vshCmd *cmd)
     return ret;
 }
 
-static const vshCmdDef storagePoolCmds[] = {
+const vshCmdDef storagePoolCmds[] = {
     {"find-storage-pool-sources-as", cmdPoolDiscoverSourcesAs,
      opts_find_storage_pool_sources_as, info_find_storage_pool_sources_as, 0},
     {"find-storage-pool-sources", cmdPoolDiscoverSources,
diff --git a/tools/virsh-pool.h b/tools/virsh-pool.h
new file mode 100644 (file)
index 0000000..17b54d5
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * virsh-pool.h: Commands to manage storage pool
+ *
+ * Copyright (C) 2005, 2007-2012 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library;  If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ *  Daniel Veillard <veillard@redhat.com>
+ *  Karel Zak <kzak@redhat.com>
+ *  Daniel P. Berrange <berrange@redhat.com>
+ *
+ */
+
+#ifndef VIRSH_POOL_H
+# define VIRSH_POOL_H
+
+# include "virsh.h"
+
+virStoragePoolPtr
+vshCommandOptPoolBy(vshControl *ctl, const vshCmd *cmd, const char *optname,
+                    const char **name, unsigned int flags);
+
+/* default is lookup by Name and UUID */
+# define vshCommandOptPool(_ctl, _cmd, _optname, _name)           \
+    vshCommandOptPoolBy(_ctl, _cmd, _optname, _name,             \
+                           VSH_BYUUID|VSH_BYNAME)
+
+extern const vshCmdDef storagePoolCmds[];
+
+#endif /* VIRSH_POOL_H */
index ab88fcb9e71f660b789d3c44b2c7f7d4afa9c793..96b31f0b6b40ab01e6d5e6d99f703f0382a0a5b6 100644 (file)
@@ -81,6 +81,7 @@
 #include "virsh-network.h"
 #include "virsh-nodedev.h"
 #include "virsh-nwfilter.h"
+#include "virsh-pool.h"
 
 static char *progname;
 
@@ -2815,7 +2816,6 @@ vshParseArgv(vshControl *ctl, int argc, char **argv)
     return true;
 }
 
-#include "virsh-pool.c"
 #include "virsh-secret.c"
 #include "virsh-snapshot.c"
 #include "virsh-volume.c"