X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=daemon%2Fsync.c;h=8f5a461bde54ade38b840057c5f4a81883d74eaf;hp=37e8faab146bd7f9a5b0407d523368134703f008;hb=91324e0a732fe592f2eecd5b541c731bf4f34b74;hpb=34ac5d7b7ad068319169410d293495d789893350 diff --git a/daemon/sync.c b/daemon/sync.c index 37e8faa..8f5a461 100644 --- a/daemon/sync.c +++ b/daemon/sync.c @@ -43,6 +43,24 @@ 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 = 0; + + if (autosync_umount) + 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. @@ -97,7 +115,7 @@ sync_win32 (void) */ TCHAR volname[50]; if (!GetVolumeNameForVolumeMountPoint (p, volname, 50)) - return -1; + return -1; drive = CreateFile (volname, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE,