Lines Matching full:call

54 				      struct afs_call *call,  in xdr_decode_AFSFetchStatus()  argument
59 bool inline_error = (call->operation_ID == afs_FS_InlineBulkStatus); in xdr_decode_AFSFetchStatus()
127 afs_protocol_error(call, afs_eproto_bad_status); in xdr_decode_AFSFetchStatus()
131 static time64_t xdr_decode_expiry(struct afs_call *call, u32 expiry) in xdr_decode_expiry() argument
133 return ktime_divns(call->reply_time, NSEC_PER_SEC) + expiry; in xdr_decode_expiry()
137 struct afs_call *call, in xdr_decode_AFSCallBack() argument
144 cb->expires_at = xdr_decode_expiry(call, ntohl(*bp++)); in xdr_decode_AFSCallBack()
237 static int afs_deliver_fs_fetch_status(struct afs_call *call) in afs_deliver_fs_fetch_status() argument
239 struct afs_operation *op = call->op; in afs_deliver_fs_fetch_status()
244 ret = afs_transfer_reply(call); in afs_deliver_fs_fetch_status()
249 bp = call->buffer; in afs_deliver_fs_fetch_status()
250 xdr_decode_AFSFetchStatus(&bp, call, &vp->scb); in afs_deliver_fs_fetch_status()
251 xdr_decode_AFSCallBack(&bp, call, &vp->scb); in afs_deliver_fs_fetch_status()
274 struct afs_call *call; in afs_fs_fetch_status() local
280 call = afs_alloc_flat_call(op->net, &afs_RXFSFetchStatus, in afs_fs_fetch_status()
282 if (!call) in afs_fs_fetch_status()
286 bp = call->request; in afs_fs_fetch_status()
292 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_fetch_status()
293 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_fetch_status()
299 static int afs_deliver_fs_fetch_data(struct afs_call *call) in afs_deliver_fs_fetch_data() argument
301 struct afs_operation *op = call->op; in afs_deliver_fs_fetch_data()
309 call->unmarshall, iov_iter_count(call->iter), req->actual_len); in afs_deliver_fs_fetch_data()
311 switch (call->unmarshall) { in afs_deliver_fs_fetch_data()
316 call->unmarshall++; in afs_deliver_fs_fetch_data()
317 if (call->operation_ID == FSFETCHDATA64) { in afs_deliver_fs_fetch_data()
318 afs_extract_to_tmp64(call); in afs_deliver_fs_fetch_data()
320 call->tmp_u = htonl(0); in afs_deliver_fs_fetch_data()
321 afs_extract_to_tmp(call); in afs_deliver_fs_fetch_data()
328 ret = afs_extract_data(call, true); in afs_deliver_fs_fetch_data()
332 req->actual_len = be64_to_cpu(call->tmp64); in afs_deliver_fs_fetch_data()
338 call->unmarshall++; in afs_deliver_fs_fetch_data()
346 call->bvec[0].bv_len = size; in afs_deliver_fs_fetch_data()
347 call->bvec[0].bv_offset = req->offset; in afs_deliver_fs_fetch_data()
348 call->bvec[0].bv_page = req->pages[req->index]; in afs_deliver_fs_fetch_data()
349 iov_iter_bvec(&call->def_iter, READ, call->bvec, 1, size); in afs_deliver_fs_fetch_data()
356 iov_iter_count(call->iter), req->remain); in afs_deliver_fs_fetch_data()
358 ret = afs_extract_data(call, true); in afs_deliver_fs_fetch_data()
361 req->remain -= call->bvec[0].bv_len; in afs_deliver_fs_fetch_data()
362 req->offset += call->bvec[0].bv_len; in afs_deliver_fs_fetch_data()
376 afs_extract_discard(call, req->actual_len - req->len); in afs_deliver_fs_fetch_data()
377 call->unmarshall = 3; in afs_deliver_fs_fetch_data()
382 iov_iter_count(call->iter), req->actual_len - req->len); in afs_deliver_fs_fetch_data()
384 ret = afs_extract_data(call, true); in afs_deliver_fs_fetch_data()
389 call->unmarshall = 4; in afs_deliver_fs_fetch_data()
390 afs_extract_to_buf(call, (21 + 3 + 6) * 4); in afs_deliver_fs_fetch_data()
395 ret = afs_extract_data(call, false); in afs_deliver_fs_fetch_data()
399 bp = call->buffer; in afs_deliver_fs_fetch_data()
400 xdr_decode_AFSFetchStatus(&bp, call, &vp->scb); in afs_deliver_fs_fetch_data()
401 xdr_decode_AFSCallBack(&bp, call, &vp->scb); in afs_deliver_fs_fetch_data()
407 call->unmarshall++; in afs_deliver_fs_fetch_data()
452 struct afs_call *call; in afs_fs_fetch_data64() local
457 call = afs_alloc_flat_call(op->net, &afs_RXFSFetchData64, 32, (21 + 3 + 6) * 4); in afs_fs_fetch_data64()
458 if (!call) in afs_fs_fetch_data64()
462 bp = call->request; in afs_fs_fetch_data64()
472 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_fetch_data64()
473 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_fetch_data64()
482 struct afs_call *call; in afs_fs_fetch_data() local
493 call = afs_alloc_flat_call(op->net, &afs_RXFSFetchData, 24, (21 + 3 + 6) * 4); in afs_fs_fetch_data()
494 if (!call) in afs_fs_fetch_data()
498 bp = call->request; in afs_fs_fetch_data()
506 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_fetch_data()
507 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_fetch_data()
513 static int afs_deliver_fs_create_vnode(struct afs_call *call) in afs_deliver_fs_create_vnode() argument
515 struct afs_operation *op = call->op; in afs_deliver_fs_create_vnode()
521 ret = afs_transfer_reply(call); in afs_deliver_fs_create_vnode()
526 bp = call->buffer; in afs_deliver_fs_create_vnode()
528 xdr_decode_AFSFetchStatus(&bp, call, &vp->scb); in afs_deliver_fs_create_vnode()
529 xdr_decode_AFSFetchStatus(&bp, call, &dvp->scb); in afs_deliver_fs_create_vnode()
530 xdr_decode_AFSCallBack(&bp, call, &vp->scb); in afs_deliver_fs_create_vnode()
554 struct afs_call *call; in afs_fs_create_file() local
564 call = afs_alloc_flat_call(op->net, &afs_RXFSCreateFile, in afs_fs_create_file()
566 if (!call) in afs_fs_create_file()
570 bp = call->request; in afs_fs_create_file()
589 trace_afs_make_fs_call1(call, &dvp->fid, name); in afs_fs_create_file()
590 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_create_file()
607 struct afs_call *call; in afs_fs_make_dir() local
617 call = afs_alloc_flat_call(op->net, &afs_RXFSMakeDir, in afs_fs_make_dir()
619 if (!call) in afs_fs_make_dir()
623 bp = call->request; in afs_fs_make_dir()
642 trace_afs_make_fs_call1(call, &dvp->fid, name); in afs_fs_make_dir()
643 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_make_dir()
649 static int afs_deliver_fs_file_status_and_vol(struct afs_call *call) in afs_deliver_fs_file_status_and_vol() argument
651 struct afs_operation *op = call->op; in afs_deliver_fs_file_status_and_vol()
656 ret = afs_transfer_reply(call); in afs_deliver_fs_file_status_and_vol()
661 bp = call->buffer; in afs_deliver_fs_file_status_and_vol()
662 xdr_decode_AFSFetchStatus(&bp, call, &vp->scb); in afs_deliver_fs_file_status_and_vol()
686 struct afs_call *call; in afs_fs_remove_file() local
696 call = afs_alloc_flat_call(op->net, &afs_RXFSRemoveFile, in afs_fs_remove_file()
698 if (!call) in afs_fs_remove_file()
702 bp = call->request; in afs_fs_remove_file()
715 trace_afs_make_fs_call1(call, &dvp->fid, name); in afs_fs_remove_file()
716 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_remove_file()
733 struct afs_call *call; in afs_fs_remove_dir() local
743 call = afs_alloc_flat_call(op->net, &afs_RXFSRemoveDir, in afs_fs_remove_dir()
745 if (!call) in afs_fs_remove_dir()
749 bp = call->request; in afs_fs_remove_dir()
762 trace_afs_make_fs_call1(call, &dvp->fid, name); in afs_fs_remove_dir()
763 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_remove_dir()
769 static int afs_deliver_fs_link(struct afs_call *call) in afs_deliver_fs_link() argument
771 struct afs_operation *op = call->op; in afs_deliver_fs_link()
777 _enter("{%u}", call->unmarshall); in afs_deliver_fs_link()
779 ret = afs_transfer_reply(call); in afs_deliver_fs_link()
784 bp = call->buffer; in afs_deliver_fs_link()
785 xdr_decode_AFSFetchStatus(&bp, call, &vp->scb); in afs_deliver_fs_link()
786 xdr_decode_AFSFetchStatus(&bp, call, &dvp->scb); in afs_deliver_fs_link()
811 struct afs_call *call; in afs_fs_link() local
821 call = afs_alloc_flat_call(op->net, &afs_RXFSLink, reqsz, (21 + 21 + 6) * 4); in afs_fs_link()
822 if (!call) in afs_fs_link()
826 bp = call->request; in afs_fs_link()
842 trace_afs_make_fs_call1(call, &vp->fid, name); in afs_fs_link()
843 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_link()
849 static int afs_deliver_fs_symlink(struct afs_call *call) in afs_deliver_fs_symlink() argument
851 struct afs_operation *op = call->op; in afs_deliver_fs_symlink()
857 _enter("{%u}", call->unmarshall); in afs_deliver_fs_symlink()
859 ret = afs_transfer_reply(call); in afs_deliver_fs_symlink()
864 bp = call->buffer; in afs_deliver_fs_symlink()
866 xdr_decode_AFSFetchStatus(&bp, call, &vp->scb); in afs_deliver_fs_symlink()
867 xdr_decode_AFSFetchStatus(&bp, call, &dvp->scb); in afs_deliver_fs_symlink()
891 struct afs_call *call; in afs_fs_symlink() local
905 call = afs_alloc_flat_call(op->net, &afs_RXFSSymlink, reqsz, in afs_fs_symlink()
907 if (!call) in afs_fs_symlink()
911 bp = call->request; in afs_fs_symlink()
937 trace_afs_make_fs_call1(call, &dvp->fid, name); in afs_fs_symlink()
938 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_symlink()
944 static int afs_deliver_fs_rename(struct afs_call *call) in afs_deliver_fs_rename() argument
946 struct afs_operation *op = call->op; in afs_deliver_fs_rename()
952 ret = afs_transfer_reply(call); in afs_deliver_fs_rename()
956 bp = call->buffer; in afs_deliver_fs_rename()
960 xdr_decode_AFSFetchStatus(&bp, call, &orig_dvp->scb); in afs_deliver_fs_rename()
961 xdr_decode_AFSFetchStatus(&bp, call, &new_dvp->scb); in afs_deliver_fs_rename()
987 struct afs_call *call; in afs_fs_rename() local
1004 call = afs_alloc_flat_call(op->net, &afs_RXFSRename, reqsz, (21 + 21 + 6) * 4); in afs_fs_rename()
1005 if (!call) in afs_fs_rename()
1009 bp = call->request; in afs_fs_rename()
1033 trace_afs_make_fs_call2(call, &orig_dvp->fid, orig_name, new_name); in afs_fs_rename()
1034 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_rename()
1040 static int afs_deliver_fs_store_data(struct afs_call *call) in afs_deliver_fs_store_data() argument
1042 struct afs_operation *op = call->op; in afs_deliver_fs_store_data()
1049 ret = afs_transfer_reply(call); in afs_deliver_fs_store_data()
1054 bp = call->buffer; in afs_deliver_fs_store_data()
1055 xdr_decode_AFSFetchStatus(&bp, call, &vp->scb); in afs_deliver_fs_store_data()
1086 struct afs_call *call; in afs_fs_store_data64() local
1092 call = afs_alloc_flat_call(op->net, &afs_RXFSStoreData64, in afs_fs_store_data64()
1095 if (!call) in afs_fs_store_data64()
1098 call->send_pages = true; in afs_fs_store_data64()
1101 bp = call->request; in afs_fs_store_data64()
1121 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_store_data64()
1122 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_store_data64()
1131 struct afs_call *call; in afs_fs_store_data() local
1156 call = afs_alloc_flat_call(op->net, &afs_RXFSStoreData, in afs_fs_store_data()
1159 if (!call) in afs_fs_store_data()
1162 call->send_pages = true; in afs_fs_store_data()
1165 bp = call->request; in afs_fs_store_data()
1182 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_store_data()
1183 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_store_data()
1217 struct afs_call *call; in afs_fs_setattr_size64() local
1226 call = afs_alloc_flat_call(op->net, &afs_RXFSStoreData64_as_Status, in afs_fs_setattr_size64()
1229 if (!call) in afs_fs_setattr_size64()
1233 bp = call->request; in afs_fs_setattr_size64()
1248 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_setattr_size64()
1249 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_setattr_size64()
1259 struct afs_call *call; in afs_fs_setattr_size() local
1270 call = afs_alloc_flat_call(op->net, &afs_RXFSStoreData_as_Status, in afs_fs_setattr_size()
1273 if (!call) in afs_fs_setattr_size()
1277 bp = call->request; in afs_fs_setattr_size()
1289 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_setattr_size()
1290 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_setattr_size()
1300 struct afs_call *call; in afs_fs_setattr() local
1310 call = afs_alloc_flat_call(op->net, &afs_RXFSStoreStatus, in afs_fs_setattr()
1313 if (!call) in afs_fs_setattr()
1317 bp = call->request; in afs_fs_setattr()
1325 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_setattr()
1326 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_setattr()
1332 static int afs_deliver_fs_get_volume_status(struct afs_call *call) in afs_deliver_fs_get_volume_status() argument
1334 struct afs_operation *op = call->op; in afs_deliver_fs_get_volume_status()
1340 _enter("{%u}", call->unmarshall); in afs_deliver_fs_get_volume_status()
1342 switch (call->unmarshall) { in afs_deliver_fs_get_volume_status()
1344 call->unmarshall++; in afs_deliver_fs_get_volume_status()
1345 afs_extract_to_buf(call, 12 * 4); in afs_deliver_fs_get_volume_status()
1351 ret = afs_extract_data(call, true); in afs_deliver_fs_get_volume_status()
1355 bp = call->buffer; in afs_deliver_fs_get_volume_status()
1357 call->unmarshall++; in afs_deliver_fs_get_volume_status()
1358 afs_extract_to_tmp(call); in afs_deliver_fs_get_volume_status()
1363 ret = afs_extract_data(call, true); in afs_deliver_fs_get_volume_status()
1367 call->count = ntohl(call->tmp); in afs_deliver_fs_get_volume_status()
1368 _debug("volname length: %u", call->count); in afs_deliver_fs_get_volume_status()
1369 if (call->count >= AFSNAMEMAX) in afs_deliver_fs_get_volume_status()
1370 return afs_protocol_error(call, afs_eproto_volname_len); in afs_deliver_fs_get_volume_status()
1371 size = (call->count + 3) & ~3; /* It's padded */ in afs_deliver_fs_get_volume_status()
1372 afs_extract_to_buf(call, size); in afs_deliver_fs_get_volume_status()
1373 call->unmarshall++; in afs_deliver_fs_get_volume_status()
1379 ret = afs_extract_data(call, true); in afs_deliver_fs_get_volume_status()
1383 p = call->buffer; in afs_deliver_fs_get_volume_status()
1384 p[call->count] = 0; in afs_deliver_fs_get_volume_status()
1386 afs_extract_to_tmp(call); in afs_deliver_fs_get_volume_status()
1387 call->unmarshall++; in afs_deliver_fs_get_volume_status()
1392 ret = afs_extract_data(call, true); in afs_deliver_fs_get_volume_status()
1396 call->count = ntohl(call->tmp); in afs_deliver_fs_get_volume_status()
1397 _debug("offline msg length: %u", call->count); in afs_deliver_fs_get_volume_status()
1398 if (call->count >= AFSNAMEMAX) in afs_deliver_fs_get_volume_status()
1399 return afs_protocol_error(call, afs_eproto_offline_msg_len); in afs_deliver_fs_get_volume_status()
1400 size = (call->count + 3) & ~3; /* It's padded */ in afs_deliver_fs_get_volume_status()
1401 afs_extract_to_buf(call, size); in afs_deliver_fs_get_volume_status()
1402 call->unmarshall++; in afs_deliver_fs_get_volume_status()
1408 ret = afs_extract_data(call, true); in afs_deliver_fs_get_volume_status()
1412 p = call->buffer; in afs_deliver_fs_get_volume_status()
1413 p[call->count] = 0; in afs_deliver_fs_get_volume_status()
1416 afs_extract_to_tmp(call); in afs_deliver_fs_get_volume_status()
1417 call->unmarshall++; in afs_deliver_fs_get_volume_status()
1422 ret = afs_extract_data(call, true); in afs_deliver_fs_get_volume_status()
1426 call->count = ntohl(call->tmp); in afs_deliver_fs_get_volume_status()
1427 _debug("motd length: %u", call->count); in afs_deliver_fs_get_volume_status()
1428 if (call->count >= AFSNAMEMAX) in afs_deliver_fs_get_volume_status()
1429 return afs_protocol_error(call, afs_eproto_motd_len); in afs_deliver_fs_get_volume_status()
1430 size = (call->count + 3) & ~3; /* It's padded */ in afs_deliver_fs_get_volume_status()
1431 afs_extract_to_buf(call, size); in afs_deliver_fs_get_volume_status()
1432 call->unmarshall++; in afs_deliver_fs_get_volume_status()
1438 ret = afs_extract_data(call, false); in afs_deliver_fs_get_volume_status()
1442 p = call->buffer; in afs_deliver_fs_get_volume_status()
1443 p[call->count] = 0; in afs_deliver_fs_get_volume_status()
1446 call->unmarshall++; in afs_deliver_fs_get_volume_status()
1472 struct afs_call *call; in afs_fs_get_volume_status() local
1477 call = afs_alloc_flat_call(op->net, &afs_RXFSGetVolumeStatus, 2 * 4, in afs_fs_get_volume_status()
1479 if (!call) in afs_fs_get_volume_status()
1483 bp = call->request; in afs_fs_get_volume_status()
1487 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_get_volume_status()
1488 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_get_volume_status()
1494 static int afs_deliver_fs_xxxx_lock(struct afs_call *call) in afs_deliver_fs_xxxx_lock() argument
1496 struct afs_operation *op = call->op; in afs_deliver_fs_xxxx_lock()
1500 _enter("{%u}", call->unmarshall); in afs_deliver_fs_xxxx_lock()
1502 ret = afs_transfer_reply(call); in afs_deliver_fs_xxxx_lock()
1507 bp = call->buffer; in afs_deliver_fs_xxxx_lock()
1552 struct afs_call *call; in afs_fs_set_lock() local
1557 call = afs_alloc_flat_call(op->net, &afs_RXFSSetLock, 5 * 4, 6 * 4); in afs_fs_set_lock()
1558 if (!call) in afs_fs_set_lock()
1562 bp = call->request; in afs_fs_set_lock()
1569 trace_afs_make_fs_calli(call, &vp->fid, op->lock.type); in afs_fs_set_lock()
1570 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_set_lock()
1579 struct afs_call *call; in afs_fs_extend_lock() local
1584 call = afs_alloc_flat_call(op->net, &afs_RXFSExtendLock, 4 * 4, 6 * 4); in afs_fs_extend_lock()
1585 if (!call) in afs_fs_extend_lock()
1589 bp = call->request; in afs_fs_extend_lock()
1595 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_extend_lock()
1596 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_extend_lock()
1605 struct afs_call *call; in afs_fs_release_lock() local
1610 call = afs_alloc_flat_call(op->net, &afs_RXFSReleaseLock, 4 * 4, 6 * 4); in afs_fs_release_lock()
1611 if (!call) in afs_fs_release_lock()
1615 bp = call->request; in afs_fs_release_lock()
1621 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_release_lock()
1622 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_release_lock()
1628 static int afs_deliver_fs_give_up_all_callbacks(struct afs_call *call) in afs_deliver_fs_give_up_all_callbacks() argument
1630 return afs_transfer_reply(call); in afs_deliver_fs_give_up_all_callbacks()
1651 struct afs_call *call; in afs_fs_give_up_all_callbacks() local
1656 call = afs_alloc_flat_call(net, &afs_RXFSGiveUpAllCallBacks, 1 * 4, 0); in afs_fs_give_up_all_callbacks()
1657 if (!call) in afs_fs_give_up_all_callbacks()
1660 call->key = key; in afs_fs_give_up_all_callbacks()
1663 bp = call->request; in afs_fs_give_up_all_callbacks()
1666 call->server = afs_use_server(server, afs_server_trace_give_up_cb); in afs_fs_give_up_all_callbacks()
1667 afs_make_call(ac, call, GFP_NOFS); in afs_fs_give_up_all_callbacks()
1668 return afs_wait_for_call_to_complete(call, ac); in afs_fs_give_up_all_callbacks()
1674 static int afs_deliver_fs_get_capabilities(struct afs_call *call) in afs_deliver_fs_get_capabilities() argument
1679 _enter("{%u,%zu}", call->unmarshall, iov_iter_count(call->iter)); in afs_deliver_fs_get_capabilities()
1681 switch (call->unmarshall) { in afs_deliver_fs_get_capabilities()
1683 afs_extract_to_tmp(call); in afs_deliver_fs_get_capabilities()
1684 call->unmarshall++; in afs_deliver_fs_get_capabilities()
1689 ret = afs_extract_data(call, true); in afs_deliver_fs_get_capabilities()
1693 count = ntohl(call->tmp); in afs_deliver_fs_get_capabilities()
1695 call->count = count; in afs_deliver_fs_get_capabilities()
1696 call->count2 = count; in afs_deliver_fs_get_capabilities()
1697 afs_extract_discard(call, count * sizeof(__be32)); in afs_deliver_fs_get_capabilities()
1698 call->unmarshall++; in afs_deliver_fs_get_capabilities()
1703 ret = afs_extract_data(call, false); in afs_deliver_fs_get_capabilities()
1709 call->unmarshall++; in afs_deliver_fs_get_capabilities()
1731 * to allocate a call, true is returned the result is delivered through the
1737 struct afs_call *call; in afs_fs_get_capabilities() local
1742 call = afs_alloc_flat_call(net, &afs_RXFSGetCapabilities, 1 * 4, 16 * 4); in afs_fs_get_capabilities()
1743 if (!call) in afs_fs_get_capabilities()
1746 call->key = key; in afs_fs_get_capabilities()
1747 call->server = afs_use_server(server, afs_server_trace_get_caps); in afs_fs_get_capabilities()
1748 call->upgrade = true; in afs_fs_get_capabilities()
1749 call->async = true; in afs_fs_get_capabilities()
1750 call->max_lifespan = AFS_PROBE_MAX_LIFESPAN; in afs_fs_get_capabilities()
1753 bp = call->request; in afs_fs_get_capabilities()
1756 trace_afs_make_fs_call(call, NULL); in afs_fs_get_capabilities()
1757 afs_make_call(ac, call, GFP_NOFS); in afs_fs_get_capabilities()
1758 afs_put_call(call); in afs_fs_get_capabilities()
1763 * Deliver reply data to an FS.InlineBulkStatus call
1765 static int afs_deliver_fs_inline_bulk_status(struct afs_call *call) in afs_deliver_fs_inline_bulk_status() argument
1767 struct afs_operation *op = call->op; in afs_deliver_fs_inline_bulk_status()
1773 _enter("{%u}", call->unmarshall); in afs_deliver_fs_inline_bulk_status()
1775 switch (call->unmarshall) { in afs_deliver_fs_inline_bulk_status()
1777 afs_extract_to_tmp(call); in afs_deliver_fs_inline_bulk_status()
1778 call->unmarshall++; in afs_deliver_fs_inline_bulk_status()
1784 ret = afs_extract_data(call, true); in afs_deliver_fs_inline_bulk_status()
1788 tmp = ntohl(call->tmp); in afs_deliver_fs_inline_bulk_status()
1791 return afs_protocol_error(call, afs_eproto_ibulkst_count); in afs_deliver_fs_inline_bulk_status()
1793 call->count = 0; in afs_deliver_fs_inline_bulk_status()
1794 call->unmarshall++; in afs_deliver_fs_inline_bulk_status()
1796 afs_extract_to_buf(call, 21 * sizeof(__be32)); in afs_deliver_fs_inline_bulk_status()
1800 _debug("extract status array %u", call->count); in afs_deliver_fs_inline_bulk_status()
1801 ret = afs_extract_data(call, true); in afs_deliver_fs_inline_bulk_status()
1805 switch (call->count) { in afs_deliver_fs_inline_bulk_status()
1813 scb = &op->more_files[call->count - 2].scb; in afs_deliver_fs_inline_bulk_status()
1817 bp = call->buffer; in afs_deliver_fs_inline_bulk_status()
1818 xdr_decode_AFSFetchStatus(&bp, call, scb); in afs_deliver_fs_inline_bulk_status()
1820 call->count++; in afs_deliver_fs_inline_bulk_status()
1821 if (call->count < op->nr_files) in afs_deliver_fs_inline_bulk_status()
1824 call->count = 0; in afs_deliver_fs_inline_bulk_status()
1825 call->unmarshall++; in afs_deliver_fs_inline_bulk_status()
1826 afs_extract_to_tmp(call); in afs_deliver_fs_inline_bulk_status()
1832 ret = afs_extract_data(call, true); in afs_deliver_fs_inline_bulk_status()
1836 tmp = ntohl(call->tmp); in afs_deliver_fs_inline_bulk_status()
1839 return afs_protocol_error(call, afs_eproto_ibulkst_cb_count); in afs_deliver_fs_inline_bulk_status()
1840 call->count = 0; in afs_deliver_fs_inline_bulk_status()
1841 call->unmarshall++; in afs_deliver_fs_inline_bulk_status()
1843 afs_extract_to_buf(call, 3 * sizeof(__be32)); in afs_deliver_fs_inline_bulk_status()
1848 ret = afs_extract_data(call, true); in afs_deliver_fs_inline_bulk_status()
1853 switch (call->count) { in afs_deliver_fs_inline_bulk_status()
1861 scb = &op->more_files[call->count - 2].scb; in afs_deliver_fs_inline_bulk_status()
1865 bp = call->buffer; in afs_deliver_fs_inline_bulk_status()
1866 xdr_decode_AFSCallBack(&bp, call, scb); in afs_deliver_fs_inline_bulk_status()
1867 call->count++; in afs_deliver_fs_inline_bulk_status()
1868 if (call->count < op->nr_files) in afs_deliver_fs_inline_bulk_status()
1871 afs_extract_to_buf(call, 6 * sizeof(__be32)); in afs_deliver_fs_inline_bulk_status()
1872 call->unmarshall++; in afs_deliver_fs_inline_bulk_status()
1876 ret = afs_extract_data(call, false); in afs_deliver_fs_inline_bulk_status()
1880 bp = call->buffer; in afs_deliver_fs_inline_bulk_status()
1883 call->unmarshall++; in afs_deliver_fs_inline_bulk_status()
1893 static void afs_done_fs_inline_bulk_status(struct afs_call *call) in afs_done_fs_inline_bulk_status() argument
1895 if (call->error == -ECONNABORTED && in afs_done_fs_inline_bulk_status()
1896 call->abort_code == RX_INVALID_OPERATION) { in afs_done_fs_inline_bulk_status()
1897 set_bit(AFS_SERVER_FL_NO_IBULK, &call->server->flags); in afs_done_fs_inline_bulk_status()
1898 if (call->op) in afs_done_fs_inline_bulk_status()
1899 set_bit(AFS_VOLUME_MAYBE_NO_IBULK, &call->op->volume->flags); in afs_done_fs_inline_bulk_status()
1921 struct afs_call *call; in afs_fs_inline_bulk_status() local
1933 call = afs_alloc_flat_call(op->net, &afs_RXFSInlineBulkStatus, in afs_fs_inline_bulk_status()
1936 if (!call) in afs_fs_inline_bulk_status()
1940 bp = call->request; in afs_fs_inline_bulk_status()
1955 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_inline_bulk_status()
1956 afs_make_op_call(op, call, GFP_NOFS); in afs_fs_inline_bulk_status()
1962 static int afs_deliver_fs_fetch_acl(struct afs_call *call) in afs_deliver_fs_fetch_acl() argument
1964 struct afs_operation *op = call->op; in afs_deliver_fs_fetch_acl()
1971 _enter("{%u}", call->unmarshall); in afs_deliver_fs_fetch_acl()
1973 switch (call->unmarshall) { in afs_deliver_fs_fetch_acl()
1975 afs_extract_to_tmp(call); in afs_deliver_fs_fetch_acl()
1976 call->unmarshall++; in afs_deliver_fs_fetch_acl()
1981 ret = afs_extract_data(call, true); in afs_deliver_fs_fetch_acl()
1985 size = call->count2 = ntohl(call->tmp); in afs_deliver_fs_fetch_acl()
1992 acl->size = call->count2; in afs_deliver_fs_fetch_acl()
1993 afs_extract_begin(call, acl->data, size); in afs_deliver_fs_fetch_acl()
1994 call->unmarshall++; in afs_deliver_fs_fetch_acl()
1999 ret = afs_extract_data(call, true); in afs_deliver_fs_fetch_acl()
2003 afs_extract_to_buf(call, (21 + 6) * 4); in afs_deliver_fs_fetch_acl()
2004 call->unmarshall++; in afs_deliver_fs_fetch_acl()
2009 ret = afs_extract_data(call, false); in afs_deliver_fs_fetch_acl()
2013 bp = call->buffer; in afs_deliver_fs_fetch_acl()
2014 xdr_decode_AFSFetchStatus(&bp, call, &vp->scb); in afs_deliver_fs_fetch_acl()
2017 call->unmarshall++; in afs_deliver_fs_fetch_acl()
2042 struct afs_call *call; in afs_fs_fetch_acl() local
2048 call = afs_alloc_flat_call(op->net, &afs_RXFSFetchACL, 16, (21 + 6) * 4); in afs_fs_fetch_acl()
2049 if (!call) in afs_fs_fetch_acl()
2053 bp = call->request; in afs_fs_fetch_acl()
2059 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_fetch_acl()
2060 afs_make_op_call(op, call, GFP_KERNEL); in afs_fs_fetch_acl()
2079 struct afs_call *call; in afs_fs_store_acl() local
2088 call = afs_alloc_flat_call(op->net, &afs_RXFSStoreACL, in afs_fs_store_acl()
2090 if (!call) in afs_fs_store_acl()
2094 bp = call->request; in afs_fs_store_acl()
2104 trace_afs_make_fs_call(call, &vp->fid); in afs_fs_store_acl()
2105 afs_make_op_call(op, call, GFP_KERNEL); in afs_fs_store_acl()