diff options
author | Jeff Layton <jlayton@redhat.com> | 2018-01-09 16:21:17 +0300 |
---|---|---|
committer | Jeff Layton <jlayton@redhat.com> | 2018-01-29 14:42:21 +0300 |
commit | 1eb5d98f16f6d71af8781436d2b0bcf9236f7fc6 (patch) | |
tree | 9fc2e9515a9762e2711f3c3078d4ab865492f0d4 /fs/nfs/write.c | |
parent | ee73f9a52a34377887acfa3b76169709e80d577c (diff) | |
download | linux-1eb5d98f16f6d71af8781436d2b0bcf9236f7fc6.tar.xz |
nfs: convert to new i_version API
For NFS, we just use the "raw" API since the i_version is mostly
managed by the server. The exception there is when the client
holds a write delegation, but we only need to bump it once
there anyway to handle CB_GETATTR.
Tested-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Diffstat (limited to 'fs/nfs/write.c')
-rw-r--r-- | fs/nfs/write.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/fs/nfs/write.c b/fs/nfs/write.c index 5b5f464f6f2a..f87cbe126fa0 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c @@ -23,6 +23,7 @@ #include <linux/export.h> #include <linux/freezer.h> #include <linux/wait.h> +#include <linux/iversion.h> #include <linux/uaccess.h> @@ -753,11 +754,8 @@ static void nfs_inode_add_request(struct inode *inode, struct nfs_page *req) */ spin_lock(&mapping->private_lock); if (!nfs_have_writebacks(inode) && - NFS_PROTO(inode)->have_delegation(inode, FMODE_WRITE)) { - spin_lock(&inode->i_lock); - inode->i_version++; - spin_unlock(&inode->i_lock); - } + NFS_PROTO(inode)->have_delegation(inode, FMODE_WRITE)) + inode_inc_iversion_raw(inode); if (likely(!PageSwapCache(req->wb_page))) { set_bit(PG_MAPPED, &req->wb_flags); SetPagePrivate(req->wb_page); |