Lines Matching full:call
55 struct afs_call *call, in xdr_decode_AFSFetchStatus() argument
60 bool inline_error = (call->operation_ID == afs_FS_InlineBulkStatus); in xdr_decode_AFSFetchStatus()
128 afs_protocol_error(call, afs_eproto_bad_status); in xdr_decode_AFSFetchStatus()
132 static time64_t xdr_decode_expiry(struct afs_call *call, u32 expiry) in xdr_decode_expiry() argument
134 return ktime_divns(call->issue_time, NSEC_PER_SEC) + expiry; in xdr_decode_expiry()
138 struct afs_call *call, in xdr_decode_AFSCallBack() argument
145 cb->expires_at = xdr_decode_expiry(call, ntohl(*bp++)); in xdr_decode_AFSCallBack()
238 static int afs_deliver_fs_fetch_status(struct afs_call *call) in afs_deliver_fs_fetch_status() argument
240 struct afs_operation *op = call->op; in afs_deliver_fs_fetch_status()
245 ret = afs_transfer_reply(call); in afs_deliver_fs_fetch_status()
250 bp = call->buffer; in afs_deliver_fs_fetch_status()
251 xdr_decode_AFSFetchStatus(&bp, call, &vp->scb); in afs_deliver_fs_fetch_status()
252 xdr_decode_AFSCallBack(&bp, call, &vp->scb); in afs_deliver_fs_fetch_status()
275 struct afs_call *call; in afs_fs_fetch_status() local
281 call = afs_alloc_flat_call(op->net, &afs_RXFSFetchStatus, in afs_fs_fetch_status()
283 if (!call) in afs_fs_fetch_status()
287 bp = call->request; in afs_fs_fetch_status()
293 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_fetch_status()
294 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_fetch_status()
300 static int afs_deliver_fs_fetch_data(struct afs_call *call) in afs_deliver_fs_fetch_data() argument
302 struct afs_operation *op = call->op; in afs_deliver_fs_fetch_data()
309 call->unmarshall, call->iov_len, iov_iter_count(call->iter), in afs_deliver_fs_fetch_data()
312 switch (call->unmarshall) { in afs_deliver_fs_fetch_data()
315 call->unmarshall++; in afs_deliver_fs_fetch_data()
316 if (call->operation_ID == FSFETCHDATA64) { in afs_deliver_fs_fetch_data()
317 afs_extract_to_tmp64(call); in afs_deliver_fs_fetch_data()
319 call->tmp_u = htonl(0); in afs_deliver_fs_fetch_data()
320 afs_extract_to_tmp(call); in afs_deliver_fs_fetch_data()
330 ret = afs_extract_data(call, true); in afs_deliver_fs_fetch_data()
334 req->actual_len = be64_to_cpu(call->tmp64); in afs_deliver_fs_fetch_data()
340 call->iter = req->iter; in afs_deliver_fs_fetch_data()
341 call->iov_len = min(req->actual_len, req->len); in afs_deliver_fs_fetch_data()
342 call->unmarshall++; in afs_deliver_fs_fetch_data()
348 iov_iter_count(call->iter), req->actual_len); in afs_deliver_fs_fetch_data()
350 ret = afs_extract_data(call, true); in afs_deliver_fs_fetch_data()
354 call->iter = &call->def_iter; in afs_deliver_fs_fetch_data()
359 afs_extract_discard(call, req->actual_len - req->len); in afs_deliver_fs_fetch_data()
360 call->unmarshall = 3; in afs_deliver_fs_fetch_data()
365 iov_iter_count(call->iter), req->actual_len - req->len); in afs_deliver_fs_fetch_data()
367 ret = afs_extract_data(call, true); in afs_deliver_fs_fetch_data()
372 call->unmarshall = 4; in afs_deliver_fs_fetch_data()
373 afs_extract_to_buf(call, (21 + 3 + 6) * 4); in afs_deliver_fs_fetch_data()
378 ret = afs_extract_data(call, false); in afs_deliver_fs_fetch_data()
382 bp = call->buffer; in afs_deliver_fs_fetch_data()
383 xdr_decode_AFSFetchStatus(&bp, call, &vp->scb); in afs_deliver_fs_fetch_data()
384 xdr_decode_AFSCallBack(&bp, call, &vp->scb); in afs_deliver_fs_fetch_data()
390 call->unmarshall++; in afs_deliver_fs_fetch_data()
425 struct afs_call *call; in afs_fs_fetch_data64() local
430 call = afs_alloc_flat_call(op->net, &afs_RXFSFetchData64, 32, (21 + 3 + 6) * 4); in afs_fs_fetch_data64()
431 if (!call) in afs_fs_fetch_data64()
435 bp = call->request; in afs_fs_fetch_data64()
445 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_fetch_data64()
446 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_fetch_data64()
455 struct afs_call *call; in afs_fs_fetch_data() local
464 call = afs_alloc_flat_call(op->net, &afs_RXFSFetchData, 24, (21 + 3 + 6) * 4); in afs_fs_fetch_data()
465 if (!call) in afs_fs_fetch_data()
468 req->call_debug_id = call->debug_id; in afs_fs_fetch_data()
471 bp = call->request; in afs_fs_fetch_data()
479 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_fetch_data()
480 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_fetch_data()
486 static int afs_deliver_fs_create_vnode(struct afs_call *call) in afs_deliver_fs_create_vnode() argument
488 struct afs_operation *op = call->op; in afs_deliver_fs_create_vnode()
494 ret = afs_transfer_reply(call); in afs_deliver_fs_create_vnode()
499 bp = call->buffer; in afs_deliver_fs_create_vnode()
501 xdr_decode_AFSFetchStatus(&bp, call, &vp->scb); in afs_deliver_fs_create_vnode()
502 xdr_decode_AFSFetchStatus(&bp, call, &dvp->scb); in afs_deliver_fs_create_vnode()
503 xdr_decode_AFSCallBack(&bp, call, &vp->scb); in afs_deliver_fs_create_vnode()
527 struct afs_call *call; in afs_fs_create_file() local
537 call = afs_alloc_flat_call(op->net, &afs_RXFSCreateFile, in afs_fs_create_file()
539 if (!call) in afs_fs_create_file()
543 bp = call->request; in afs_fs_create_file()
562 trace_afs_make_fs_call1(call, &dvp->fid, name); in afs_fs_create_file()
563 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_create_file()
580 struct afs_call *call; in afs_fs_make_dir() local
590 call = afs_alloc_flat_call(op->net, &afs_RXFSMakeDir, in afs_fs_make_dir()
592 if (!call) in afs_fs_make_dir()
596 bp = call->request; in afs_fs_make_dir()
615 trace_afs_make_fs_call1(call, &dvp->fid, name); in afs_fs_make_dir()
616 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_make_dir()
622 static int afs_deliver_fs_file_status_and_vol(struct afs_call *call) in afs_deliver_fs_file_status_and_vol() argument
624 struct afs_operation *op = call->op; in afs_deliver_fs_file_status_and_vol()
629 ret = afs_transfer_reply(call); in afs_deliver_fs_file_status_and_vol()
634 bp = call->buffer; in afs_deliver_fs_file_status_and_vol()
635 xdr_decode_AFSFetchStatus(&bp, call, &vp->scb); in afs_deliver_fs_file_status_and_vol()
659 struct afs_call *call; in afs_fs_remove_file() local
669 call = afs_alloc_flat_call(op->net, &afs_RXFSRemoveFile, in afs_fs_remove_file()
671 if (!call) in afs_fs_remove_file()
675 bp = call->request; in afs_fs_remove_file()
688 trace_afs_make_fs_call1(call, &dvp->fid, name); in afs_fs_remove_file()
689 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_remove_file()
706 struct afs_call *call; in afs_fs_remove_dir() local
716 call = afs_alloc_flat_call(op->net, &afs_RXFSRemoveDir, in afs_fs_remove_dir()
718 if (!call) in afs_fs_remove_dir()
722 bp = call->request; in afs_fs_remove_dir()
735 trace_afs_make_fs_call1(call, &dvp->fid, name); in afs_fs_remove_dir()
736 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_remove_dir()
742 static int afs_deliver_fs_link(struct afs_call *call) in afs_deliver_fs_link() argument
744 struct afs_operation *op = call->op; in afs_deliver_fs_link()
750 _enter("{%u}", call->unmarshall); in afs_deliver_fs_link()
752 ret = afs_transfer_reply(call); in afs_deliver_fs_link()
757 bp = call->buffer; in afs_deliver_fs_link()
758 xdr_decode_AFSFetchStatus(&bp, call, &vp->scb); in afs_deliver_fs_link()
759 xdr_decode_AFSFetchStatus(&bp, call, &dvp->scb); in afs_deliver_fs_link()
784 struct afs_call *call; in afs_fs_link() local
794 call = afs_alloc_flat_call(op->net, &afs_RXFSLink, reqsz, (21 + 21 + 6) * 4); in afs_fs_link()
795 if (!call) in afs_fs_link()
799 bp = call->request; in afs_fs_link()
815 trace_afs_make_fs_call1(call, &vp->fid, name); in afs_fs_link()
816 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_link()
822 static int afs_deliver_fs_symlink(struct afs_call *call) in afs_deliver_fs_symlink() argument
824 struct afs_operation *op = call->op; in afs_deliver_fs_symlink()
830 _enter("{%u}", call->unmarshall); in afs_deliver_fs_symlink()
832 ret = afs_transfer_reply(call); in afs_deliver_fs_symlink()
837 bp = call->buffer; in afs_deliver_fs_symlink()
839 xdr_decode_AFSFetchStatus(&bp, call, &vp->scb); in afs_deliver_fs_symlink()
840 xdr_decode_AFSFetchStatus(&bp, call, &dvp->scb); in afs_deliver_fs_symlink()
864 struct afs_call *call; in afs_fs_symlink() local
878 call = afs_alloc_flat_call(op->net, &afs_RXFSSymlink, reqsz, in afs_fs_symlink()
880 if (!call) in afs_fs_symlink()
884 bp = call->request; in afs_fs_symlink()
910 trace_afs_make_fs_call1(call, &dvp->fid, name); in afs_fs_symlink()
911 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_symlink()
917 static int afs_deliver_fs_rename(struct afs_call *call) in afs_deliver_fs_rename() argument
919 struct afs_operation *op = call->op; in afs_deliver_fs_rename()
925 ret = afs_transfer_reply(call); in afs_deliver_fs_rename()
929 bp = call->buffer; in afs_deliver_fs_rename()
933 xdr_decode_AFSFetchStatus(&bp, call, &orig_dvp->scb); in afs_deliver_fs_rename()
934 xdr_decode_AFSFetchStatus(&bp, call, &new_dvp->scb); in afs_deliver_fs_rename()
960 struct afs_call *call; in afs_fs_rename() local
977 call = afs_alloc_flat_call(op->net, &afs_RXFSRename, reqsz, (21 + 21 + 6) * 4); in afs_fs_rename()
978 if (!call) in afs_fs_rename()
982 bp = call->request; in afs_fs_rename()
1006 trace_afs_make_fs_call2(call, &orig_dvp->fid, orig_name, new_name); in afs_fs_rename()
1007 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_rename()
1013 static int afs_deliver_fs_store_data(struct afs_call *call) in afs_deliver_fs_store_data() argument
1015 struct afs_operation *op = call->op; in afs_deliver_fs_store_data()
1022 ret = afs_transfer_reply(call); in afs_deliver_fs_store_data()
1027 bp = call->buffer; in afs_deliver_fs_store_data()
1028 xdr_decode_AFSFetchStatus(&bp, call, &vp->scb); in afs_deliver_fs_store_data()
1058 struct afs_call *call; in afs_fs_store_data64() local
1064 call = afs_alloc_flat_call(op->net, &afs_RXFSStoreData64, in afs_fs_store_data64()
1067 if (!call) in afs_fs_store_data64()
1070 call->write_iter = op->store.write_iter; in afs_fs_store_data64()
1073 bp = call->request; in afs_fs_store_data64()
1093 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_store_data64()
1094 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_store_data64()
1103 struct afs_call *call; in afs_fs_store_data() local
1117 call = afs_alloc_flat_call(op->net, &afs_RXFSStoreData, in afs_fs_store_data()
1120 if (!call) in afs_fs_store_data()
1123 call->write_iter = op->store.write_iter; in afs_fs_store_data()
1126 bp = call->request; in afs_fs_store_data()
1143 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_store_data()
1144 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_store_data()
1178 struct afs_call *call; in afs_fs_setattr_size64() local
1187 call = afs_alloc_flat_call(op->net, &afs_RXFSStoreData64_as_Status, in afs_fs_setattr_size64()
1190 if (!call) in afs_fs_setattr_size64()
1194 bp = call->request; in afs_fs_setattr_size64()
1209 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_setattr_size64()
1210 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_setattr_size64()
1220 struct afs_call *call; in afs_fs_setattr_size() local
1231 call = afs_alloc_flat_call(op->net, &afs_RXFSStoreData_as_Status, in afs_fs_setattr_size()
1234 if (!call) in afs_fs_setattr_size()
1238 bp = call->request; in afs_fs_setattr_size()
1250 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_setattr_size()
1251 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_setattr_size()
1261 struct afs_call *call; in afs_fs_setattr() local
1271 call = afs_alloc_flat_call(op->net, &afs_RXFSStoreStatus, in afs_fs_setattr()
1274 if (!call) in afs_fs_setattr()
1278 bp = call->request; in afs_fs_setattr()
1286 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_setattr()
1287 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_setattr()
1293 static int afs_deliver_fs_get_volume_status(struct afs_call *call) in afs_deliver_fs_get_volume_status() argument
1295 struct afs_operation *op = call->op; in afs_deliver_fs_get_volume_status()
1301 _enter("{%u}", call->unmarshall); in afs_deliver_fs_get_volume_status()
1303 switch (call->unmarshall) { in afs_deliver_fs_get_volume_status()
1305 call->unmarshall++; in afs_deliver_fs_get_volume_status()
1306 afs_extract_to_buf(call, 12 * 4); in afs_deliver_fs_get_volume_status()
1312 ret = afs_extract_data(call, true); in afs_deliver_fs_get_volume_status()
1316 bp = call->buffer; in afs_deliver_fs_get_volume_status()
1318 call->unmarshall++; in afs_deliver_fs_get_volume_status()
1319 afs_extract_to_tmp(call); in afs_deliver_fs_get_volume_status()
1324 ret = afs_extract_data(call, true); in afs_deliver_fs_get_volume_status()
1328 call->count = ntohl(call->tmp); in afs_deliver_fs_get_volume_status()
1329 _debug("volname length: %u", call->count); in afs_deliver_fs_get_volume_status()
1330 if (call->count >= AFSNAMEMAX) in afs_deliver_fs_get_volume_status()
1331 return afs_protocol_error(call, afs_eproto_volname_len); in afs_deliver_fs_get_volume_status()
1332 size = (call->count + 3) & ~3; /* It's padded */ in afs_deliver_fs_get_volume_status()
1333 afs_extract_to_buf(call, size); in afs_deliver_fs_get_volume_status()
1334 call->unmarshall++; in afs_deliver_fs_get_volume_status()
1340 ret = afs_extract_data(call, true); in afs_deliver_fs_get_volume_status()
1344 p = call->buffer; in afs_deliver_fs_get_volume_status()
1345 p[call->count] = 0; in afs_deliver_fs_get_volume_status()
1347 afs_extract_to_tmp(call); in afs_deliver_fs_get_volume_status()
1348 call->unmarshall++; in afs_deliver_fs_get_volume_status()
1353 ret = afs_extract_data(call, true); in afs_deliver_fs_get_volume_status()
1357 call->count = ntohl(call->tmp); in afs_deliver_fs_get_volume_status()
1358 _debug("offline msg length: %u", call->count); in afs_deliver_fs_get_volume_status()
1359 if (call->count >= AFSNAMEMAX) in afs_deliver_fs_get_volume_status()
1360 return afs_protocol_error(call, afs_eproto_offline_msg_len); in afs_deliver_fs_get_volume_status()
1361 size = (call->count + 3) & ~3; /* It's padded */ in afs_deliver_fs_get_volume_status()
1362 afs_extract_to_buf(call, size); in afs_deliver_fs_get_volume_status()
1363 call->unmarshall++; in afs_deliver_fs_get_volume_status()
1369 ret = afs_extract_data(call, true); in afs_deliver_fs_get_volume_status()
1373 p = call->buffer; in afs_deliver_fs_get_volume_status()
1374 p[call->count] = 0; in afs_deliver_fs_get_volume_status()
1377 afs_extract_to_tmp(call); in afs_deliver_fs_get_volume_status()
1378 call->unmarshall++; in afs_deliver_fs_get_volume_status()
1383 ret = afs_extract_data(call, true); in afs_deliver_fs_get_volume_status()
1387 call->count = ntohl(call->tmp); in afs_deliver_fs_get_volume_status()
1388 _debug("motd length: %u", call->count); in afs_deliver_fs_get_volume_status()
1389 if (call->count >= AFSNAMEMAX) in afs_deliver_fs_get_volume_status()
1390 return afs_protocol_error(call, afs_eproto_motd_len); in afs_deliver_fs_get_volume_status()
1391 size = (call->count + 3) & ~3; /* It's padded */ in afs_deliver_fs_get_volume_status()
1392 afs_extract_to_buf(call, size); in afs_deliver_fs_get_volume_status()
1393 call->unmarshall++; in afs_deliver_fs_get_volume_status()
1399 ret = afs_extract_data(call, false); in afs_deliver_fs_get_volume_status()
1403 p = call->buffer; in afs_deliver_fs_get_volume_status()
1404 p[call->count] = 0; in afs_deliver_fs_get_volume_status()
1407 call->unmarshall++; in afs_deliver_fs_get_volume_status()
1434 struct afs_call *call; in afs_fs_get_volume_status() local
1439 call = afs_alloc_flat_call(op->net, &afs_RXFSGetVolumeStatus, 2 * 4, in afs_fs_get_volume_status()
1441 if (!call) in afs_fs_get_volume_status()
1445 bp = call->request; in afs_fs_get_volume_status()
1449 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_get_volume_status()
1450 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_get_volume_status()
1456 static int afs_deliver_fs_xxxx_lock(struct afs_call *call) in afs_deliver_fs_xxxx_lock() argument
1458 struct afs_operation *op = call->op; in afs_deliver_fs_xxxx_lock()
1462 _enter("{%u}", call->unmarshall); in afs_deliver_fs_xxxx_lock()
1464 ret = afs_transfer_reply(call); in afs_deliver_fs_xxxx_lock()
1469 bp = call->buffer; in afs_deliver_fs_xxxx_lock()
1514 struct afs_call *call; in afs_fs_set_lock() local
1519 call = afs_alloc_flat_call(op->net, &afs_RXFSSetLock, 5 * 4, 6 * 4); in afs_fs_set_lock()
1520 if (!call) in afs_fs_set_lock()
1524 bp = call->request; in afs_fs_set_lock()
1531 trace_afs_make_fs_calli(call, &vp->fid, op->lock.type); in afs_fs_set_lock()
1532 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_set_lock()
1541 struct afs_call *call; in afs_fs_extend_lock() local
1546 call = afs_alloc_flat_call(op->net, &afs_RXFSExtendLock, 4 * 4, 6 * 4); in afs_fs_extend_lock()
1547 if (!call) in afs_fs_extend_lock()
1551 bp = call->request; in afs_fs_extend_lock()
1557 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_extend_lock()
1558 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_extend_lock()
1567 struct afs_call *call; in afs_fs_release_lock() local
1572 call = afs_alloc_flat_call(op->net, &afs_RXFSReleaseLock, 4 * 4, 6 * 4); in afs_fs_release_lock()
1573 if (!call) in afs_fs_release_lock()
1577 bp = call->request; in afs_fs_release_lock()
1583 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_release_lock()
1584 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_release_lock()
1590 static int afs_deliver_fs_give_up_all_callbacks(struct afs_call *call) in afs_deliver_fs_give_up_all_callbacks() argument
1592 return afs_transfer_reply(call); in afs_deliver_fs_give_up_all_callbacks()
1613 struct afs_call *call; in afs_fs_give_up_all_callbacks() local
1618 call = afs_alloc_flat_call(net, &afs_RXFSGiveUpAllCallBacks, 1 * 4, 0); in afs_fs_give_up_all_callbacks()
1619 if (!call) in afs_fs_give_up_all_callbacks()
1622 call->key = key; in afs_fs_give_up_all_callbacks()
1625 bp = call->request; in afs_fs_give_up_all_callbacks()
1628 call->server = afs_use_server(server, afs_server_trace_give_up_cb); in afs_fs_give_up_all_callbacks()
1629 afs_make_call(ac, call, GFP_NOFS); in afs_fs_give_up_all_callbacks()
1630 return afs_wait_for_call_to_complete(call, ac); in afs_fs_give_up_all_callbacks()
1636 static int afs_deliver_fs_get_capabilities(struct afs_call *call) in afs_deliver_fs_get_capabilities() argument
1641 _enter("{%u,%zu}", call->unmarshall, iov_iter_count(call->iter)); in afs_deliver_fs_get_capabilities()
1643 switch (call->unmarshall) { in afs_deliver_fs_get_capabilities()
1645 afs_extract_to_tmp(call); in afs_deliver_fs_get_capabilities()
1646 call->unmarshall++; in afs_deliver_fs_get_capabilities()
1651 ret = afs_extract_data(call, true); in afs_deliver_fs_get_capabilities()
1655 count = ntohl(call->tmp); in afs_deliver_fs_get_capabilities()
1656 call->count = count; in afs_deliver_fs_get_capabilities()
1657 call->count2 = count; in afs_deliver_fs_get_capabilities()
1659 call->unmarshall = 4; in afs_deliver_fs_get_capabilities()
1660 call->tmp = 0; in afs_deliver_fs_get_capabilities()
1664 /* Extract the first word of the capabilities to call->tmp */ in afs_deliver_fs_get_capabilities()
1665 afs_extract_to_tmp(call); in afs_deliver_fs_get_capabilities()
1666 call->unmarshall++; in afs_deliver_fs_get_capabilities()
1670 ret = afs_extract_data(call, false); in afs_deliver_fs_get_capabilities()
1674 afs_extract_discard(call, (count - 1) * sizeof(__be32)); in afs_deliver_fs_get_capabilities()
1675 call->unmarshall++; in afs_deliver_fs_get_capabilities()
1680 ret = afs_extract_data(call, false); in afs_deliver_fs_get_capabilities()
1684 call->unmarshall++; in afs_deliver_fs_get_capabilities()
1706 * to allocate a call, true is returned the result is delivered through the
1712 struct afs_call *call; in afs_fs_get_capabilities() local
1717 call = afs_alloc_flat_call(net, &afs_RXFSGetCapabilities, 1 * 4, 16 * 4); in afs_fs_get_capabilities()
1718 if (!call) in afs_fs_get_capabilities()
1721 call->key = key; in afs_fs_get_capabilities()
1722 call->server = afs_use_server(server, afs_server_trace_get_caps); in afs_fs_get_capabilities()
1723 call->upgrade = true; in afs_fs_get_capabilities()
1724 call->async = true; in afs_fs_get_capabilities()
1725 call->max_lifespan = AFS_PROBE_MAX_LIFESPAN; in afs_fs_get_capabilities()
1728 bp = call->request; in afs_fs_get_capabilities()
1731 trace_afs_make_fs_call(call, NULL); in afs_fs_get_capabilities()
1732 afs_make_call(ac, call, GFP_NOFS); in afs_fs_get_capabilities()
1733 afs_put_call(call); in afs_fs_get_capabilities()
1738 * Deliver reply data to an FS.InlineBulkStatus call
1740 static int afs_deliver_fs_inline_bulk_status(struct afs_call *call) in afs_deliver_fs_inline_bulk_status() argument
1742 struct afs_operation *op = call->op; in afs_deliver_fs_inline_bulk_status()
1748 _enter("{%u}", call->unmarshall); in afs_deliver_fs_inline_bulk_status()
1750 switch (call->unmarshall) { in afs_deliver_fs_inline_bulk_status()
1752 afs_extract_to_tmp(call); in afs_deliver_fs_inline_bulk_status()
1753 call->unmarshall++; in afs_deliver_fs_inline_bulk_status()
1759 ret = afs_extract_data(call, true); in afs_deliver_fs_inline_bulk_status()
1763 tmp = ntohl(call->tmp); in afs_deliver_fs_inline_bulk_status()
1766 return afs_protocol_error(call, afs_eproto_ibulkst_count); in afs_deliver_fs_inline_bulk_status()
1768 call->count = 0; in afs_deliver_fs_inline_bulk_status()
1769 call->unmarshall++; in afs_deliver_fs_inline_bulk_status()
1771 afs_extract_to_buf(call, 21 * sizeof(__be32)); in afs_deliver_fs_inline_bulk_status()
1775 _debug("extract status array %u", call->count); in afs_deliver_fs_inline_bulk_status()
1776 ret = afs_extract_data(call, true); in afs_deliver_fs_inline_bulk_status()
1780 switch (call->count) { in afs_deliver_fs_inline_bulk_status()
1788 scb = &op->more_files[call->count - 2].scb; in afs_deliver_fs_inline_bulk_status()
1792 bp = call->buffer; in afs_deliver_fs_inline_bulk_status()
1793 xdr_decode_AFSFetchStatus(&bp, call, scb); in afs_deliver_fs_inline_bulk_status()
1795 call->count++; in afs_deliver_fs_inline_bulk_status()
1796 if (call->count < op->nr_files) in afs_deliver_fs_inline_bulk_status()
1799 call->count = 0; in afs_deliver_fs_inline_bulk_status()
1800 call->unmarshall++; in afs_deliver_fs_inline_bulk_status()
1801 afs_extract_to_tmp(call); in afs_deliver_fs_inline_bulk_status()
1807 ret = afs_extract_data(call, true); in afs_deliver_fs_inline_bulk_status()
1811 tmp = ntohl(call->tmp); in afs_deliver_fs_inline_bulk_status()
1814 return afs_protocol_error(call, afs_eproto_ibulkst_cb_count); in afs_deliver_fs_inline_bulk_status()
1815 call->count = 0; in afs_deliver_fs_inline_bulk_status()
1816 call->unmarshall++; in afs_deliver_fs_inline_bulk_status()
1818 afs_extract_to_buf(call, 3 * sizeof(__be32)); in afs_deliver_fs_inline_bulk_status()
1823 ret = afs_extract_data(call, true); in afs_deliver_fs_inline_bulk_status()
1828 switch (call->count) { in afs_deliver_fs_inline_bulk_status()
1836 scb = &op->more_files[call->count - 2].scb; in afs_deliver_fs_inline_bulk_status()
1840 bp = call->buffer; in afs_deliver_fs_inline_bulk_status()
1841 xdr_decode_AFSCallBack(&bp, call, scb); in afs_deliver_fs_inline_bulk_status()
1842 call->count++; in afs_deliver_fs_inline_bulk_status()
1843 if (call->count < op->nr_files) in afs_deliver_fs_inline_bulk_status()
1846 afs_extract_to_buf(call, 6 * sizeof(__be32)); in afs_deliver_fs_inline_bulk_status()
1847 call->unmarshall++; in afs_deliver_fs_inline_bulk_status()
1851 ret = afs_extract_data(call, false); in afs_deliver_fs_inline_bulk_status()
1855 bp = call->buffer; in afs_deliver_fs_inline_bulk_status()
1858 call->unmarshall++; in afs_deliver_fs_inline_bulk_status()
1869 static void afs_done_fs_inline_bulk_status(struct afs_call *call) in afs_done_fs_inline_bulk_status() argument
1871 if (call->error == -ECONNABORTED && in afs_done_fs_inline_bulk_status()
1872 call->abort_code == RX_INVALID_OPERATION) { in afs_done_fs_inline_bulk_status()
1873 set_bit(AFS_SERVER_FL_NO_IBULK, &call->server->flags); in afs_done_fs_inline_bulk_status()
1874 if (call->op) in afs_done_fs_inline_bulk_status()
1875 set_bit(AFS_VOLUME_MAYBE_NO_IBULK, &call->op->volume->flags); in afs_done_fs_inline_bulk_status()
1897 struct afs_call *call; in afs_fs_inline_bulk_status() local
1909 call = afs_alloc_flat_call(op->net, &afs_RXFSInlineBulkStatus, in afs_fs_inline_bulk_status()
1912 if (!call) in afs_fs_inline_bulk_status()
1916 bp = call->request; in afs_fs_inline_bulk_status()
1931 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_inline_bulk_status()
1932 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_inline_bulk_status()
1938 static int afs_deliver_fs_fetch_acl(struct afs_call *call) in afs_deliver_fs_fetch_acl() argument
1940 struct afs_operation *op = call->op; in afs_deliver_fs_fetch_acl()
1947 _enter("{%u}", call->unmarshall); in afs_deliver_fs_fetch_acl()
1949 switch (call->unmarshall) { in afs_deliver_fs_fetch_acl()
1951 afs_extract_to_tmp(call); in afs_deliver_fs_fetch_acl()
1952 call->unmarshall++; in afs_deliver_fs_fetch_acl()
1957 ret = afs_extract_data(call, true); in afs_deliver_fs_fetch_acl()
1961 size = call->count2 = ntohl(call->tmp); in afs_deliver_fs_fetch_acl()
1968 acl->size = call->count2; in afs_deliver_fs_fetch_acl()
1969 afs_extract_begin(call, acl->data, size); in afs_deliver_fs_fetch_acl()
1970 call->unmarshall++; in afs_deliver_fs_fetch_acl()
1975 ret = afs_extract_data(call, true); in afs_deliver_fs_fetch_acl()
1979 afs_extract_to_buf(call, (21 + 6) * 4); in afs_deliver_fs_fetch_acl()
1980 call->unmarshall++; in afs_deliver_fs_fetch_acl()
1985 ret = afs_extract_data(call, false); in afs_deliver_fs_fetch_acl()
1989 bp = call->buffer; in afs_deliver_fs_fetch_acl()
1990 xdr_decode_AFSFetchStatus(&bp, call, &vp->scb); in afs_deliver_fs_fetch_acl()
1993 call->unmarshall++; in afs_deliver_fs_fetch_acl()
2019 struct afs_call *call; in afs_fs_fetch_acl() local
2025 call = afs_alloc_flat_call(op->net, &afs_RXFSFetchACL, 16, (21 + 6) * 4); in afs_fs_fetch_acl()
2026 if (!call) in afs_fs_fetch_acl()
2030 bp = call->request; in afs_fs_fetch_acl()
2036 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_fetch_acl()
2037 afs_make_op_call(op, call, GFP_KERNEL); in afs_fs_fetch_acl()
2056 struct afs_call *call; in afs_fs_store_acl() local
2065 call = afs_alloc_flat_call(op->net, &afs_RXFSStoreACL, in afs_fs_store_acl()
2067 if (!call) in afs_fs_store_acl()
2071 bp = call->request; in afs_fs_store_acl()
2081 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_store_acl()
2082 afs_make_op_call(op, call, GFP_KERNEL); in afs_fs_store_acl()