A number of places in the fscache interface used nfs_inode when inode could
be used, simplifying the code.  Also, handle the read of i_size properly by
utilizing the i_size_read() interface.

Signed-off-by: Dave Wysochanski <dwyso...@redhat.com>
---
 fs/nfs/fscache.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/fs/nfs/fscache.c b/fs/nfs/fscache.c
index d3efb8ba4fb7..8f17fda5b8c9 100644
--- a/fs/nfs/fscache.c
+++ b/fs/nfs/fscache.c
@@ -226,16 +226,16 @@ void nfs_fscache_release_super_cookie(struct super_block 
*sb)
 }
 
 static void nfs_fscache_update_auxdata(struct nfs_fscache_inode_auxdata 
*auxdata,
-                                 struct nfs_inode *nfsi)
+                                 struct inode *inode)
 {
        memset(auxdata, 0, sizeof(*auxdata));
-       auxdata->mtime_sec  = nfsi->vfs_inode.i_mtime.tv_sec;
-       auxdata->mtime_nsec = nfsi->vfs_inode.i_mtime.tv_nsec;
-       auxdata->ctime_sec  = nfsi->vfs_inode.i_ctime.tv_sec;
-       auxdata->ctime_nsec = nfsi->vfs_inode.i_ctime.tv_nsec;
+       auxdata->mtime_sec  = inode->i_mtime.tv_sec;
+       auxdata->mtime_nsec = inode->i_mtime.tv_nsec;
+       auxdata->ctime_sec  = inode->i_ctime.tv_sec;
+       auxdata->ctime_nsec = inode->i_ctime.tv_nsec;
 
-       if (NFS_SERVER(&nfsi->vfs_inode)->nfs_client->rpc_ops->version == 4)
-               auxdata->change_attr = 
inode_peek_iversion_raw(&nfsi->vfs_inode);
+       if (NFS_SERVER(inode)->nfs_client->rpc_ops->version == 4)
+               auxdata->change_attr = inode_peek_iversion_raw(inode);
 }
 
 /*
@@ -251,13 +251,13 @@ void nfs_fscache_init_inode(struct inode *inode)
        if (!(nfss->fscache && S_ISREG(inode->i_mode)))
                return;
 
-       nfs_fscache_update_auxdata(&auxdata, nfsi);
+       nfs_fscache_update_auxdata(&auxdata, inode);
 
        nfsi->fscache = fscache_acquire_cookie(NFS_SB(inode->i_sb)->fscache,
                                               &nfs_fscache_inode_object_def,
                                               nfsi->fh.data, nfsi->fh.size,
                                               &auxdata, sizeof(auxdata),
-                                              nfsi, nfsi->vfs_inode.i_size, 
false);
+                                              nfsi, i_size_read(inode), false);
 }
 
 /*
@@ -271,7 +271,7 @@ void nfs_fscache_clear_inode(struct inode *inode)
 
        dfprintk(FSCACHE, "NFS: clear cookie (0x%p/0x%p)\n", nfsi, cookie);
 
-       nfs_fscache_update_auxdata(&auxdata, nfsi);
+       nfs_fscache_update_auxdata(&auxdata, inode);
        fscache_relinquish_cookie(cookie, &auxdata, false);
        nfsi->fscache = NULL;
 }
@@ -311,7 +311,7 @@ void nfs_fscache_open_file(struct inode *inode, struct file 
*filp)
        if (!fscache_cookie_valid(cookie))
                return;
 
-       nfs_fscache_update_auxdata(&auxdata, nfsi);
+       nfs_fscache_update_auxdata(&auxdata, inode);
 
        if (inode_is_open_for_write(inode)) {
                dfprintk(FSCACHE, "NFS: nfsi 0x%p disabling cache\n", nfsi);
@@ -319,7 +319,7 @@ void nfs_fscache_open_file(struct inode *inode, struct file 
*filp)
                fscache_disable_cookie(cookie, &auxdata, true);
        } else {
                dfprintk(FSCACHE, "NFS: nfsi 0x%p enabling cache\n", nfsi);
-               fscache_enable_cookie(cookie, &auxdata, nfsi->vfs_inode.i_size,
+               fscache_enable_cookie(cookie, &auxdata, i_size_read(inode),
                                      nfs_fscache_can_enable, inode);
                if (fscache_cookie_enabled(cookie))
                        set_bit(NFS_INO_FSCACHE, &NFS_I(inode)->flags);
-- 
1.8.3.1

--
Linux-cachefs mailing list
Linux-cachefs@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-cachefs

Reply via email to