FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Ubuntu > Ubuntu Kernel Team

 
 
LinkBack Thread Tools
 
Old 05-21-2010, 11:17 PM
Leann Ogasawara
 
Default Revert "UBUNTU: SAUCE: sync before umount to reduce time taken by ext4 umount"

>From d64d436800f34cbfedbb1b65079195b6bc445a1f Mon Sep 17 00:00:00 2001
From: Leann Ogasawara <leann.ogasawara@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@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




--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team
 

Thread Tools




All times are GMT. The time now is 07:00 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org