From c9067babe9d4a3271466f9634325c5106d8739bb Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Fri, 24 Mar 2006 03:18:15 -0800 Subject: [PATCH] --- yaml --- r: 23446 b: refs/heads/master c: 8f2e9f157a94f444dad974b088b853ac40785b02 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/mm/msync.c | 17 ++--------------- 2 files changed, 3 insertions(+), 16 deletions(-) diff --git a/[refs] b/[refs] index b0e8e3e68e17..da70377f9d17 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 18e79b40ed9c5223b88771f805c69f5993fc131b +refs/heads/master: 8f2e9f157a94f444dad974b088b853ac40785b02 diff --git a/trunk/mm/msync.c b/trunk/mm/msync.c index d6a50f3f28b6..2672b8dc3d89 100644 --- a/trunk/mm/msync.c +++ b/trunk/mm/msync.c @@ -9,6 +9,7 @@ */ #include #include +#include #include #include #include @@ -214,23 +215,9 @@ asmlinkage long sys_msync(unsigned long start, size_t len, int flags) vma = find_vma(current->mm, start); } else if ((flags & MS_SYNC) && file && (vma->vm_flags & VM_SHARED)) { - struct address_space *mapping; - int err; - get_file(file); up_read(¤t->mm->mmap_sem); - mapping = file->f_mapping; - error = filemap_fdatawrite(mapping); - if (file->f_op && file->f_op->fsync) { - mutex_lock(&mapping->host->i_mutex); - err = file->f_op->fsync(file,file->f_dentry,1); - mutex_unlock(&mapping->host->i_mutex); - if (err && !error) - error = err; - } - err = filemap_fdatawait(mapping); - if (err && !error) - error = err; + error = do_fsync(file, 0); fput(file); down_read(¤t->mm->mmap_sem); if (error)