diff options
author | David Howells <dhowells@redhat.com> | 2019-06-20 18:12:16 +0100 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2019-06-20 18:12:16 +0100 |
commit | 051d25250b55c215a2254a0130d46fbd38bcbcc0 (patch) | |
tree | 0e53a2801fb6f964d85e663435041c01943cb878 /fs/afs/dir.c | |
parent | fa59f52f5b1412c373813e24e7cbe5ab44518ed8 (diff) | |
download | linux-rpi-051d25250b55c215a2254a0130d46fbd38bcbcc0.tar.gz linux-rpi-051d25250b55c215a2254a0130d46fbd38bcbcc0.tar.bz2 linux-rpi-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/dir.c')
-rw-r--r-- | fs/afs/dir.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/afs/dir.c b/fs/afs/dir.c index 93fd51c3bdae..e8c58c94eb61 100644 --- a/fs/afs/dir.c +++ b/fs/afs/dir.c @@ -1367,12 +1367,12 @@ static int afs_dir_remove_link(struct afs_vnode *dvnode, struct dentry *dentry, drop_nlink(&vnode->vfs_inode); if (vnode->vfs_inode.i_nlink == 0) { set_bit(AFS_VNODE_DELETED, &vnode->flags); - __afs_break_callback(vnode); + __afs_break_callback(vnode, afs_cb_break_for_unlink); } write_sequnlock(&vnode->cb_lock); ret = 0; } else { - afs_break_callback(vnode); + afs_break_callback(vnode, afs_cb_break_for_unlink); if (test_bit(AFS_VNODE_DELETED, &vnode->flags)) kdebug("AFS_VNODE_DELETED"); |