diff options
| author | Richard Jones <rjones@redhat.com> | 2009-04-30 18:57:07 +0100 |
|---|---|---|
| committer | Richard Jones <rjones@redhat.com> | 2009-04-30 18:57:07 +0100 |
| commit | 0703248d233744047515418893dac05ce013a642 (patch) | |
| tree | ead0b718136e64b179b9d46f3fc314cdd49f2149 /java | |
| parent | c69c3695303d5a660ad093a076c2e364ae6061de (diff) | |
| download | libguestfs-0703248d233744047515418893dac05ce013a642.tar.gz libguestfs-0703248d233744047515418893dac05ce013a642.tar.xz libguestfs-0703248d233744047515418893dac05ce013a642.zip | |
Add generated code for 'fsck' command.
Diffstat (limited to 'java')
| -rw-r--r-- | java/com/redhat/et/libguestfs/GuestFS.java | 26 | ||||
| -rw-r--r-- | java/com_redhat_et_libguestfs_GuestFS.c | 21 |
2 files changed, 47 insertions, 0 deletions
diff --git a/java/com/redhat/et/libguestfs/GuestFS.java b/java/com/redhat/et/libguestfs/GuestFS.java index 7e7cd686..844c3b33 100644 --- a/java/com/redhat/et/libguestfs/GuestFS.java +++ b/java/com/redhat/et/libguestfs/GuestFS.java @@ -2356,4 +2356,30 @@ 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; + } diff --git a/java/com_redhat_et_libguestfs_GuestFS.c b/java/com_redhat_et_libguestfs_GuestFS.c index f012a4b8..1f5579e2 100644 --- a/java/com_redhat_et_libguestfs_GuestFS.c +++ b/java/com_redhat_et_libguestfs_GuestFS.c @@ -2399,3 +2399,24 @@ Java_com_redhat_et_libguestfs_GuestFS__1get_1e2uuid return jr; } +JNIEXPORT jint JNICALL +Java_com_redhat_et_libguestfs_GuestFS__1fsck + (JNIEnv *env, jobject obj, jlong jg, jstring jfstype, jstring jdevice) +{ + guestfs_h *g = (guestfs_h *) (long) jg; + int r; + const char *fstype; + const char *device; + + fstype = (*env)->GetStringUTFChars (env, jfstype, NULL); + device = (*env)->GetStringUTFChars (env, jdevice, NULL); + r = guestfs_fsck (g, fstype, device); + (*env)->ReleaseStringUTFChars (env, jfstype, fstype); + (*env)->ReleaseStringUTFChars (env, jdevice, device); + if (r == -1) { + throw_exception (env, guestfs_last_error (g)); + return 0; + } + return (jint) r; +} + |
