diff options
author | David Howells <dhowells@redhat.com> | 2019-06-20 19:12:16 +0200 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2019-06-20 19:12:16 +0200 |
commit | 051d25250b55c215a2254a0130d46fbd38bcbcc0 (patch) | |
tree | 0e53a2801fb6f964d85e663435041c01943cb878 /fs/afs/internal.h | |
parent | afs: afs_unlink() doesn't need to check dentry->d_inode (diff) | |
download | linux-051d25250b55c215a2254a0130d46fbd38bcbcc0.tar.xz linux-051d25250b55c215a2254a0130d46fbd38bcbcc0.zip |
afs: Add some callback management tracepoints
Add a couple of tracepoints to track callback management:
(1) afs_cb_miss - Logs when we were unable to apply a callback, either due
to the inode being discarded or due to a competing thread applying a
callback first.
(2) afs_cb_break - Logs when we attempted to clear the noted callback
promise, either due to the server explicitly breaking the callback,
the callback promise lapsing or a local event obsoleting it.
Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'fs/afs/internal.h')
-rw-r--r-- | fs/afs/internal.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/afs/internal.h b/fs/afs/internal.h index 8252d69bd3e4..4d9b3e9a422a 100644 --- a/fs/afs/internal.h +++ b/fs/afs/internal.h @@ -848,9 +848,9 @@ extern struct fscache_cookie_def afs_vnode_cache_index_def; * callback.c */ extern void afs_init_callback_state(struct afs_server *); -extern void __afs_break_callback(struct afs_vnode *); -extern void afs_break_callback(struct afs_vnode *); -extern void afs_break_callbacks(struct afs_server *, size_t, struct afs_callback_break*); +extern void __afs_break_callback(struct afs_vnode *, enum afs_cb_break_reason); +extern void afs_break_callback(struct afs_vnode *, enum afs_cb_break_reason); +extern void afs_break_callbacks(struct afs_server *, size_t, struct afs_callback_break *); extern int afs_register_server_cb_interest(struct afs_vnode *, struct afs_server_list *, unsigned int); @@ -1438,7 +1438,7 @@ static inline void afs_check_for_remote_deletion(struct afs_fs_cursor *fc, { if (fc->ac.error == -ENOENT) { set_bit(AFS_VNODE_DELETED, &vnode->flags); - afs_break_callback(vnode); + afs_break_callback(vnode, afs_cb_break_for_deleted); } } |