Lines Matching defs:vllist
49 struct afs_vlserver_list *vllist;
51 vllist = kzalloc(struct_size(vllist, servers, nr_servers), GFP_KERNEL);
52 if (vllist) {
53 refcount_set(&vllist->ref, 1);
54 rwlock_init(&vllist->lock);
57 return vllist;
60 void afs_put_vlserverlist(struct afs_net *net, struct afs_vlserver_list *vllist)
62 if (vllist) {
63 if (refcount_dec_and_test(&vllist->ref)) {
66 for (i = 0; i < vllist->nr_servers; i++) {
67 afs_put_vlserver(net, vllist->servers[i].server);
69 kfree_rcu(vllist, rcu);
156 struct afs_vlserver_list *vllist, *previous;
176 vllist = afs_alloc_vlserver_list(nr_servers);
177 if (!vllist)
180 vllist->source = (hdr->source < NR__dns_record_source) ?
182 vllist->status = (hdr->status < NR__dns_lookup_status) ?
256 if (vllist->nr_servers >= nr_servers) {
257 _debug("skip %u >= %u", vllist->nr_servers, nr_servers);
286 for (j = 0; j < vllist->nr_servers; j++) {
287 if (bs.priority < vllist->servers[j].priority)
289 if (bs.priority == vllist->servers[j].priority &&
290 bs.weight > vllist->servers[j].weight)
294 if (j < vllist->nr_servers) {
295 memmove(vllist->servers + j + 1,
296 vllist->servers + j,
297 (vllist->nr_servers - j) * sizeof(struct afs_vlserver_entry));
302 vllist->servers[j].priority = bs.priority;
303 vllist->servers[j].weight = bs.weight;
304 vllist->servers[j].server = server;
305 vllist->nr_servers++;
314 _leave(" = ok [%u]", vllist->nr_servers);
315 return vllist;
320 afs_put_vlserverlist(cell->net, vllist);