diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2018-03-27 17:10:42 -0400 |
---|---|---|
committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2018-04-10 16:06:22 -0400 |
commit | f6cdfa6dd629604d6a6af4de92b9c6eea6d52b1c (patch) | |
tree | 030f490d58d26df3704d1b7a55f9e39e149fe91a /fs | |
parent | aae5730e2d32d779b31c81fa62e79c8e3bba1ac2 (diff) | |
download | op-kernel-dev-f6cdfa6dd629604d6a6af4de92b9c6eea6d52b1c.zip op-kernel-dev-f6cdfa6dd629604d6a6af4de92b9c6eea6d52b1c.tar.gz |
NFSv4: Declare the size up to date after it was set.
When we've changed the file size, then ensure we declare it to be
up to date in the inode attributes.
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/nfs/inode.c | 1 | ||||
-rw-r--r-- | fs/nfs/write.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index a2c5d4a..ba73eda 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c @@ -646,6 +646,7 @@ static int nfs_vmtruncate(struct inode * inode, loff_t offset) /* Optimisation */ if (offset == 0) NFS_I(inode)->cache_validity &= ~NFS_INO_INVALID_DATA; + NFS_I(inode)->cache_validity &= ~NFS_INO_INVALID_SIZE; spin_unlock(&inode->i_lock); truncate_pagecache(inode, offset); diff --git a/fs/nfs/write.c b/fs/nfs/write.c index 3efce54..541471a 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c @@ -231,6 +231,7 @@ static void nfs_grow_file(struct page *page, unsigned int offset, unsigned int c if (i_size >= end) goto out; i_size_write(inode, end); + NFS_I(inode)->cache_validity &= ~NFS_INO_INVALID_SIZE; nfs_inc_stats(inode, NFSIOS_EXTENDWRITE); out: spin_unlock(&inode->i_lock); |