diff options
Diffstat (limited to 'fs/nfs/file.c')
| -rw-r--r-- | fs/nfs/file.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/nfs/file.c b/fs/nfs/file.c index 5713eb32a45e..af330c31f627 100644 --- a/fs/nfs/file.c +++ b/fs/nfs/file.c @@ -617,6 +617,8 @@ ssize_t nfs_file_write(struct kiocb *iocb, struct iov_iter *from)  		if (result)  			goto out;  	} +	if (iocb->ki_pos > i_size_read(inode)) +		nfs_revalidate_mapping(inode, file->f_mapping);  	nfs_start_io_write(inode);  	result = generic_write_checks(iocb, from); @@ -750,7 +752,7 @@ do_setlk(struct file *filp, int cmd, struct file_lock *fl, int is_local)  	 */  	nfs_sync_mapping(filp->f_mapping);  	if (!NFS_PROTO(inode)->have_delegation(inode, FMODE_READ)) -		nfs_zap_mapping(inode, filp->f_mapping); +		nfs_zap_caches(inode);  out:  	return status;  }  | 
