Lines Matching refs:slist

12 void afs_put_serverlist(struct afs_net *net, struct afs_server_list *slist)  in afs_put_serverlist()  argument
16 if (slist && refcount_dec_and_test(&slist->usage)) { in afs_put_serverlist()
17 for (i = 0; i < slist->nr_servers; i++) in afs_put_serverlist()
18 afs_unuse_server(net, slist->servers[i].server, in afs_put_serverlist()
20 kfree_rcu(slist, rcu); in afs_put_serverlist()
32 struct afs_server_list *slist; in afs_alloc_server_list() local
40 slist = kzalloc(struct_size(slist, servers, nr_servers), GFP_KERNEL); in afs_alloc_server_list()
41 if (!slist) in afs_alloc_server_list()
44 refcount_set(&slist->usage, 1); in afs_alloc_server_list()
45 rwlock_init(&slist->lock); in afs_alloc_server_list()
48 slist->vids[i] = vldb->vid[i]; in afs_alloc_server_list()
66 for (j = 0; j < slist->nr_servers; j++) in afs_alloc_server_list()
67 if (memcmp(&slist->servers[j].server->uuid, in afs_alloc_server_list()
71 if (j < slist->nr_servers) { in afs_alloc_server_list()
72 if (slist->servers[j].server == server) { in afs_alloc_server_list()
78 memmove(slist->servers + j + 1, in afs_alloc_server_list()
79 slist->servers + j, in afs_alloc_server_list()
80 (slist->nr_servers - j) * sizeof(struct afs_server_entry)); in afs_alloc_server_list()
83 slist->servers[j].server = server; in afs_alloc_server_list()
84 slist->nr_servers++; in afs_alloc_server_list()
87 if (slist->nr_servers == 0) { in afs_alloc_server_list()
92 return slist; in afs_alloc_server_list()
95 afs_put_serverlist(cell->net, slist); in afs_alloc_server_list()