diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2011-01-28 15:28:25 +0000 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2011-01-28 15:28:25 +0000 |
commit | d2636b0984830d950423dadd936114ff242c4a00 (patch) | |
tree | d773c806f380fdaaeee7a0393e990f7156e2ad5e /daemon | |
parent | 1d999540bddd7aea7c2d0fef8b15223d4acc645f (diff) | |
download | libguestfs-d2636b0984830d950423dadd936114ff242c4a00.tar.gz libguestfs-d2636b0984830d950423dadd936114ff242c4a00.tar.xz libguestfs-d2636b0984830d950423dadd936114ff242c4a00.zip |
Add a new internal-autosync API to perform autosync.
Instead of explicitly calling umount-all; sync, we add a daemon
function called internal-autosync which does the same.
Apart from slightly simplifying the process of closing the handle, the
main advantage is we can modify the daemon for the standalone case so
that internal-autosync does not do the umount-all operation.
Diffstat (limited to 'daemon')
-rw-r--r-- | daemon/sync.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/daemon/sync.c b/daemon/sync.c index b848ab54..25c7de89 100644 --- a/daemon/sync.c +++ b/daemon/sync.c @@ -43,6 +43,23 @@ do_sync (void) return 0; } +/* Older versions of libguestfs used to issue separate 'umount_all' + * and 'sync' commands just before closing the handle. Since + * libguestfs 1.9.7 the library issues this 'internal_autosync' + * internal operation instead, allowing more control in the daemon. + */ +int +do_internal_autosync (void) +{ + int r; + + r = do_umount_all (); + + sync_disks (); + + return r; +} + /* This is a replacement for sync(2) which is called from * this file and from other places in the daemon. It works * on Windows too. |