X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=daemon%2Fsync.c;h=a09c8c15da9ddda552ffa83e3c1bbaab282af529;hb=50c54d2814b13d7d51f659600e93565dc6921b28;hp=b848ab54b337d56f136bd9f9b7131e80298e74b6;hpb=369872b91ed50e2803dc2837183258776e9868e0;p=libguestfs.git diff --git a/daemon/sync.c b/daemon/sync.c index b848ab5..a09c8c1 100644 --- a/daemon/sync.c +++ b/daemon/sync.c @@ -1,5 +1,5 @@ /* libguestfs - the guestfsd daemon - * Copyright (C) 2009 Red Hat Inc. + * Copyright (C) 2009-2011 Red Hat Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -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. @@ -85,9 +103,6 @@ sync_win32 (void) HANDLE drive; DWORD drive_type; - if (verbose) - fprintf (stderr, "sync_win32: examining drive %s\n", p); - /* Ignore removable drives. */ drive_type = GetDriveType (p); if (drive_type == DRIVE_FIXED) { @@ -104,8 +119,6 @@ sync_win32 (void) NULL, OPEN_EXISTING, 0, 0); if (drive == INVALID_HANDLE_VALUE) return -1; - if (verbose) - fprintf (stderr, "sync_win32: flushing %s\n", volname); BOOL r; /* This always fails in Wine: