Merge branch 'for-2.6.35' of git://linux-nfs.org/~bfields/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 9 Jun 2010 19:43:04 +0000 (12:43 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 9 Jun 2010 19:43:04 +0000 (12:43 -0700)
* 'for-2.6.35' of git://linux-nfs.org/~bfields/linux:
  nfsd4: shut down callback queue outside state lock
  nfsd: nfsd_setattr needs to call commit_metadata

1  2 
fs/nfsd/vfs.c

diff --combined fs/nfsd/vfs.c
@@@ -443,8 -443,7 +443,7 @@@ nfsd_setattr(struct svc_rqst *rqstp, st
        if (size_change)
                put_write_access(inode);
        if (!err)
-               if (EX_ISSYNC(fhp->fh_export))
-                       write_inode_now(inode, 1);
+               commit_metadata(fhp);
  out:
        return err;
  
@@@ -999,7 -998,7 +998,7 @@@ static int wait_for_concurrent_writes(s
  
        if (inode->i_state & I_DIRTY) {
                dprintk("nfsd: write sync %d\n", task_pid_nr(current));
 -              err = vfs_fsync(file, file->f_path.dentry, 0);
 +              err = vfs_fsync(file, 0);
        }
        last_ino = inode->i_ino;
        last_dev = inode->i_sb->s_dev;
@@@ -1175,7 -1174,8 +1174,7 @@@ nfsd_commit(struct svc_rqst *rqstp, str
        if (err)
                goto out;
        if (EX_ISSYNC(fhp->fh_export)) {
 -              int err2 = vfs_fsync_range(file, file->f_path.dentry,
 -                              offset, end, 0);
 +              int err2 = vfs_fsync_range(file, offset, end, 0);
  
                if (err2 != -EINVAL)
                        err = nfserrno(err2);