diff options
author | David S. Miller <davem@davemloft.net> | 2017-08-10 12:09:13 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-08-10 12:09:13 -0700 |
commit | 2f7043a37708110aa98262b91702da6bc32e17b6 (patch) | |
tree | de0525dae8420a56f9a00def631ccc0108d9d091 /fs/nfs/file.c | |
parent | 4d9fbf539b52810cd2903719b181ed3d3ccd861f (diff) | |
parent | 26273939ace935dd7553b31d279eab30b40f7b9a (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
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; } |