afs: Make it possible to find the volumes that are using a server
authorDavid Howells <dhowells@redhat.com>
Thu, 2 Nov 2023 16:08:43 +0000 (16:08 +0000)
committerDavid Howells <dhowells@redhat.com>
Mon, 1 Jan 2024 16:37:27 +0000 (16:37 +0000)
commitca0e79a46097d54e4af46c67c852479d97af35bb
tree4d6df831634dd37fca6dc83e3c85cbeb3d98ddf6
parent21c1f410d20295dbeee4178f7fdde5e167e20b43
afs: Make it possible to find the volumes that are using a server

Make it possible to find the afs_volume structs that are using an
afs_server struct to aid in breaking volume callbacks.

The way this is done is that each afs_volume already has an array of
afs_server_entry records that point to the servers where that volume might
be found.  An afs_volume backpointer and a list node is added to each entry
and each entry is then added to an RCU-traversable list on the afs_server
to which it points.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: linux-afs@lists.infradead.org
fs/afs/cell.c
fs/afs/internal.h
fs/afs/server.c
fs/afs/server_list.c
fs/afs/vl_alias.c
fs/afs/volume.c