aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/afs/fsclient.c2
-rw-r--r--fs/afs/inode.c7
-rw-r--r--fs/afs/internal.h4
3 files changed, 7 insertions, 6 deletions
diff --git a/fs/afs/fsclient.c b/fs/afs/fsclient.c
index 6f917dd1238c..c05452a09398 100644
--- a/fs/afs/fsclient.c
+++ b/fs/afs/fsclient.c
@@ -145,7 +145,7 @@ static void xdr_decode_AFSCallBack(const __be32 **_bp, struct afs_vnode *vnode)
145 vnode->cb_version = ntohl(*bp++); 145 vnode->cb_version = ntohl(*bp++);
146 vnode->cb_expiry = ntohl(*bp++); 146 vnode->cb_expiry = ntohl(*bp++);
147 vnode->cb_type = ntohl(*bp++); 147 vnode->cb_type = ntohl(*bp++);
148 vnode->cb_expires = vnode->cb_expiry + get_seconds(); 148 vnode->cb_expires = vnode->cb_expiry + ktime_get_real_seconds();
149 *_bp = bp; 149 *_bp = bp;
150} 150}
151 151
diff --git a/fs/afs/inode.c b/fs/afs/inode.c
index e083e086b7ca..4079c832ff27 100644
--- a/fs/afs/inode.c
+++ b/fs/afs/inode.c
@@ -246,12 +246,13 @@ struct inode *afs_iget(struct super_block *sb, struct key *key,
246 vnode->cb_version = 0; 246 vnode->cb_version = 0;
247 vnode->cb_expiry = 0; 247 vnode->cb_expiry = 0;
248 vnode->cb_type = 0; 248 vnode->cb_type = 0;
249 vnode->cb_expires = get_seconds(); 249 vnode->cb_expires = ktime_get_real_seconds();
250 } else { 250 } else {
251 vnode->cb_version = cb->version; 251 vnode->cb_version = cb->version;
252 vnode->cb_expiry = cb->expiry; 252 vnode->cb_expiry = cb->expiry;
253 vnode->cb_type = cb->type; 253 vnode->cb_type = cb->type;
254 vnode->cb_expires = vnode->cb_expiry + get_seconds(); 254 vnode->cb_expires = vnode->cb_expiry +
255 ktime_get_real_seconds();
255 } 256 }
256 } 257 }
257 258
@@ -324,7 +325,7 @@ int afs_validate(struct afs_vnode *vnode, struct key *key)
324 !test_bit(AFS_VNODE_CB_BROKEN, &vnode->flags) && 325 !test_bit(AFS_VNODE_CB_BROKEN, &vnode->flags) &&
325 !test_bit(AFS_VNODE_MODIFIED, &vnode->flags) && 326 !test_bit(AFS_VNODE_MODIFIED, &vnode->flags) &&
326 !test_bit(AFS_VNODE_ZAP_DATA, &vnode->flags)) { 327 !test_bit(AFS_VNODE_ZAP_DATA, &vnode->flags)) {
327 if (vnode->cb_expires < get_seconds() + 10) { 328 if (vnode->cb_expires < ktime_get_real_seconds() + 10) {
328 _debug("callback expired"); 329 _debug("callback expired");
329 set_bit(AFS_VNODE_CB_BROKEN, &vnode->flags); 330 set_bit(AFS_VNODE_CB_BROKEN, &vnode->flags);
330 } else { 331 } else {
diff --git a/fs/afs/internal.h b/fs/afs/internal.h
index 97a16ce200be..832555003d03 100644
--- a/fs/afs/internal.h
+++ b/fs/afs/internal.h
@@ -377,8 +377,8 @@ struct afs_vnode {
377 struct rb_node server_rb; /* link in server->fs_vnodes */ 377 struct rb_node server_rb; /* link in server->fs_vnodes */
378 struct rb_node cb_promise; /* link in server->cb_promises */ 378 struct rb_node cb_promise; /* link in server->cb_promises */
379 struct work_struct cb_broken_work; /* work to be done on callback break */ 379 struct work_struct cb_broken_work; /* work to be done on callback break */
380 time_t cb_expires; /* time at which callback expires */ 380 time64_t cb_expires; /* time at which callback expires */
381 time_t cb_expires_at; /* time used to order cb_promise */ 381 time64_t cb_expires_at; /* time used to order cb_promise */
382 unsigned cb_version; /* callback version */ 382 unsigned cb_version; /* callback version */
383 unsigned cb_expiry; /* callback expiry time */ 383 unsigned cb_expiry; /* callback expiry time */
384 afs_callback_type_t cb_type; /* type of callback */ 384 afs_callback_type_t cb_type; /* type of callback */