diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2009-05-13 17:51:14 +0100 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2009-05-13 17:51:14 +0100 |
commit | e8ecc08f663b44f3d79517affe52f137858dfe00 (patch) | |
tree | 0bee77cb454884699d671f5b1ef264ba4fde5f9e /python | |
parent | 5b17af107f75a0d6f3a39b88b9c18714014eb7af (diff) | |
download | libguestfs-e8ecc08f663b44f3d79517affe52f137858dfe00.tar.gz libguestfs-e8ecc08f663b44f3d79517affe52f137858dfe00.tar.xz libguestfs-e8ecc08f663b44f3d79517affe52f137858dfe00.zip |
Add 'append', LIBGUESTFS_APPEND to set additional kernel options.
Diffstat (limited to 'python')
-rw-r--r-- | python/guestfs-py.c | 50 | ||||
-rw-r--r-- | python/guestfs.py | 24 |
2 files changed, 74 insertions, 0 deletions
diff --git a/python/guestfs-py.c b/python/guestfs-py.c index 11ea6a45..3a09afb3 100644 --- a/python/guestfs-py.c +++ b/python/guestfs-py.c @@ -633,6 +633,54 @@ py_guestfs_get_path (PyObject *self, PyObject *args) } static PyObject * +py_guestfs_set_append (PyObject *self, PyObject *args) +{ + PyObject *py_g; + guestfs_h *g; + PyObject *py_r; + int r; + const char *append; + + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_set_append", + &py_g, &append)) + return NULL; + g = get_handle (py_g); + + r = guestfs_set_append (g, append); + 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_get_append (PyObject *self, PyObject *args) +{ + PyObject *py_g; + guestfs_h *g; + PyObject *py_r; + const char *r; + + if (!PyArg_ParseTuple (args, (char *) "O:guestfs_get_append", + &py_g)) + return NULL; + g = get_handle (py_g); + + r = guestfs_get_append (g); + if (r == NULL) { + PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); + return NULL; + } + + py_r = PyString_FromString (r); + return py_r; +} + +static PyObject * py_guestfs_set_autosync (PyObject *self, PyObject *args) { PyObject *py_g; @@ -3367,6 +3415,8 @@ static PyMethodDef methods[] = { { (char *) "get_qemu", py_guestfs_get_qemu, METH_VARARGS, NULL }, { (char *) "set_path", py_guestfs_set_path, METH_VARARGS, NULL }, { (char *) "get_path", py_guestfs_get_path, METH_VARARGS, NULL }, + { (char *) "set_append", py_guestfs_set_append, METH_VARARGS, NULL }, + { (char *) "get_append", py_guestfs_get_append, METH_VARARGS, NULL }, { (char *) "set_autosync", py_guestfs_set_autosync, METH_VARARGS, NULL }, { (char *) "get_autosync", py_guestfs_get_autosync, METH_VARARGS, NULL }, { (char *) "set_verbose", py_guestfs_set_verbose, METH_VARARGS, NULL }, diff --git a/python/guestfs.py b/python/guestfs.py index 37dc80f7..324dea56 100644 --- a/python/guestfs.py +++ b/python/guestfs.py @@ -192,6 +192,30 @@ class GuestFS: """ return libguestfsmod.get_path (self._o) + def set_append (self, append): + u"""This function is used to add additional options to the + guest kernel command line. + + The default is "NULL" unless overridden by setting + "LIBGUESTFS_APPEND" environment variable. + + The string "append" is stashed in the libguestfs handle, + so the caller must make sure it remains valid for the + lifetime of the handle. + + Setting "append" to "NULL" means *no* additional options + are passed (libguestfs always adds a few of its own). + """ + return libguestfsmod.set_append (self._o, append) + + def get_append (self): + u"""Return the additional kernel options which are added to + the guest kernel command line. + + If "NULL" then no options are added. + """ + return libguestfsmod.get_append (self._o) + def set_autosync (self, autosync): u"""If "autosync" is true, this enables autosync. Libguestfs will make a best effort attempt to run "g.umount_all" |