summaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
authorRichard Jones <rjones@redhat.com>2009-05-18 17:16:24 +0100
committerRichard Jones <rjones@redhat.com>2009-05-18 17:16:24 +0100
commit85ed8cef99c19b4143844991d14e0b848fecc5da (patch)
tree61e34886d4ec4b59a37c8e4ab6779e7ef7834f34 /python
parentadf0974245af914c46b48766d0efdd5ee8608dda (diff)
downloadlibguestfs-85ed8cef99c19b4143844991d14e0b848fecc5da.tar.gz
libguestfs-85ed8cef99c19b4143844991d14e0b848fecc5da.tar.xz
libguestfs-85ed8cef99c19b4143844991d14e0b848fecc5da.zip
Add vg-activate{,-all} commands, and resize recipe.
Diffstat (limited to 'python')
-rw-r--r--python/guestfs-py.c57
-rw-r--r--python/guestfs.py26
2 files changed, 83 insertions, 0 deletions
diff --git a/python/guestfs-py.c b/python/guestfs-py.c
index 140594d2..e967bd94 100644
--- a/python/guestfs-py.c
+++ b/python/guestfs-py.c
@@ -3557,6 +3557,61 @@ py_guestfs_sfdisk_disk_geometry (PyObject *self, PyObject *args)
return py_r;
}
+static PyObject *
+py_guestfs_vg_activate_all (PyObject *self, PyObject *args)
+{
+ PyObject *py_g;
+ guestfs_h *g;
+ PyObject *py_r;
+ int r;
+ int activate;
+
+ if (!PyArg_ParseTuple (args, (char *) "Oi:guestfs_vg_activate_all",
+ &py_g, &activate))
+ return NULL;
+ g = get_handle (py_g);
+
+ r = guestfs_vg_activate_all (g, activate);
+ if (r == -1) {
+ PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
+ return NULL;
+ }
+
+ Py_INCREF (Py_None);
+ py_r = Py_None;
+ return py_r;
+}
+
+static PyObject *
+py_guestfs_vg_activate (PyObject *self, PyObject *args)
+{
+ PyObject *py_g;
+ guestfs_h *g;
+ PyObject *py_r;
+ int r;
+ int activate;
+ PyObject *py_volgroups;
+ const char **volgroups;
+
+ if (!PyArg_ParseTuple (args, (char *) "OiO:guestfs_vg_activate",
+ &py_g, &activate, &py_volgroups))
+ return NULL;
+ g = get_handle (py_g);
+ volgroups = get_string_list (py_volgroups);
+ if (!volgroups) return NULL;
+
+ r = guestfs_vg_activate (g, activate, volgroups);
+ free (volgroups);
+ if (r == -1) {
+ PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
+ return NULL;
+ }
+
+ Py_INCREF (Py_None);
+ py_r = Py_None;
+ return py_r;
+}
+
static PyMethodDef methods[] = {
{ (char *) "create", py_guestfs_create, METH_VARARGS, NULL },
{ (char *) "close", py_guestfs_close, METH_VARARGS, NULL },
@@ -3686,6 +3741,8 @@ static PyMethodDef methods[] = {
{ (char *) "sfdisk_l", py_guestfs_sfdisk_l, METH_VARARGS, NULL },
{ (char *) "sfdisk_kernel_geometry", py_guestfs_sfdisk_kernel_geometry, METH_VARARGS, NULL },
{ (char *) "sfdisk_disk_geometry", py_guestfs_sfdisk_disk_geometry, METH_VARARGS, NULL },
+ { (char *) "vg_activate_all", py_guestfs_vg_activate_all, METH_VARARGS, NULL },
+ { (char *) "vg_activate", py_guestfs_vg_activate, METH_VARARGS, NULL },
{ NULL, NULL, 0, NULL }
};
diff --git a/python/guestfs.py b/python/guestfs.py
index 8ac4037c..4a2804b4 100644
--- a/python/guestfs.py
+++ b/python/guestfs.py
@@ -1397,3 +1397,29 @@ class GuestFS:
"""
return libguestfsmod.sfdisk_disk_geometry (self._o, device)
+ def vg_activate_all (self, activate):
+ u"""This command activates or (if "activate" is false)
+ deactivates all logical volumes in all volume groups. If
+ activated, then they are made known to the kernel, ie.
+ they appear as "/dev/mapper" devices. If deactivated,
+ then those devices disappear.
+
+ This command is the same as running "vgchange -a y|n"
+ """
+ return libguestfsmod.vg_activate_all (self._o, activate)
+
+ def vg_activate (self, activate, volgroups):
+ u"""This command activates or (if "activate" is false)
+ deactivates all logical volumes in the listed volume
+ groups "volgroups". If activated, then they are made
+ known to the kernel, ie. they appear as "/dev/mapper"
+ devices. If deactivated, then those devices disappear.
+
+ This command is the same as running "vgchange -a y|n
+ volgroups..."
+
+ Note that if "volgroups" is an empty list then all
+ volume groups are activated or deactivated.
+ """
+ return libguestfsmod.vg_activate (self._o, activate, volgroups)
+