[PATCH 04/13] Revert "UBUNTU: SAUCE: sync before umount to reduce time taken by ext4 umount"
Leann Ogasawara
leann.ogasawara at canonical.com
Fri May 21 23:17:46 UTC 2010
>From d64d436800f34cbfedbb1b65079195b6bc445a1f Mon Sep 17 00:00:00 2001
From: Leann Ogasawara <leann.ogasawara at canonical.com>
Date: Fri, 21 May 2010 14:31:13 -0700
Subject: [PATCH 04/13] Revert "UBUNTU: SAUCE: sync before umount to reduce time taken by ext4 umount"
This reverts commit 0e6224656c7bb48af82a28f702af1e475bf0eea5.
This was a temporary fix for http://launchpad.net/bugs/543617 and
resulted in negative side affects performance wise. The proper fix has
been submitted for 2.6.35 - http://lkml.org/lkml/2010/5/21/361
writeback: fix WB_SYNC_NONE writeback from umount
writeback: ensure that WB_SYNC_NONE writeback with sb pinned is sync
Signed-off-by: Leann Ogasawara <leann.ogasawara at canonical.com>
---
fs/namespace.c | 7 -------
fs/sync.c | 2 +-
include/linux/fs.h | 1 -
3 files changed, 1 insertions(+), 9 deletions(-)
diff --git a/fs/namespace.c b/fs/namespace.c
index 6c52c5c..118e0c3 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -33,7 +33,6 @@
#include <asm/unistd.h>
#include "pnode.h"
#include "internal.h"
-#include <linux/fs.h>
#define HASH_SHIFT ilog2(PAGE_SIZE / sizeof(struct list_head))
#define HASH_SIZE (1UL << HASH_SHIFT)
@@ -1159,12 +1158,6 @@ SYSCALL_DEFINE2(umount, char __user *, name, int, flags)
if (!capable(CAP_SYS_ADMIN))
goto dput_and_out;
- /* Temporary solution to fix long umount periods till
- * we find the real fix
- */
- sync_filesystems(0);
- sync_filesystems(1);
-
retval = do_umount(path.mnt, flags);
dput_and_out:
/* we mustn't call path_put() as that would clear mnt_expiry_mark */
diff --git a/fs/sync.c b/fs/sync.c
index 668a85f..92b2281 100644
--- a/fs/sync.c
+++ b/fs/sync.c
@@ -91,7 +91,7 @@ EXPORT_SYMBOL_GPL(sync_filesystem);
* flags again, which will cause process A to resync everything. Fix that with
* a local mutex.
*/
-void sync_filesystems(int wait)
+static void sync_filesystems(int wait)
{
struct super_block *sb;
static DEFINE_MUTEX(mutex);
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 7258c32..44f35ae 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1968,7 +1968,6 @@ static inline int thaw_bdev(struct block_device *bdev, struct super_block *sb)
return 0;
}
#endif
-extern void sync_filesystems(int wait);
extern int sync_filesystem(struct super_block *);
extern const struct file_operations def_blk_fops;
extern const struct file_operations def_chr_fops;
--
1.7.0.4
More information about the kernel-team
mailing list