[PATCH 06/12] afs: Don't save callback version and type fields

From: David Howells
Date: Wed May 15 2019 - 17:01:00 EST


Don't save callback version and type fields as the version is about the
format of the callback information and the type is relative to the
particular RPC call.

Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
---

fs/afs/afs.h | 4 ++--
fs/afs/fsclient.c | 4 ++--
fs/afs/inode.c | 8 +-------
fs/afs/internal.h | 2 --
fs/afs/super.c | 1 -
fs/afs/yfsclient.c | 2 --
6 files changed, 5 insertions(+), 16 deletions(-)

diff --git a/fs/afs/afs.h b/fs/afs/afs.h
index bcdab0a7fb01..ed9569fccb76 100644
--- a/fs/afs/afs.h
+++ b/fs/afs/afs.h
@@ -69,8 +69,8 @@ typedef enum {

struct afs_callback {
time64_t expires_at; /* Time at which expires */
- unsigned version; /* Callback version */
- afs_callback_type_t type; /* Type of callback */
+ //unsigned version; /* Callback version */
+ //afs_callback_type_t type; /* Type of callback */
};

struct afs_callback_break {
diff --git a/fs/afs/fsclient.c b/fs/afs/fsclient.c
index 24ed4049ff67..86c88babe0fe 100644
--- a/fs/afs/fsclient.c
+++ b/fs/afs/fsclient.c
@@ -148,9 +148,9 @@ static void xdr_decode_AFSCallBack(const __be32 **_bp,
struct afs_callback *cb = &scb->callback;
const __be32 *bp = *_bp;

- cb->version = ntohl(*bp++);
+ bp++; /* version */
cb->expires_at = xdr_decode_expiry(call, ntohl(*bp++));
- cb->type = ntohl(*bp++);
+ bp++; /* type */
scb->have_cb = true;
*_bp = bp;
}
diff --git a/fs/afs/inode.c b/fs/afs/inode.c
index f54b6d7ebab8..b644f3d5e4e9 100644
--- a/fs/afs/inode.c
+++ b/fs/afs/inode.c
@@ -136,12 +136,8 @@ static int afs_inode_init_from_status(struct afs_vnode *vnode, struct key *key,
if (!scb->have_cb) {
/* it's a symlink we just created (the fileserver
* didn't give us a callback) */
- vnode->cb_version = 0;
- vnode->cb_type = 0;
vnode->cb_expires_at = ktime_get_real_seconds();
} else {
- vnode->cb_version = scb->callback.version;
- vnode->cb_type = scb->callback.type;
vnode->cb_expires_at = scb->callback.expires_at;
old_cbi = vnode->cb_interest;
if (cbi != old_cbi)
@@ -248,8 +244,6 @@ static void afs_apply_callback(struct afs_fs_cursor *fc,
struct afs_callback *cb = &scb->callback;

if (!afs_cb_is_broken(cb_break, vnode, fc->cbi)) {
- vnode->cb_version = cb->version;
- vnode->cb_type = cb->type;
vnode->cb_expires_at = cb->expires_at;
old = vnode->cb_interest;
if (old != fc->cbi) {
@@ -534,7 +528,7 @@ struct inode *afs_iget(struct super_block *sb, struct key *key,
clear_bit(AFS_VNODE_UNSET, &vnode->flags);
inode->i_flags |= S_NOATIME;
unlock_new_inode(inode);
- _leave(" = %p [CB { v=%u t=%u }]", inode, vnode->cb_version, vnode->cb_type);
+ _leave(" = %p", inode);
return inode;

/* failure */
diff --git a/fs/afs/internal.h b/fs/afs/internal.h
index ed2f92f9d705..175501a7cf8b 100644
--- a/fs/afs/internal.h
+++ b/fs/afs/internal.h
@@ -682,8 +682,6 @@ struct afs_vnode {
seqlock_t cb_lock; /* Lock for ->cb_interest, ->status, ->cb_*break */

time64_t cb_expires_at; /* time at which callback expires */
- unsigned cb_version; /* callback version */
- afs_callback_type_t cb_type; /* type of callback */
};

static inline struct fscache_cookie *afs_vnode_cache(struct afs_vnode *vnode)
diff --git a/fs/afs/super.c b/fs/afs/super.c
index f45a95eea237..a81c235f8c57 100644
--- a/fs/afs/super.c
+++ b/fs/afs/super.c
@@ -683,7 +683,6 @@ static struct inode *afs_alloc_inode(struct super_block *sb)
#endif

vnode->flags = 1 << AFS_VNODE_UNSET;
- vnode->cb_type = 0;
vnode->lock_state = AFS_VNODE_LOCK_NONE;

init_rwsem(&vnode->rmdir_lock);
diff --git a/fs/afs/yfsclient.c b/fs/afs/yfsclient.c
index 701b6ee4ce10..ffbec5acbd76 100644
--- a/fs/afs/yfsclient.c
+++ b/fs/afs/yfsclient.c
@@ -245,8 +245,6 @@ static void xdr_decode_YFSCallBack(const __be32 **_bp,
cb_expiry = call->reply_time;
cb_expiry = ktime_add(cb_expiry, xdr_to_u64(x->expiration_time) * 100);
cb->expires_at = ktime_divns(cb_expiry, NSEC_PER_SEC);
- cb->version = ntohl(x->version);
- cb->type = ntohl(x->type);
scb->have_cb = true;
*_bp += xdr_size(x);
}