summaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2009-06-23 15:53:44 +0100
committerRichard W.M. Jones <rjones@redhat.com>2009-06-23 15:53:44 +0100
commitbcb3fc0c3336c05e9ecbbfb25c7c31b42bd3e32e (patch)
tree80042c722c65911c3a3b55a275daefff96220e7f /python
parentda7cf3670fe60301beeb175ff6c284b737d5b7f4 (diff)
downloadlibguestfs-bcb3fc0c3336c05e9ecbbfb25c7c31b42bd3e32e.tar.gz
libguestfs-bcb3fc0c3336c05e9ecbbfb25c7c31b42bd3e32e.tar.xz
libguestfs-bcb3fc0c3336c05e9ecbbfb25c7c31b42bd3e32e.zip
Generated code for 'scrub-*' commands.
Diffstat (limited to 'python')
-rw-r--r--python/guestfs-py.c78
-rw-r--r--python/guestfs.py39
2 files changed, 116 insertions, 1 deletions
diff --git a/python/guestfs-py.c b/python/guestfs-py.c
index 60e20d2e..b1623fe5 100644
--- a/python/guestfs-py.c
+++ b/python/guestfs-py.c
@@ -4531,6 +4531,81 @@ py_guestfs_glob_expand (PyObject *self, PyObject *args)
return py_r;
}
+static PyObject *
+py_guestfs_scrub_device (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_scrub_device",
+ &py_g, &device))
+ return NULL;
+ g = get_handle (py_g);
+
+ r = guestfs_scrub_device (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_scrub_file (PyObject *self, PyObject *args)
+{
+ PyObject *py_g;
+ guestfs_h *g;
+ PyObject *py_r;
+ int r;
+ const char *file;
+
+ if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_scrub_file",
+ &py_g, &file))
+ return NULL;
+ g = get_handle (py_g);
+
+ r = guestfs_scrub_file (g, file);
+ 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_scrub_freespace (PyObject *self, PyObject *args)
+{
+ PyObject *py_g;
+ guestfs_h *g;
+ PyObject *py_r;
+ int r;
+ const char *dir;
+
+ if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_scrub_freespace",
+ &py_g, &dir))
+ return NULL;
+ g = get_handle (py_g);
+
+ r = guestfs_scrub_freespace (g, dir);
+ 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 },
@@ -4699,6 +4774,9 @@ static PyMethodDef methods[] = {
{ (char *) "sh", py_guestfs_sh, METH_VARARGS, NULL },
{ (char *) "sh_lines", py_guestfs_sh_lines, METH_VARARGS, NULL },
{ (char *) "glob_expand", py_guestfs_glob_expand, METH_VARARGS, NULL },
+ { (char *) "scrub_device", py_guestfs_scrub_device, METH_VARARGS, NULL },
+ { (char *) "scrub_file", py_guestfs_scrub_file, METH_VARARGS, NULL },
+ { (char *) "scrub_freespace", py_guestfs_scrub_freespace, METH_VARARGS, NULL },
{ NULL, NULL, 0, NULL }
};
diff --git a/python/guestfs.py b/python/guestfs.py
index 39766109..0bc041e6 100644
--- a/python/guestfs.py
+++ b/python/guestfs.py
@@ -197,7 +197,7 @@ class GuestFS:
to modify the image).
This is equivalent to the qemu parameter "-drive
- file=filename".
+ file=filename,cache=off".
Note that this call checks for the existence of
"filename". This stops you from specifying other types
@@ -1342,6 +1342,8 @@ class GuestFS:
*not* enough to securely wipe the device). It should be
sufficient to remove any partition tables, filesystem
superblocks and so on.
+
+ See also: "g.scrub_device".
"""
return libguestfsmod.zero (self._o, device)
@@ -1667,3 +1669,38 @@ class GuestFS:
"""
return libguestfsmod.glob_expand (self._o, pattern)
+ def scrub_device (self, device):
+ u"""This command writes patterns over "device" to make data
+ retrieval more difficult.
+
+ It is an interface to the scrub(1) program. See that
+ manual page for more details.
+
+ This command is dangerous. Without careful use you can
+ easily destroy all your data.
+ """
+ return libguestfsmod.scrub_device (self._o, device)
+
+ def scrub_file (self, file):
+ u"""This command writes patterns over a file to make data
+ retrieval more difficult.
+
+ The file is *removed* after scrubbing.
+
+ It is an interface to the scrub(1) program. See that
+ manual page for more details.
+ """
+ return libguestfsmod.scrub_file (self._o, file)
+
+ def scrub_freespace (self, dir):
+ u"""This command creates the directory "dir" and then fills
+ it with files until the filesystem is full, and scrubs
+ the files as for "g.scrub_file", and deletes them. The
+ intention is to scrub any free space on the partition
+ containing "dir".
+
+ It is an interface to the scrub(1) program. See that
+ manual page for more details.
+ """
+ return libguestfsmod.scrub_freespace (self._o, dir)
+