• Home
  • Raw
  • Download

Lines Matching refs:call

17 static int afs_deliver_vl_get_entry_by_name_u(struct afs_call *call)  in afs_deliver_vl_get_entry_by_name_u()  argument
27 ret = afs_transfer_reply(call); in afs_deliver_vl_get_entry_by_name_u()
32 uvldb = call->buffer; in afs_deliver_vl_get_entry_by_name_u()
33 entry = call->ret_vldb; in afs_deliver_vl_get_entry_by_name_u()
108 static void afs_destroy_vl_get_entry_by_name_u(struct afs_call *call) in afs_destroy_vl_get_entry_by_name_u() argument
110 kfree(call->ret_vldb); in afs_destroy_vl_get_entry_by_name_u()
111 afs_flat_call_destructor(call); in afs_destroy_vl_get_entry_by_name_u()
133 struct afs_call *call; in afs_vl_get_entry_by_name_u() local
147 call = afs_alloc_flat_call(net, &afs_RXVLGetEntryByNameU, reqsz, in afs_vl_get_entry_by_name_u()
149 if (!call) { in afs_vl_get_entry_by_name_u()
154 call->key = vc->key; in afs_vl_get_entry_by_name_u()
155 call->ret_vldb = entry; in afs_vl_get_entry_by_name_u()
156 call->max_lifespan = AFS_VL_MAX_LIFESPAN; in afs_vl_get_entry_by_name_u()
159 bp = call->request; in afs_vl_get_entry_by_name_u()
166 trace_afs_make_vl_call(call); in afs_vl_get_entry_by_name_u()
167 afs_make_call(&vc->ac, call, GFP_KERNEL); in afs_vl_get_entry_by_name_u()
168 return (struct afs_vldb_entry *)afs_wait_for_call_to_complete(call, &vc->ac); in afs_vl_get_entry_by_name_u()
180 static int afs_deliver_vl_get_addrs_u(struct afs_call *call) in afs_deliver_vl_get_addrs_u() argument
188 call->unmarshall, iov_iter_count(call->_iter), call->count); in afs_deliver_vl_get_addrs_u()
190 switch (call->unmarshall) { in afs_deliver_vl_get_addrs_u()
192 afs_extract_to_buf(call, in afs_deliver_vl_get_addrs_u()
194 call->unmarshall++; in afs_deliver_vl_get_addrs_u()
200 ret = afs_extract_data(call, true); in afs_deliver_vl_get_addrs_u()
204 bp = call->buffer + sizeof(struct afs_uuid__xdr); in afs_deliver_vl_get_addrs_u()
214 call->ret_alist = alist; in afs_deliver_vl_get_addrs_u()
215 call->count = count; in afs_deliver_vl_get_addrs_u()
216 call->count2 = nentries; in afs_deliver_vl_get_addrs_u()
217 call->unmarshall++; in afs_deliver_vl_get_addrs_u()
220 count = min(call->count, 4U); in afs_deliver_vl_get_addrs_u()
221 afs_extract_to_buf(call, count * sizeof(__be32)); in afs_deliver_vl_get_addrs_u()
225 ret = afs_extract_data(call, call->count > 4); in afs_deliver_vl_get_addrs_u()
229 alist = call->ret_alist; in afs_deliver_vl_get_addrs_u()
230 bp = call->buffer; in afs_deliver_vl_get_addrs_u()
231 count = min(call->count, 4U); in afs_deliver_vl_get_addrs_u()
233 if (alist->nr_addrs < call->count2) in afs_deliver_vl_get_addrs_u()
236 call->count -= count; in afs_deliver_vl_get_addrs_u()
237 if (call->count > 0) in afs_deliver_vl_get_addrs_u()
239 call->unmarshall++; in afs_deliver_vl_get_addrs_u()
247 static void afs_vl_get_addrs_u_destructor(struct afs_call *call) in afs_vl_get_addrs_u_destructor() argument
249 afs_put_addrlist(call->ret_alist); in afs_vl_get_addrs_u_destructor()
250 return afs_flat_call_destructor(call); in afs_vl_get_addrs_u_destructor()
272 struct afs_call *call; in afs_vl_get_addrs_u() local
279 call = afs_alloc_flat_call(net, &afs_RXVLGetAddrsU, in afs_vl_get_addrs_u()
282 if (!call) in afs_vl_get_addrs_u()
285 call->key = vc->key; in afs_vl_get_addrs_u()
286 call->ret_alist = NULL; in afs_vl_get_addrs_u()
287 call->max_lifespan = AFS_VL_MAX_LIFESPAN; in afs_vl_get_addrs_u()
290 bp = call->request; in afs_vl_get_addrs_u()
305 trace_afs_make_vl_call(call); in afs_vl_get_addrs_u()
306 afs_make_call(&vc->ac, call, GFP_KERNEL); in afs_vl_get_addrs_u()
307 return (struct afs_addr_list *)afs_wait_for_call_to_complete(call, &vc->ac); in afs_vl_get_addrs_u()
313 static int afs_deliver_vl_get_capabilities(struct afs_call *call) in afs_deliver_vl_get_capabilities() argument
319 call->unmarshall, iov_iter_count(call->_iter), call->count); in afs_deliver_vl_get_capabilities()
321 switch (call->unmarshall) { in afs_deliver_vl_get_capabilities()
323 afs_extract_to_tmp(call); in afs_deliver_vl_get_capabilities()
324 call->unmarshall++; in afs_deliver_vl_get_capabilities()
328 ret = afs_extract_data(call, true); in afs_deliver_vl_get_capabilities()
332 count = ntohl(call->tmp); in afs_deliver_vl_get_capabilities()
333 call->count = count; in afs_deliver_vl_get_capabilities()
334 call->count2 = count; in afs_deliver_vl_get_capabilities()
336 call->unmarshall++; in afs_deliver_vl_get_capabilities()
337 afs_extract_discard(call, count * sizeof(__be32)); in afs_deliver_vl_get_capabilities()
341 ret = afs_extract_data(call, false); in afs_deliver_vl_get_capabilities()
347 call->unmarshall++; in afs_deliver_vl_get_capabilities()
355 static void afs_destroy_vl_get_capabilities(struct afs_call *call) in afs_destroy_vl_get_capabilities() argument
357 afs_put_vlserver(call->net, call->vlserver); in afs_destroy_vl_get_capabilities()
358 afs_flat_call_destructor(call); in afs_destroy_vl_get_capabilities()
385 struct afs_call *call; in afs_vl_get_capabilities() local
390 call = afs_alloc_flat_call(net, &afs_RXVLGetCapabilities, 1 * 4, 16 * 4); in afs_vl_get_capabilities()
391 if (!call) in afs_vl_get_capabilities()
394 call->key = key; in afs_vl_get_capabilities()
395 call->vlserver = afs_get_vlserver(server); in afs_vl_get_capabilities()
396 call->server_index = server_index; in afs_vl_get_capabilities()
397 call->upgrade = true; in afs_vl_get_capabilities()
398 call->async = true; in afs_vl_get_capabilities()
399 call->max_lifespan = AFS_PROBE_MAX_LIFESPAN; in afs_vl_get_capabilities()
402 bp = call->request; in afs_vl_get_capabilities()
406 trace_afs_make_vl_call(call); in afs_vl_get_capabilities()
407 afs_make_call(ac, call, GFP_KERNEL); in afs_vl_get_capabilities()
408 return call; in afs_vl_get_capabilities()
420 static int afs_deliver_yfsvl_get_endpoints(struct afs_call *call) in afs_deliver_yfsvl_get_endpoints() argument
428 call->unmarshall, iov_iter_count(call->_iter), call->count2); in afs_deliver_yfsvl_get_endpoints()
430 switch (call->unmarshall) { in afs_deliver_yfsvl_get_endpoints()
432 afs_extract_to_buf(call, sizeof(uuid_t) + 3 * sizeof(__be32)); in afs_deliver_yfsvl_get_endpoints()
433 call->unmarshall = 1; in afs_deliver_yfsvl_get_endpoints()
440 ret = afs_extract_data(call, true); in afs_deliver_yfsvl_get_endpoints()
444 bp = call->buffer + sizeof(uuid_t); in afs_deliver_yfsvl_get_endpoints()
446 call->count = ntohl(*bp++); in afs_deliver_yfsvl_get_endpoints()
447 call->count2 = ntohl(*bp); /* Type or next count */ in afs_deliver_yfsvl_get_endpoints()
449 if (call->count > YFS_MAXENDPOINTS) in afs_deliver_yfsvl_get_endpoints()
450 return afs_protocol_error(call, -EBADMSG, in afs_deliver_yfsvl_get_endpoints()
453 alist = afs_alloc_addrlist(call->count, FS_SERVICE, AFS_FS_PORT); in afs_deliver_yfsvl_get_endpoints()
457 call->ret_alist = alist; in afs_deliver_yfsvl_get_endpoints()
459 if (call->count == 0) in afs_deliver_yfsvl_get_endpoints()
463 switch (call->count2) { in afs_deliver_yfsvl_get_endpoints()
471 return afs_protocol_error(call, -EBADMSG, in afs_deliver_yfsvl_get_endpoints()
476 afs_extract_to_buf(call, size); in afs_deliver_yfsvl_get_endpoints()
477 call->unmarshall = 2; in afs_deliver_yfsvl_get_endpoints()
481 ret = afs_extract_data(call, true); in afs_deliver_yfsvl_get_endpoints()
485 alist = call->ret_alist; in afs_deliver_yfsvl_get_endpoints()
486 bp = call->buffer; in afs_deliver_yfsvl_get_endpoints()
487 switch (call->count2) { in afs_deliver_yfsvl_get_endpoints()
490 return afs_protocol_error(call, -EBADMSG, in afs_deliver_yfsvl_get_endpoints()
497 return afs_protocol_error(call, -EBADMSG, in afs_deliver_yfsvl_get_endpoints()
503 return afs_protocol_error(call, -EBADMSG, in afs_deliver_yfsvl_get_endpoints()
510 call->count2 = ntohl(*bp++); in afs_deliver_yfsvl_get_endpoints()
512 call->count--; in afs_deliver_yfsvl_get_endpoints()
513 if (call->count > 0) in afs_deliver_yfsvl_get_endpoints()
518 call->count = call->count2; in afs_deliver_yfsvl_get_endpoints()
519 if (!call->count) in afs_deliver_yfsvl_get_endpoints()
521 if (call->count > YFS_MAXENDPOINTS) in afs_deliver_yfsvl_get_endpoints()
522 return afs_protocol_error(call, -EBADMSG, in afs_deliver_yfsvl_get_endpoints()
525 afs_extract_to_buf(call, 1 * sizeof(__be32)); in afs_deliver_yfsvl_get_endpoints()
526 call->unmarshall = 3; in afs_deliver_yfsvl_get_endpoints()
534 ret = afs_extract_data(call, true); in afs_deliver_yfsvl_get_endpoints()
538 bp = call->buffer; in afs_deliver_yfsvl_get_endpoints()
541 call->count2 = ntohl(*bp++); in afs_deliver_yfsvl_get_endpoints()
542 switch (call->count2) { in afs_deliver_yfsvl_get_endpoints()
550 return afs_protocol_error(call, -EBADMSG, in afs_deliver_yfsvl_get_endpoints()
554 if (call->count > 1) in afs_deliver_yfsvl_get_endpoints()
556 afs_extract_to_buf(call, size); in afs_deliver_yfsvl_get_endpoints()
557 call->unmarshall = 4; in afs_deliver_yfsvl_get_endpoints()
561 ret = afs_extract_data(call, true); in afs_deliver_yfsvl_get_endpoints()
565 bp = call->buffer; in afs_deliver_yfsvl_get_endpoints()
566 switch (call->count2) { in afs_deliver_yfsvl_get_endpoints()
569 return afs_protocol_error(call, -EBADMSG, in afs_deliver_yfsvl_get_endpoints()
575 return afs_protocol_error(call, -EBADMSG, in afs_deliver_yfsvl_get_endpoints()
580 return afs_protocol_error(call, -EBADMSG, in afs_deliver_yfsvl_get_endpoints()
587 call->count--; in afs_deliver_yfsvl_get_endpoints()
588 if (call->count > 0) in afs_deliver_yfsvl_get_endpoints()
592 afs_extract_discard(call, 0); in afs_deliver_yfsvl_get_endpoints()
593 call->unmarshall = 5; in afs_deliver_yfsvl_get_endpoints()
597 ret = afs_extract_data(call, false); in afs_deliver_yfsvl_get_endpoints()
600 call->unmarshall = 6; in afs_deliver_yfsvl_get_endpoints()
627 struct afs_call *call; in afs_yfsvl_get_endpoints() local
633 call = afs_alloc_flat_call(net, &afs_YFSVLGetEndpoints, in afs_yfsvl_get_endpoints()
636 if (!call) in afs_yfsvl_get_endpoints()
639 call->key = vc->key; in afs_yfsvl_get_endpoints()
640 call->ret_alist = NULL; in afs_yfsvl_get_endpoints()
641 call->max_lifespan = AFS_VL_MAX_LIFESPAN; in afs_yfsvl_get_endpoints()
644 bp = call->request; in afs_yfsvl_get_endpoints()
649 trace_afs_make_vl_call(call); in afs_yfsvl_get_endpoints()
650 afs_make_call(&vc->ac, call, GFP_KERNEL); in afs_yfsvl_get_endpoints()
651 return (struct afs_addr_list *)afs_wait_for_call_to_complete(call, &vc->ac); in afs_yfsvl_get_endpoints()