* set autosync mode
*
* If "autosync" is true, this enables autosync. Libguestfs
- * will make a best effort attempt to run "g.sync" when the
- * handle is closed (also if the program exits without
- * closing handles).
+ * will make a best effort attempt to run "g.umount_all"
+ * followed by "g.sync" when the handle is closed (also if
+ * the program exits without closing handles).
+ *
+ * This is disabled by default (except in guestfish where
+ * it is enabled by default).
*
* @throws LibGuestFSException
*/
private native String _get_e2uuid (long g, String device)
throws LibGuestFSException;
+ /**
+ * run the filesystem checker
+ *
+ * This runs the filesystem checker (fsck) on "device"
+ * which should have filesystem type "fstype".
+ *
+ * The returned integer is the status. See fsck(8) for the
+ * list of status codes from "fsck", and note that multiple
+ * status codes can be summed together.
+ *
+ * It is entirely equivalent to running "fsck -a -t fstype
+ * device". Note that checking or repairing NTFS volumes is
+ * not supported (by linux-ntfs).
+ *
+ * @throws LibGuestFSException
+ */
+ public int fsck (String fstype, String device)
+ throws LibGuestFSException
+ {
+ if (g == 0)
+ throw new LibGuestFSException ("fsck: handle is closed");
+ return _fsck (g, fstype, device);
+ }
+ private native int _fsck (long g, String fstype, String device)
+ throws LibGuestFSException;
+
+ /**
+ * write zeroes to the device
+ *
+ * This command writes zeroes over the first few blocks of
+ * "device".
+ *
+ * How many blocks are zeroed isn't specified (but it's
+ * *not* enough to securely wipe the device). It should be
+ * sufficient to remove any partition tables, filesystem
+ * superblocks and so on.
+ *
+ * @throws LibGuestFSException
+ */
+ public void zero (String device)
+ throws LibGuestFSException
+ {
+ if (g == 0)
+ throw new LibGuestFSException ("zero: handle is closed");
+ _zero (g, device);
+ }
+ private native void _zero (long g, String device)
+ throws LibGuestFSException;
+
}