summaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorRichard Jones <rjones@redhat.com>2009-05-21 16:18:16 +0100
committerRichard Jones <rjones@redhat.com>2009-05-21 16:18:16 +0100
commit3e408f493496597dc026d20778837f421f05a9dd (patch)
tree5aee1850ae052c36ab56de764d4130789280c7a8 /java
parent0f81d0941a2705d49bc129f69924265fa60d9677 (diff)
downloadlibguestfs-3e408f493496597dc026d20778837f421f05a9dd.tar.gz
libguestfs-3e408f493496597dc026d20778837f421f05a9dd.tar.xz
libguestfs-3e408f493496597dc026d20778837f421f05a9dd.zip
Generated code for e2fsck-f command.
Diffstat (limited to 'java')
-rw-r--r--java/com/redhat/et/libguestfs/GuestFS.java29
-rw-r--r--java/com_redhat_et_libguestfs_GuestFS.c17
2 files changed, 46 insertions, 0 deletions
diff --git a/java/com/redhat/et/libguestfs/GuestFS.java b/java/com/redhat/et/libguestfs/GuestFS.java
index f4cec79c..6e2304e6 100644
--- a/java/com/redhat/et/libguestfs/GuestFS.java
+++ b/java/com/redhat/et/libguestfs/GuestFS.java
@@ -2939,6 +2939,13 @@ public class GuestFS {
* This resizes an ext2 or ext3 filesystem to match the
* size of the underlying device.
*
+ * *Note:* It is sometimes required that you run
+ * "g.e2fsck_f" on the "device" before calling this
+ * command. For unknown reasons "resize2fs" sometimes gives
+ * an error about this and sometimes not. In any case, it
+ * is always safe to call "g.e2fsck_f" before calling this
+ * function.
+ *
* @throws LibGuestFSException
*/
public void resize2fs (String device)
@@ -2992,4 +2999,26 @@ public class GuestFS {
private native String[] _find (long g, String directory)
throws LibGuestFSException;
+ /**
+ * check an ext2/ext3 filesystem
+ *
+ * This runs "e2fsck -p -f device", ie. runs the ext2/ext3
+ * filesystem checker on "device", noninteractively ("-p"),
+ * even if the filesystem appears to be clean ("-f").
+ *
+ * This command is only needed because of "g.resize2fs"
+ * (q.v.). Normally you should use "g.fsck".
+ *
+ * @throws LibGuestFSException
+ */
+ public void e2fsck_f (String device)
+ throws LibGuestFSException
+ {
+ if (g == 0)
+ throw new LibGuestFSException ("e2fsck_f: handle is closed");
+ _e2fsck_f (g, device);
+ }
+ private native void _e2fsck_f (long g, String device)
+ throws LibGuestFSException;
+
}
diff --git a/java/com_redhat_et_libguestfs_GuestFS.c b/java/com_redhat_et_libguestfs_GuestFS.c
index 1e7f9de5..dea916e9 100644
--- a/java/com_redhat_et_libguestfs_GuestFS.c
+++ b/java/com_redhat_et_libguestfs_GuestFS.c
@@ -2963,3 +2963,20 @@ Java_com_redhat_et_libguestfs_GuestFS__1find
return jr;
}
+JNIEXPORT void JNICALL
+Java_com_redhat_et_libguestfs_GuestFS__1e2fsck_1f
+ (JNIEnv *env, jobject obj, jlong jg, jstring jdevice)
+{
+ guestfs_h *g = (guestfs_h *) (long) jg;
+ int r;
+ const char *device;
+
+ device = (*env)->GetStringUTFChars (env, jdevice, NULL);
+ r = guestfs_e2fsck_f (g, device);
+ (*env)->ReleaseStringUTFChars (env, jdevice, device);
+ if (r == -1) {
+ throw_exception (env, guestfs_last_error (g));
+ return ;
+ }
+}
+