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>
This commit is contained in:
@@ -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");
|
||||
|
Reference in New Issue
Block a user