diff options
author | David Howells <dhowells@redhat.com> | 2023-10-19 13:59:03 +0100 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2023-12-24 15:22:54 +0000 |
commit | 1e5d8493254db9b28d4dce4fed87e56d9a2fefa5 (patch) | |
tree | c71eb5dae008ff932f61ac13d3071c3353ba858c /fs/afs/server.c | |
parent | aa453becce5d1ae1b94b7fc22f47d7b05d22b14e (diff) | |
download | lwn-1e5d8493254db9b28d4dce4fed87e56d9a2fefa5.tar.gz lwn-1e5d8493254db9b28d4dce4fed87e56d9a2fefa5.zip |
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.c | 9 |
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; } |