diff options
author | Christoph Hellwig <hch@lst.de> | 2010-03-22 12:32:25 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2010-05-21 18:31:21 -0400 |
commit | 8018ab057480974e7f26a387bf4ce040e9a5f6f1 (patch) | |
tree | 98298180bf60797a028eca4f24234dc67d38a9d4 /fs/nfsd | |
parent | e970a573ce30a3976234dcfb67906c164b0df9ee (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.c | 6 | ||||
-rw-r--r-- | fs/nfsd/vfs.c | 5 |
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); |
293 | out: | 293 | out: |
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); |
330 | out: | 330 | out: |
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); |