@@ -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)
@@ -1135,12 +1134,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 */
@@ -89,7 +89,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);
@@ -1973,7 +1973,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;
BugLink: http://launchpad.net/bugs/543617 This reverts commit 5e1941884c700b7b97bcad52c2d8212ac56a7ebc for a patch taken from upstream kernel bugzilla, that fixes the issue for which this commit was a temporary fix. Signed-off-by: Surbhi Palande <surbhi.palande@canonical.com> --- fs/namespace.c | 7 ------- fs/sync.c | 2 +- include/linux/fs.h | 1 - 3 files changed, 1 insertions(+), 9 deletions(-)