mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-22 07:03:38 +00:00
Add: pvresize, sfdisk-N, sfdisk-l, sfdisk-kernel-geomtry, sfdisk-disk-geometry commands. Pass --no-reread flag to sfdisk.
This commit is contained in:
@@ -3427,6 +3427,136 @@ py_guestfs_zerofree (PyObject *self, PyObject *args)
|
||||
return py_r;
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
py_guestfs_pvresize (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_pvresize",
|
||||
&py_g, &device))
|
||||
return NULL;
|
||||
g = get_handle (py_g);
|
||||
|
||||
r = guestfs_pvresize (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_sfdisk_N (PyObject *self, PyObject *args)
|
||||
{
|
||||
PyObject *py_g;
|
||||
guestfs_h *g;
|
||||
PyObject *py_r;
|
||||
int r;
|
||||
const char *device;
|
||||
int n;
|
||||
int cyls;
|
||||
int heads;
|
||||
int sectors;
|
||||
const char *line;
|
||||
|
||||
if (!PyArg_ParseTuple (args, (char *) "Osiiiis:guestfs_sfdisk_N",
|
||||
&py_g, &device, &n, &cyls, &heads, §ors, &line))
|
||||
return NULL;
|
||||
g = get_handle (py_g);
|
||||
|
||||
r = guestfs_sfdisk_N (g, device, n, cyls, heads, sectors, line);
|
||||
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_sfdisk_l (PyObject *self, PyObject *args)
|
||||
{
|
||||
PyObject *py_g;
|
||||
guestfs_h *g;
|
||||
PyObject *py_r;
|
||||
char *r;
|
||||
const char *device;
|
||||
|
||||
if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_sfdisk_l",
|
||||
&py_g, &device))
|
||||
return NULL;
|
||||
g = get_handle (py_g);
|
||||
|
||||
r = guestfs_sfdisk_l (g, device);
|
||||
if (r == NULL) {
|
||||
PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
py_r = PyString_FromString (r);
|
||||
free (r);
|
||||
return py_r;
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
py_guestfs_sfdisk_kernel_geometry (PyObject *self, PyObject *args)
|
||||
{
|
||||
PyObject *py_g;
|
||||
guestfs_h *g;
|
||||
PyObject *py_r;
|
||||
char *r;
|
||||
const char *device;
|
||||
|
||||
if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_sfdisk_kernel_geometry",
|
||||
&py_g, &device))
|
||||
return NULL;
|
||||
g = get_handle (py_g);
|
||||
|
||||
r = guestfs_sfdisk_kernel_geometry (g, device);
|
||||
if (r == NULL) {
|
||||
PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
py_r = PyString_FromString (r);
|
||||
free (r);
|
||||
return py_r;
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
py_guestfs_sfdisk_disk_geometry (PyObject *self, PyObject *args)
|
||||
{
|
||||
PyObject *py_g;
|
||||
guestfs_h *g;
|
||||
PyObject *py_r;
|
||||
char *r;
|
||||
const char *device;
|
||||
|
||||
if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_sfdisk_disk_geometry",
|
||||
&py_g, &device))
|
||||
return NULL;
|
||||
g = get_handle (py_g);
|
||||
|
||||
r = guestfs_sfdisk_disk_geometry (g, device);
|
||||
if (r == NULL) {
|
||||
PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
py_r = PyString_FromString (r);
|
||||
free (r);
|
||||
return py_r;
|
||||
}
|
||||
|
||||
static PyMethodDef methods[] = {
|
||||
{ (char *) "create", py_guestfs_create, METH_VARARGS, NULL },
|
||||
{ (char *) "close", py_guestfs_close, METH_VARARGS, NULL },
|
||||
@@ -3551,6 +3681,11 @@ static PyMethodDef methods[] = {
|
||||
{ (char *) "strings_e", py_guestfs_strings_e, METH_VARARGS, NULL },
|
||||
{ (char *) "hexdump", py_guestfs_hexdump, METH_VARARGS, NULL },
|
||||
{ (char *) "zerofree", py_guestfs_zerofree, METH_VARARGS, NULL },
|
||||
{ (char *) "pvresize", py_guestfs_pvresize, METH_VARARGS, NULL },
|
||||
{ (char *) "sfdisk_N", py_guestfs_sfdisk_N, METH_VARARGS, NULL },
|
||||
{ (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 },
|
||||
{ NULL, NULL, 0, NULL }
|
||||
};
|
||||
|
||||
|
||||
@@ -750,6 +750,8 @@ class GuestFS:
|
||||
you would pass "lines" as a single element list, when
|
||||
the single element being the string "," (comma).
|
||||
|
||||
See also: "g.sfdisk_l", "g.sfdisk_N"
|
||||
|
||||
This command is dangerous. Without careful use you can
|
||||
easily destroy all your data.
|
||||
"""
|
||||
@@ -1348,3 +1350,50 @@ class GuestFS:
|
||||
"""
|
||||
return libguestfsmod.zerofree (self._o, device)
|
||||
|
||||
def pvresize (self, device):
|
||||
u"""This resizes (expands or shrinks) an existing LVM
|
||||
physical volume to match the new size of the underlying
|
||||
device.
|
||||
"""
|
||||
return libguestfsmod.pvresize (self._o, device)
|
||||
|
||||
def sfdisk_N (self, device, n, cyls, heads, sectors, line):
|
||||
u"""This runs sfdisk(8) option to modify just the single
|
||||
partition "n" (note: "n" counts from 1).
|
||||
|
||||
For other parameters, see "g.sfdisk". You should usually
|
||||
pass 0 for the cyls/heads/sectors parameters.
|
||||
|
||||
This command is dangerous. Without careful use you can
|
||||
easily destroy all your data.
|
||||
"""
|
||||
return libguestfsmod.sfdisk_N (self._o, device, n, cyls, heads, sectors, line)
|
||||
|
||||
def sfdisk_l (self, device):
|
||||
u"""This displays the partition table on "device", in the
|
||||
human-readable output of the sfdisk(8) command. It is
|
||||
not intended to be parsed.
|
||||
"""
|
||||
return libguestfsmod.sfdisk_l (self._o, device)
|
||||
|
||||
def sfdisk_kernel_geometry (self, device):
|
||||
u"""This displays the kernel's idea of the geometry of
|
||||
"device".
|
||||
|
||||
The result is in human-readable format, and not designed
|
||||
to be parsed.
|
||||
"""
|
||||
return libguestfsmod.sfdisk_kernel_geometry (self._o, device)
|
||||
|
||||
def sfdisk_disk_geometry (self, device):
|
||||
u"""This displays the disk geometry of "device" read from
|
||||
the partition table. Especially in the case where the
|
||||
underlying block device has been resized, this can be
|
||||
different from the kernel's idea of the geometry (see
|
||||
"g.sfdisk_kernel_geometry").
|
||||
|
||||
The result is in human-readable format, and not designed
|
||||
to be parsed.
|
||||
"""
|
||||
return libguestfsmod.sfdisk_disk_geometry (self._o, device)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user