Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9d2a3f31 authored by J. Bruce Fields's avatar J. Bruce Fields
Browse files

nfsd: track last inode only in use_wgather case



Updating last_ino and last_dev probably isn't useful in the !use_wgather
case.

Also remove some pointless ifdef'd-out code.

Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
parent 6aad89c8
Loading
Loading
Loading
Loading
+10 −15
Original line number Diff line number Diff line
@@ -1026,7 +1026,7 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
	if (host_err >= 0 && (inode->i_mode & (S_ISUID | S_ISGID)))
		kill_suid(dentry);

	if (host_err >= 0 && stable) {
	if (host_err >= 0 && stable && use_wgather) {
		static ino_t	last_ino;
		static dev_t	last_dev;

@@ -1042,7 +1042,6 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
		 * nice and simple solution (IMHO), and it seems to
		 * work:-)
		 */
		if (use_wgather) {
		if (atomic_read(&inode->i_writecount) > 1
		    || (last_ino == inode->i_ino && last_dev == inode->i_sb->s_dev)) {
			dprintk("nfsd: write defer %d\n", task_pid_nr(current));
@@ -1054,10 +1053,6 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
			dprintk("nfsd: write sync %d\n", task_pid_nr(current));
			host_err=nfsd_sync(file);
		}
#if 0
			wake_up(&inode->i_wait);
#endif
		}
		last_ino = inode->i_ino;
		last_dev = inode->i_sb->s_dev;
	}