Lines Matching defs:vllist
53 struct afs_vlserver_list *vllist;
55 vllist = kzalloc(struct_size(vllist, servers, nr_servers), GFP_KERNEL);
56 if (vllist) {
57 atomic_set(&vllist->usage, 1);
58 rwlock_init(&vllist->lock);
61 return vllist;
64 void afs_put_vlserverlist(struct afs_net *net, struct afs_vlserver_list *vllist)
66 if (vllist) {
67 unsigned int u = atomic_dec_return(&vllist->usage);
69 //_debug("VLLS PUT %p{%u}", vllist, u);
73 for (i = 0; i < vllist->nr_servers; i++) {
74 afs_put_vlserver(net, vllist->servers[i].server);
76 kfree_rcu(vllist, rcu);
163 struct afs_vlserver_list *vllist, *previous;
183 vllist = afs_alloc_vlserver_list(nr_servers);
184 if (!vllist)
187 vllist->source = (hdr->source < NR__dns_record_source) ?
189 vllist->status = (hdr->status < NR__dns_lookup_status) ?
263 if (vllist->nr_servers >= nr_servers) {
264 _debug("skip %u >= %u", vllist->nr_servers, nr_servers);
293 for (j = 0; j < vllist->nr_servers; j++) {
294 if (bs.priority < vllist->servers[j].priority)
296 if (bs.priority == vllist->servers[j].priority &&
297 bs.weight > vllist->servers[j].weight)
301 if (j < vllist->nr_servers) {
302 memmove(vllist->servers + j + 1,
303 vllist->servers + j,
304 (vllist->nr_servers - j) * sizeof(struct afs_vlserver_entry));
309 vllist->servers[j].priority = bs.priority;
310 vllist->servers[j].weight = bs.weight;
311 vllist->servers[j].server = server;
312 vllist->nr_servers++;
321 _leave(" = ok [%u]", vllist->nr_servers);
322 return vllist;
327 afs_put_vlserverlist(cell->net, vllist);