Commit 0ae3fa4d authored by Jeff Layton's avatar Jeff Layton Committed by Steve French
Browse files

cifs: remove superfluous inode_lock in cifs_{strict_}fsync



Originally, filemap_write_and_wait took the i_mutex internally, but
commit 02c24a82 pushed the mutex acquisition into the individual
fsync routines, leaving it up to the subsystem maintainers to remove
it if it wasn't needed.

For cifs, I see no reason to take the inode_lock here. All of the
operations inside that lock are protected in other ways.

Signed-off-by: default avatarJeff Layton <jlayton@kernel.org>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
Acked-by: default avatarPavel Shilovsky <pshilov@microsoft.com>
parent 214bab44
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -2443,7 +2443,6 @@ int cifs_strict_fsync(struct file *file, loff_t start, loff_t end,
	rc = file_write_and_wait_range(file, start, end);
	if (rc)
		return rc;
	inode_lock(inode);

	xid = get_xid();

@@ -2468,7 +2467,6 @@ int cifs_strict_fsync(struct file *file, loff_t start, loff_t end,
	}

	free_xid(xid);
	inode_unlock(inode);
	return rc;
}

@@ -2480,12 +2478,10 @@ int cifs_fsync(struct file *file, loff_t start, loff_t end, int datasync)
	struct TCP_Server_Info *server;
	struct cifsFileInfo *smbfile = file->private_data;
	struct cifs_sb_info *cifs_sb = CIFS_FILE_SB(file);
	struct inode *inode = file->f_mapping->host;

	rc = file_write_and_wait_range(file, start, end);
	if (rc)
		return rc;
	inode_lock(inode);

	xid = get_xid();

@@ -2502,7 +2498,6 @@ int cifs_fsync(struct file *file, loff_t start, loff_t end, int datasync)
	}

	free_xid(xid);
	inode_unlock(inode);
	return rc;
}