summaryrefslogtreecommitdiff
path: root/fs/afs/server.c
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2023-10-19 15:59:03 +0300
committerDavid Howells <dhowells@redhat.com>2023-12-24 18:22:54 +0300
commit1e5d8493254db9b28d4dce4fed87e56d9a2fefa5 (patch)
treec71eb5dae008ff932f61ac13d3071c3353ba858c /fs/afs/server.c
parentaa453becce5d1ae1b94b7fc22f47d7b05d22b14e (diff)
downloadlinux-1e5d8493254db9b28d4dce4fed87e56d9a2fefa5.tar.xz
afs: Add a tracepoint for struct afs_addr_list
Add a tracepoint to track the lifetime of the afs_addr_list struct. Signed-off-by: David Howells <dhowells@redhat.com> cc: Marc Dionne <marc.dionne@auristor.com> cc: linux-afs@lists.infradead.org
Diffstat (limited to 'fs/afs/server.c')
-rw-r--r--fs/afs/server.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/fs/afs/server.c b/fs/afs/server.c
index f7791ef13618..6c13f00b10d8 100644
--- a/fs/afs/server.c
+++ b/fs/afs/server.c
@@ -275,13 +275,13 @@ struct afs_server *afs_lookup_server(struct afs_cell *cell, struct key *key,
candidate = afs_alloc_server(cell, uuid, alist);
if (!candidate) {
- afs_put_addrlist(alist);
+ afs_put_addrlist(alist, afs_alist_trace_put_server_oom);
return ERR_PTR(-ENOMEM);
}
server = afs_install_server(cell, candidate);
if (server != candidate) {
- afs_put_addrlist(alist);
+ afs_put_addrlist(alist, afs_alist_trace_put_server_dup);
kfree(candidate);
} else {
/* Immediately dispatch an asynchronous probe to each interface
@@ -421,7 +421,8 @@ static void afs_server_rcu(struct rcu_head *rcu)
trace_afs_server(server->debug_id, refcount_read(&server->ref),
atomic_read(&server->active), afs_server_trace_free);
- afs_put_addrlist(rcu_access_pointer(server->addresses));
+ afs_put_addrlist(rcu_access_pointer(server->addresses),
+ afs_alist_trace_put_server);
kfree(server);
}
@@ -643,7 +644,7 @@ static noinline bool afs_update_server_record(struct afs_operation *op,
write_unlock(&server->fs_lock);
}
- afs_put_addrlist(discard);
+ afs_put_addrlist(discard, afs_alist_trace_put_server_update);
_leave(" = t");
return true;
}