X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;ds=sidebyside;f=java%2Fcom%2Fredhat%2Fet%2Flibguestfs%2FGuestFS.java;h=293ee23e1f5dc185b2a494a9b7f294c1a885792f;hb=62df226f26bd6ac3c481a7790eb89d760d2f0386;hp=fdf6e4ec881135aff223a8753d07c5683142549d;hpb=b03ee3675bed8d739ae722ed8c030ae02b3cb0ed;p=libguestfs.git diff --git a/java/com/redhat/et/libguestfs/GuestFS.java b/java/com/redhat/et/libguestfs/GuestFS.java index fdf6e4e..293ee23 100644 --- a/java/com/redhat/et/libguestfs/GuestFS.java +++ b/java/com/redhat/et/libguestfs/GuestFS.java @@ -319,9 +319,12 @@ public class GuestFS { * 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 */ @@ -2353,4 +2356,53 @@ public class GuestFS { 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; + }