---
src/ext2.ml | 2 +-
src/ext2fs-c.c | 7 ++++++-
src/ext2fs.ml | 2 +-
src/ext2fs.mli | 2 +-
4 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/src/ext2.ml b/src/ext2.ml
index bccf3a7..d5c26a7 100644
--- a/src/ext2.ml
+++ b/src/ext2.ml
@@ -52,7 +52,7 @@ let build_ext2 debug basedir files modpath kernel_version appliance =
(quote appliance) in
run_command cmd;
- let fs = ext2fs_open appliance in
+ let fs = ext2fs_open ~debug appliance in
ext2fs_read_bitmaps fs;
if debug >= 1 then
diff --git a/src/ext2fs-c.c b/src/ext2fs-c.c
index 8eab24c..c9d3994 100644
--- a/src/ext2fs-c.c
+++ b/src/ext2fs-c.c
@@ -55,6 +55,7 @@
struct ext2_data
{
ext2_filsys fs;
+ int debug;
};
static void initialize (void) __attribute__((constructor));
@@ -84,6 +85,8 @@ ext2_handle_closed (void)
}
#define Ext2fs_val(v) (*((struct ext2_data *)Data_custom_val(v)))
+#define Val_none Val_int(0)
+#define Some_val(v) Field(v,0)
static void
ext2_finalize (value fsv)
@@ -121,7 +124,7 @@ Val_ext2fs (struct ext2_data *data)
}
value
-supermin_ext2fs_open (value filev)
+supermin_ext2fs_open (value filev, value debugv)
{
CAMLparam1 (filev);
CAMLlocal1 (fsv);
@@ -138,6 +141,8 @@ supermin_ext2fs_open (value filev)
if (err != 0)
ext2_error_to_exception ("ext2fs_open", err, String_val (filev));
+ data.debug = debugv == Val_none ? 0 : Int_val (Some_val (debugv));
+
fsv = Val_ext2fs (&data);
CAMLreturn (fsv);
}
diff --git a/src/ext2fs.ml b/src/ext2fs.ml
index cf7c546..9f3580e 100644
--- a/src/ext2fs.ml
+++ b/src/ext2fs.ml
@@ -18,7 +18,7 @@
type t
-external ext2fs_open : string -> t = "supermin_ext2fs_open"
+external ext2fs_open : string -> ?debug:int -> t =
"supermin_ext2fs_open"
external ext2fs_close : t -> unit = "supermin_ext2fs_close"
external ext2fs_read_bitmaps : t -> unit = "supermin_ext2fs_read_bitmaps"
diff --git a/src/ext2fs.mli b/src/ext2fs.mli
index ebcaf1b..2a59b2d 100644
--- a/src/ext2fs.mli
+++ b/src/ext2fs.mli
@@ -25,7 +25,7 @@
type t
-val ext2fs_open : string -> t
+val ext2fs_open : string -> ?debug:int -> t
val ext2fs_close : t -> unit
val ext2fs_read_bitmaps : t -> unit
--
1.9.3