aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2010-03-22 12:32:25 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2010-05-21 18:31:21 -0400
commit8018ab057480974e7f26a387bf4ce040e9a5f6f1 (patch)
tree98298180bf60797a028eca4f24234dc67d38a9d4 /fs/nfsd
parente970a573ce30a3976234dcfb67906c164b0df9ee (diff)
sanitize vfs_fsync calling conventions
Now that the last user passing a NULL file pointer is gone we can remove the redundant dentry argument and associated hacks inside vfs_fsynmc_range. The next step will be removig the dentry argument from ->fsync, but given the luck with the last round of method prototype changes I'd rather defer this until after the main merge window. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/nfsd')
-rw-r--r--fs/nfsd/nfs4recover.c6
-rw-r--r--fs/nfsd/vfs.c5
2 files changed, 5 insertions, 6 deletions
diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c
index dada03f2c13b..7e26caab2a26 100644
--- a/fs/nfsd/nfs4recover.c
+++ b/fs/nfsd/nfs4recover.c
@@ -158,7 +158,7 @@ out_unlock:
158 mutex_unlock(&dir->d_inode->i_mutex); 158 mutex_unlock(&dir->d_inode->i_mutex);
159 if (status == 0) { 159 if (status == 0) {
160 clp->cl_firststate = 1; 160 clp->cl_firststate = 1;
161 vfs_fsync(rec_file, rec_file->f_path.dentry, 0); 161 vfs_fsync(rec_file, 0);
162 } 162 }
163 nfs4_reset_creds(original_cred); 163 nfs4_reset_creds(original_cred);
164 dprintk("NFSD: nfsd4_create_clid_dir returns %d\n", status); 164 dprintk("NFSD: nfsd4_create_clid_dir returns %d\n", status);
@@ -288,7 +288,7 @@ nfsd4_remove_clid_dir(struct nfs4_client *clp)
288 status = nfsd4_unlink_clid_dir(clp->cl_recdir, HEXDIR_LEN-1); 288 status = nfsd4_unlink_clid_dir(clp->cl_recdir, HEXDIR_LEN-1);
289 nfs4_reset_creds(original_cred); 289 nfs4_reset_creds(original_cred);
290 if (status == 0) 290 if (status == 0)
291 vfs_fsync(rec_file, rec_file->f_path.dentry, 0); 291 vfs_fsync(rec_file, 0);
292 mnt_drop_write(rec_file->f_path.mnt); 292 mnt_drop_write(rec_file->f_path.mnt);
293out: 293out:
294 if (status) 294 if (status)
@@ -325,7 +325,7 @@ nfsd4_recdir_purge_old(void) {
325 goto out; 325 goto out;
326 status = nfsd4_list_rec_dir(rec_file->f_path.dentry, purge_old); 326 status = nfsd4_list_rec_dir(rec_file->f_path.dentry, purge_old);
327 if (status == 0) 327 if (status == 0)
328 vfs_fsync(rec_file, rec_file->f_path.dentry, 0); 328 vfs_fsync(rec_file, 0);
329 mnt_drop_write(rec_file->f_path.mnt); 329 mnt_drop_write(rec_file->f_path.mnt);
330out: 330out:
331 if (status) 331 if (status)
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
index 23c06f77f4ca..ebbf3b6b2457 100644
--- a/fs/nfsd/vfs.c
+++ b/fs/nfsd/vfs.c
@@ -999,7 +999,7 @@ static int wait_for_concurrent_writes(struct file *file)
999 999
1000 if (inode->i_state & I_DIRTY) { 1000 if (inode->i_state & I_DIRTY) {
1001 dprintk("nfsd: write sync %d\n", task_pid_nr(current)); 1001 dprintk("nfsd: write sync %d\n", task_pid_nr(current));
1002 err = vfs_fsync(file, file->f_path.dentry, 0); 1002 err = vfs_fsync(file, 0);
1003 } 1003 }
1004 last_ino = inode->i_ino; 1004 last_ino = inode->i_ino;
1005 last_dev = inode->i_sb->s_dev; 1005 last_dev = inode->i_sb->s_dev;
@@ -1175,8 +1175,7 @@ nfsd_commit(struct svc_rqst *rqstp, struct svc_fh *fhp,
1175 if (err) 1175 if (err)
1176 goto out; 1176 goto out;
1177 if (EX_ISSYNC(fhp->fh_export)) { 1177 if (EX_ISSYNC(fhp->fh_export)) {
1178 int err2 = vfs_fsync_range(file, file->f_path.dentry, 1178 int err2 = vfs_fsync_range(file, offset, end, 0);
1179 offset, end, 0);
1180 1179
1181 if (err2 != -EINVAL) 1180 if (err2 != -EINVAL)
1182 err = nfserrno(err2); 1181 err = nfserrno(err2);