Generated code for lvremove, vgremove, pvremove.

This commit is contained in:
Richard Jones
2009-04-25 21:41:09 +01:00
parent 58caa9e5f1
commit aed0fa2c01
22 changed files with 1668 additions and 16 deletions

View File

@@ -2825,6 +2825,81 @@ py_guestfs_debug (PyObject *self, PyObject *args)
return py_r;
}
static PyObject *
py_guestfs_lvremove (PyObject *self, PyObject *args)
{
PyObject *py_g;
guestfs_h *g;
PyObject *py_r;
int r;
const char *device;
if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_lvremove",
&py_g, &device))
return NULL;
g = get_handle (py_g);
r = guestfs_lvremove (g, device);
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_vgremove (PyObject *self, PyObject *args)
{
PyObject *py_g;
guestfs_h *g;
PyObject *py_r;
int r;
const char *vgname;
if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_vgremove",
&py_g, &vgname))
return NULL;
g = get_handle (py_g);
r = guestfs_vgremove (g, vgname);
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_pvremove (PyObject *self, PyObject *args)
{
PyObject *py_g;
guestfs_h *g;
PyObject *py_r;
int r;
const char *device;
if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_pvremove",
&py_g, &device))
return NULL;
g = get_handle (py_g);
r = guestfs_pvremove (g, device);
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 },
@@ -2925,6 +3000,9 @@ static PyMethodDef methods[] = {
{ (char *) "mount_options", py_guestfs_mount_options, METH_VARARGS, NULL },
{ (char *) "mount_vfs", py_guestfs_mount_vfs, METH_VARARGS, NULL },
{ (char *) "debug", py_guestfs_debug, METH_VARARGS, NULL },
{ (char *) "lvremove", py_guestfs_lvremove, METH_VARARGS, NULL },
{ (char *) "vgremove", py_guestfs_vgremove, METH_VARARGS, NULL },
{ (char *) "pvremove", py_guestfs_pvremove, METH_VARARGS, NULL },
{ NULL, NULL, 0, NULL }
};

View File

@@ -862,8 +862,8 @@ class GuestFS:
return libguestfsmod.statvfs (self._o, path)
def tune2fs_l (self, device):
u"""This returns the contents of the ext2 or ext3 filesystem
superblock on "device".
u"""This returns the contents of the ext2, ext3 or ext4
filesystem superblock on "device".
It is the same as running "tune2fs -l device". See
tune2fs(8) manpage for more details. The list of fields
@@ -1086,3 +1086,30 @@ class GuestFS:
"""
return libguestfsmod.debug (self._o, subcmd, extraargs)
def lvremove (self, device):
u"""Remove an LVM logical volume "device", where "device" is
the path to the LV, such as "/dev/VG/LV".
You can also remove all LVs in a volume group by
specifying the VG name, "/dev/VG".
"""
return libguestfsmod.lvremove (self._o, device)
def vgremove (self, vgname):
u"""Remove an LVM volume group "vgname", (for example "VG").
This also forcibly removes all logical volumes in the
volume group (if any).
"""
return libguestfsmod.vgremove (self._o, vgname)
def pvremove (self, device):
u"""This wipes a physical volume "device" so that LVM will
no longer recognise it.
The implementation uses the "pvremove" command which
refuses to wipe physical volumes that contain any volume
groups, so you have to remove those first.
"""
return libguestfsmod.pvremove (self._o, device)