[Libguestfs] [PATCH 2/3] ext2: store the debug level

Pino Toscano ptoscano at redhat.com
Wed Jul 30 15:36:27 UTC 2014


---
 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




More information about the Libguestfs mailing list