3
0
forked from pool/util-linux
util-linux/util-linux-2.14.1-mount_skip_sync.patch

28 lines
835 B
Diff

Index: util-linux-ng-2.14.1/mount/umount.c
===================================================================
--- util-linux-ng-2.14.1.orig/mount/umount.c 2008-11-20 15:01:09.000000000 +0100
+++ util-linux-ng-2.14.1/mount/umount.c 2008-11-20 15:04:39.000000000 +0100
@@ -384,6 +384,7 @@ static int
umount_all (char *types, char *test_opts) {
struct mntentchn *mc, *hd;
int errors = 0;
+ int do_sync = 0;
lock_mtab();
hd = mtab_head();
@@ -394,11 +395,13 @@ umount_all (char *types, char *test_opts
&& matching_opts (mc->m.mnt_opts, test_opts)) {
errors |= umount_one (mc->m.mnt_fsname, mc->m.mnt_dir,
mc->m.mnt_type, mc->m.mnt_opts, mc);
+ do_sync = 1;
}
}
unlock_mtab();
- sync ();
+ if (do_sync)
+ sync ();
return errors;
}