summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2019-05-14 10:35:44 -0400
committerDavid Howells <dhowells@redhat.com>2019-05-16 17:23:21 -0400
commit7c712458669f203fb2c59af8aafea4c4767b4bc9 (patch)
treeafea6a2720e7676304b30fd45b124eb14c3993ff
parenta58823ac458968f9fb3dbf97ee2749a62be12807 (diff)
afs: Don't save callback version and type fields
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@redhat.com>
-rw-r--r--fs/afs/afs.h4
-rw-r--r--fs/afs/fsclient.c4
-rw-r--r--fs/afs/inode.c8
-rw-r--r--fs/afs/internal.h2
-rw-r--r--fs/afs/super.c1
-rw-r--r--fs/afs/yfsclient.c2
6 files changed, 5 insertions, 16 deletions
diff --git a/fs/afs/afs.h b/fs/afs/afs.h
index 8fa0dffff1cc..819678bd8bec 100644
--- a/fs/afs/afs.h
+++ b/fs/afs/afs.h
@@ -72,8 +72,8 @@ typedef enum {
72 72
73struct afs_callback { 73struct afs_callback {
74 time64_t expires_at; /* Time at which expires */ 74 time64_t expires_at; /* Time at which expires */
75 unsigned version; /* Callback version */ 75 //unsigned version; /* Callback version */
76 afs_callback_type_t type; /* Type of callback */ 76 //afs_callback_type_t type; /* Type of callback */
77}; 77};
78 78
79struct afs_callback_break { 79struct afs_callback_break {
diff --git a/fs/afs/fsclient.c b/fs/afs/fsclient.c
index 5c1b7a031509..89b684c957b9 100644
--- a/fs/afs/fsclient.c
+++ b/fs/afs/fsclient.c
@@ -148,9 +148,9 @@ static void xdr_decode_AFSCallBack(const __be32 **_bp,
148 struct afs_callback *cb = &scb->callback; 148 struct afs_callback *cb = &scb->callback;
149 const __be32 *bp = *_bp; 149 const __be32 *bp = *_bp;
150 150
151 cb->version = ntohl(*bp++); 151 bp++; /* version */
152 cb->expires_at = xdr_decode_expiry(call, ntohl(*bp++)); 152 cb->expires_at = xdr_decode_expiry(call, ntohl(*bp++));
153 cb->type = ntohl(*bp++); 153 bp++; /* type */
154 scb->have_cb = true; 154 scb->have_cb = true;
155 *_bp = bp; 155 *_bp = bp;
156} 156}
diff --git a/fs/afs/inode.c b/fs/afs/inode.c
index 4a9004b9ac5f..8d3d060a33fc 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,
136 if (!scb->have_cb) { 136 if (!scb->have_cb) {
137 /* it's a symlink we just created (the fileserver 137 /* it's a symlink we just created (the fileserver
138 * didn't give us a callback) */ 138 * didn't give us a callback) */
139 vnode->cb_version = 0;
140 vnode->cb_type = 0;
141 vnode->cb_expires_at = ktime_get_real_seconds(); 139 vnode->cb_expires_at = ktime_get_real_seconds();
142 } else { 140 } else {
143 vnode->cb_version = scb->callback.version;
144 vnode->cb_type = scb->callback.type;
145 vnode->cb_expires_at = scb->callback.expires_at; 141 vnode->cb_expires_at = scb->callback.expires_at;
146 old_cbi = vnode->cb_interest; 142 old_cbi = vnode->cb_interest;
147 if (cbi != old_cbi) 143 if (cbi != old_cbi)
@@ -248,8 +244,6 @@ static void afs_apply_callback(struct afs_fs_cursor *fc,
248 struct afs_callback *cb = &scb->callback; 244 struct afs_callback *cb = &scb->callback;
249 245
250 if (!afs_cb_is_broken(cb_break, vnode, fc->cbi)) { 246 if (!afs_cb_is_broken(cb_break, vnode, fc->cbi)) {
251 vnode->cb_version = cb->version;
252 vnode->cb_type = cb->type;
253 vnode->cb_expires_at = cb->expires_at; 247 vnode->cb_expires_at = cb->expires_at;
254 old = vnode->cb_interest; 248 old = vnode->cb_interest;
255 if (old != fc->cbi) { 249 if (old != fc->cbi) {
@@ -535,7 +529,7 @@ struct inode *afs_iget(struct super_block *sb, struct key *key,
535 clear_bit(AFS_VNODE_UNSET, &vnode->flags); 529 clear_bit(AFS_VNODE_UNSET, &vnode->flags);
536 inode->i_flags |= S_NOATIME; 530 inode->i_flags |= S_NOATIME;
537 unlock_new_inode(inode); 531 unlock_new_inode(inode);
538 _leave(" = %p [CB { v=%u t=%u }]", inode, vnode->cb_version, vnode->cb_type); 532 _leave(" = %p", inode);
539 return inode; 533 return inode;
540 534
541 /* failure */ 535 /* failure */
diff --git a/fs/afs/internal.h b/fs/afs/internal.h
index 6ed7d4df4ec6..ca7edfe97410 100644
--- a/fs/afs/internal.h
+++ b/fs/afs/internal.h
@@ -683,8 +683,6 @@ struct afs_vnode {
683 seqlock_t cb_lock; /* Lock for ->cb_interest, ->status, ->cb_*break */ 683 seqlock_t cb_lock; /* Lock for ->cb_interest, ->status, ->cb_*break */
684 684
685 time64_t cb_expires_at; /* time at which callback expires */ 685 time64_t cb_expires_at; /* time at which callback expires */
686 unsigned cb_version; /* callback version */
687 afs_callback_type_t cb_type; /* type of callback */
688}; 686};
689 687
690static inline struct fscache_cookie *afs_vnode_cache(struct afs_vnode *vnode) 688static 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)
683#endif 683#endif
684 684
685 vnode->flags = 1 << AFS_VNODE_UNSET; 685 vnode->flags = 1 << AFS_VNODE_UNSET;
686 vnode->cb_type = 0;
687 vnode->lock_state = AFS_VNODE_LOCK_NONE; 686 vnode->lock_state = AFS_VNODE_LOCK_NONE;
688 687
689 init_rwsem(&vnode->rmdir_lock); 688 init_rwsem(&vnode->rmdir_lock);
diff --git a/fs/afs/yfsclient.c b/fs/afs/yfsclient.c
index 80f579594660..c8f71fc9920b 100644
--- a/fs/afs/yfsclient.c
+++ b/fs/afs/yfsclient.c
@@ -245,8 +245,6 @@ static void xdr_decode_YFSCallBack(const __be32 **_bp,
245 cb_expiry = call->reply_time; 245 cb_expiry = call->reply_time;
246 cb_expiry = ktime_add(cb_expiry, xdr_to_u64(x->expiration_time) * 100); 246 cb_expiry = ktime_add(cb_expiry, xdr_to_u64(x->expiration_time) * 100);
247 cb->expires_at = ktime_divns(cb_expiry, NSEC_PER_SEC); 247 cb->expires_at = ktime_divns(cb_expiry, NSEC_PER_SEC);
248 cb->version = ntohl(x->version);
249 cb->type = ntohl(x->type);
250 scb->have_cb = true; 248 scb->have_cb = true;
251 *_bp += xdr_size(x); 249 *_bp += xdr_size(x);
252} 250}