summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard Jones <rjones@redhat.com>2009-04-04 10:41:34 +0100
committerRichard Jones <rjones@redhat.com>2009-04-04 10:41:34 +0100
commitc9cc61940b41b1abb763a1932adfc3461372c10b (patch)
tree891b310f73b6d1166b59d91ec6f541923c9ab5e6 /src
parent64a5ae0e969754c709974104a83e6d1dbb4c2764 (diff)
downloadlibguestfs-c9cc61940b41b1abb763a1932adfc3461372c10b.tar.gz
libguestfs-c9cc61940b41b1abb763a1932adfc3461372c10b.tar.xz
libguestfs-c9cc61940b41b1abb763a1932adfc3461372c10b.zip
Implemented autosync, make it the default for guestfish.
Diffstat (limited to 'src')
-rw-r--r--src/guestfs.c17
-rw-r--r--src/guestfs.h3
2 files changed, 20 insertions, 0 deletions
diff --git a/src/guestfs.c b/src/guestfs.c
index 0c0a37fe..747aae50 100644
--- a/src/guestfs.c
+++ b/src/guestfs.c
@@ -116,6 +116,7 @@ struct guestfs_h
int cmdline_size;
int verbose;
+ int autosync;
/* Callbacks. */
guestfs_abort_cb abort_cb;
@@ -216,6 +217,10 @@ guestfs_close (guestfs_h *g)
if (g->verbose)
fprintf (stderr, "closing guestfs handle %p (state %d)\n", g, g->state);
+ /* Try to sync if autosync flag is set. */
+ if (g->autosync && g->state == READY)
+ guestfs_sync (g);
+
/* Remove any handlers that might be called back before we kill the
* subprocess.
*/
@@ -378,6 +383,18 @@ guestfs_get_verbose (guestfs_h *g)
return g->verbose;
}
+void
+guestfs_set_autosync (guestfs_h *g, int a)
+{
+ g->autosync = a;
+}
+
+int
+guestfs_get_autosync (guestfs_h *g)
+{
+ return g->autosync;
+}
+
/* Add a string to the current command line. */
static void
incr_cmdline_size (guestfs_h *g)
diff --git a/src/guestfs.h b/src/guestfs.h
index fbfcb3ca..3a09b95b 100644
--- a/src/guestfs.h
+++ b/src/guestfs.h
@@ -51,8 +51,11 @@ extern guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g, void **
extern void guestfs_set_out_of_memory_handler (guestfs_h *g, guestfs_abort_cb);
extern guestfs_abort_cb guestfs_get_out_of_memory_handler (guestfs_h *g);
+/* Misc. */
extern void guestfs_set_verbose (guestfs_h *g, int verbose);
extern int guestfs_get_verbose (guestfs_h *g);
+extern void guestfs_set_autosync (guestfs_h *g, int a);
+extern int guestfs_get_autosync (guestfs_h *g);
#include <guestfs-actions.h>