Lines Matching full:call
138 static void yfs_check_req(struct afs_call *call, __be32 *bp) in yfs_check_req() argument
140 size_t len = (void *)bp - call->request; in yfs_check_req()
142 if (len > call->request_size) in yfs_check_req()
144 call->type->name, len, call->request_size); in yfs_check_req()
145 else if (len < call->request_size) in yfs_check_req()
147 call->type->name, len, call->request_size); in yfs_check_req()
174 struct afs_call *call, in xdr_decode_YFSFetchStatus() argument
220 afs_protocol_error(call, afs_eproto_bad_status); in xdr_decode_YFSFetchStatus()
228 struct afs_call *call, in xdr_decode_YFSCallBack() argument
235 cb_expiry = ktime_add(call->issue_time, xdr_to_u64(x->expiration_time) * 100); in xdr_decode_YFSCallBack()
328 static int yfs_deliver_status_and_volsync(struct afs_call *call) in yfs_deliver_status_and_volsync() argument
330 struct afs_operation *op = call->op; in yfs_deliver_status_and_volsync()
334 ret = afs_transfer_reply(call); in yfs_deliver_status_and_volsync()
338 bp = call->buffer; in yfs_deliver_status_and_volsync()
339 xdr_decode_YFSFetchStatus(&bp, call, &op->file[0].scb); in yfs_deliver_status_and_volsync()
349 static int yfs_deliver_fs_fetch_data64(struct afs_call *call) in yfs_deliver_fs_fetch_data64() argument
351 struct afs_operation *op = call->op; in yfs_deliver_fs_fetch_data64()
358 call->unmarshall, call->iov_len, iov_iter_count(call->iter), in yfs_deliver_fs_fetch_data64()
361 switch (call->unmarshall) { in yfs_deliver_fs_fetch_data64()
364 afs_extract_to_tmp64(call); in yfs_deliver_fs_fetch_data64()
365 call->unmarshall++; in yfs_deliver_fs_fetch_data64()
374 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_data64()
378 req->actual_len = be64_to_cpu(call->tmp64); in yfs_deliver_fs_fetch_data64()
384 call->iter = req->iter; in yfs_deliver_fs_fetch_data64()
385 call->iov_len = min(req->actual_len, req->len); in yfs_deliver_fs_fetch_data64()
386 call->unmarshall++; in yfs_deliver_fs_fetch_data64()
392 iov_iter_count(call->iter), req->actual_len); in yfs_deliver_fs_fetch_data64()
394 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_data64()
398 call->iter = &call->def_iter; in yfs_deliver_fs_fetch_data64()
403 afs_extract_discard(call, req->actual_len - req->len); in yfs_deliver_fs_fetch_data64()
404 call->unmarshall = 3; in yfs_deliver_fs_fetch_data64()
409 iov_iter_count(call->iter), req->actual_len - req->len); in yfs_deliver_fs_fetch_data64()
411 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_data64()
416 call->unmarshall = 4; in yfs_deliver_fs_fetch_data64()
417 afs_extract_to_buf(call, in yfs_deliver_fs_fetch_data64()
425 ret = afs_extract_data(call, false); in yfs_deliver_fs_fetch_data64()
429 bp = call->buffer; in yfs_deliver_fs_fetch_data64()
430 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_data64()
431 xdr_decode_YFSCallBack(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_data64()
437 call->unmarshall++; in yfs_deliver_fs_fetch_data64()
465 struct afs_call *call; in yfs_fs_fetch_data() local
472 call = afs_alloc_flat_call(op->net, &yfs_RXYFSFetchData64, in yfs_fs_fetch_data()
479 if (!call) in yfs_fs_fetch_data()
482 req->call_debug_id = call->debug_id; in yfs_fs_fetch_data()
485 bp = call->request; in yfs_fs_fetch_data()
491 yfs_check_req(call, bp); in yfs_fs_fetch_data()
493 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_fetch_data()
494 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_fetch_data()
500 static int yfs_deliver_fs_create_vnode(struct afs_call *call) in yfs_deliver_fs_create_vnode() argument
502 struct afs_operation *op = call->op; in yfs_deliver_fs_create_vnode()
508 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_create_vnode()
510 ret = afs_transfer_reply(call); in yfs_deliver_fs_create_vnode()
515 bp = call->buffer; in yfs_deliver_fs_create_vnode()
517 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_create_vnode()
518 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_create_vnode()
519 xdr_decode_YFSCallBack(&bp, call, &vp->scb); in yfs_deliver_fs_create_vnode()
543 struct afs_call *call; in yfs_fs_create_file() local
561 call = afs_alloc_flat_call(op->net, &afs_RXFSCreateFile, reqsz, rplsz); in yfs_fs_create_file()
562 if (!call) in yfs_fs_create_file()
566 bp = call->request; in yfs_fs_create_file()
573 yfs_check_req(call, bp); in yfs_fs_create_file()
575 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_create_file()
576 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_create_file()
593 struct afs_call *call; in yfs_fs_make_dir() local
610 call = afs_alloc_flat_call(op->net, &yfs_RXFSMakeDir, reqsz, rplsz); in yfs_fs_make_dir()
611 if (!call) in yfs_fs_make_dir()
615 bp = call->request; in yfs_fs_make_dir()
621 yfs_check_req(call, bp); in yfs_fs_make_dir()
623 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_make_dir()
624 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_make_dir()
630 static int yfs_deliver_fs_remove_file2(struct afs_call *call) in yfs_deliver_fs_remove_file2() argument
632 struct afs_operation *op = call->op; in yfs_deliver_fs_remove_file2()
639 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_remove_file2()
641 ret = afs_transfer_reply(call); in yfs_deliver_fs_remove_file2()
645 bp = call->buffer; in yfs_deliver_fs_remove_file2()
646 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_remove_file2()
648 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_remove_file2()
655 static void yfs_done_fs_remove_file2(struct afs_call *call) in yfs_done_fs_remove_file2() argument
657 if (call->error == -ECONNABORTED && in yfs_done_fs_remove_file2()
658 (call->abort_code == RX_INVALID_OPERATION || in yfs_done_fs_remove_file2()
659 call->abort_code == RXGEN_OPCODE)) { in yfs_done_fs_remove_file2()
660 set_bit(AFS_SERVER_FL_NO_RM2, &call->op->server->flags); in yfs_done_fs_remove_file2()
661 call->op->flags |= AFS_OPERATION_DOWNGRADE; in yfs_done_fs_remove_file2()
683 struct afs_call *call; in yfs_fs_remove_file2() local
688 call = afs_alloc_flat_call(op->net, &yfs_RXYFSRemoveFile2, in yfs_fs_remove_file2()
697 if (!call) in yfs_fs_remove_file2()
701 bp = call->request; in yfs_fs_remove_file2()
706 yfs_check_req(call, bp); in yfs_fs_remove_file2()
708 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_remove_file2()
709 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_remove_file2()
715 static int yfs_deliver_fs_remove(struct afs_call *call) in yfs_deliver_fs_remove() argument
717 struct afs_operation *op = call->op; in yfs_deliver_fs_remove()
722 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_remove()
724 ret = afs_transfer_reply(call); in yfs_deliver_fs_remove()
728 bp = call->buffer; in yfs_deliver_fs_remove()
729 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_remove()
751 struct afs_call *call; in yfs_fs_remove_file() local
759 call = afs_alloc_flat_call(op->net, &yfs_RXYFSRemoveFile, in yfs_fs_remove_file()
766 if (!call) in yfs_fs_remove_file()
770 bp = call->request; in yfs_fs_remove_file()
775 yfs_check_req(call, bp); in yfs_fs_remove_file()
777 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_remove_file()
778 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_remove_file()
795 struct afs_call *call; in yfs_fs_remove_dir() local
800 call = afs_alloc_flat_call(op->net, &yfs_RXYFSRemoveDir, in yfs_fs_remove_dir()
807 if (!call) in yfs_fs_remove_dir()
811 bp = call->request; in yfs_fs_remove_dir()
816 yfs_check_req(call, bp); in yfs_fs_remove_dir()
818 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_remove_dir()
819 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_remove_dir()
825 static int yfs_deliver_fs_link(struct afs_call *call) in yfs_deliver_fs_link() argument
827 struct afs_operation *op = call->op; in yfs_deliver_fs_link()
833 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_link()
835 ret = afs_transfer_reply(call); in yfs_deliver_fs_link()
839 bp = call->buffer; in yfs_deliver_fs_link()
840 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_link()
841 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_link()
865 struct afs_call *call; in yfs_fs_link() local
870 call = afs_alloc_flat_call(op->net, &yfs_RXYFSLink, in yfs_fs_link()
879 if (!call) in yfs_fs_link()
883 bp = call->request; in yfs_fs_link()
889 yfs_check_req(call, bp); in yfs_fs_link()
891 trace_afs_make_fs_call1(call, &vp->fid, name); in yfs_fs_link()
892 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_link()
898 static int yfs_deliver_fs_symlink(struct afs_call *call) in yfs_deliver_fs_symlink() argument
900 struct afs_operation *op = call->op; in yfs_deliver_fs_symlink()
906 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_symlink()
908 ret = afs_transfer_reply(call); in yfs_deliver_fs_symlink()
913 bp = call->buffer; in yfs_deliver_fs_symlink()
915 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_symlink()
916 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_symlink()
940 struct afs_call *call; in yfs_fs_symlink() local
948 call = afs_alloc_flat_call(op->net, &yfs_RXYFSSymlink, in yfs_fs_symlink()
959 if (!call) in yfs_fs_symlink()
963 bp = call->request; in yfs_fs_symlink()
970 yfs_check_req(call, bp); in yfs_fs_symlink()
972 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_symlink()
973 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_symlink()
979 static int yfs_deliver_fs_rename(struct afs_call *call) in yfs_deliver_fs_rename() argument
981 struct afs_operation *op = call->op; in yfs_deliver_fs_rename()
987 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_rename()
989 ret = afs_transfer_reply(call); in yfs_deliver_fs_rename()
993 bp = call->buffer; in yfs_deliver_fs_rename()
997 xdr_decode_YFSFetchStatus(&bp, call, &orig_dvp->scb); in yfs_deliver_fs_rename()
998 xdr_decode_YFSFetchStatus(&bp, call, &new_dvp->scb); in yfs_deliver_fs_rename()
1023 struct afs_call *call; in yfs_fs_rename() local
1028 call = afs_alloc_flat_call(op->net, &yfs_RXYFSRename, in yfs_fs_rename()
1038 if (!call) in yfs_fs_rename()
1042 bp = call->request; in yfs_fs_rename()
1049 yfs_check_req(call, bp); in yfs_fs_rename()
1051 trace_afs_make_fs_call2(call, &orig_dvp->fid, orig_name, new_name); in yfs_fs_rename()
1052 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_rename()
1071 struct afs_call *call; in yfs_fs_store_data() local
1082 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreData64, in yfs_fs_store_data()
1090 if (!call) in yfs_fs_store_data()
1093 call->write_iter = op->store.write_iter; in yfs_fs_store_data()
1096 bp = call->request; in yfs_fs_store_data()
1104 yfs_check_req(call, bp); in yfs_fs_store_data()
1106 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_store_data()
1107 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_store_data()
1134 struct afs_call *call; in yfs_fs_setattr_size() local
1141 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreData64_as_Status, in yfs_fs_setattr_size()
1148 if (!call) in yfs_fs_setattr_size()
1152 bp = call->request; in yfs_fs_setattr_size()
1160 yfs_check_req(call, bp); in yfs_fs_setattr_size()
1162 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_setattr_size()
1163 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_setattr_size()
1173 struct afs_call *call; in yfs_fs_setattr() local
1183 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreStatus, in yfs_fs_setattr()
1189 if (!call) in yfs_fs_setattr()
1193 bp = call->request; in yfs_fs_setattr()
1198 yfs_check_req(call, bp); in yfs_fs_setattr()
1200 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_setattr()
1201 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_setattr()
1207 static int yfs_deliver_fs_get_volume_status(struct afs_call *call) in yfs_deliver_fs_get_volume_status() argument
1209 struct afs_operation *op = call->op; in yfs_deliver_fs_get_volume_status()
1215 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_get_volume_status()
1217 switch (call->unmarshall) { in yfs_deliver_fs_get_volume_status()
1219 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1220 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSFetchVolumeStatus)); in yfs_deliver_fs_get_volume_status()
1226 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1230 bp = call->buffer; in yfs_deliver_fs_get_volume_status()
1232 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1233 afs_extract_to_tmp(call); in yfs_deliver_fs_get_volume_status()
1238 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1242 call->count = ntohl(call->tmp); in yfs_deliver_fs_get_volume_status()
1243 _debug("volname length: %u", call->count); in yfs_deliver_fs_get_volume_status()
1244 if (call->count >= AFSNAMEMAX) in yfs_deliver_fs_get_volume_status()
1245 return afs_protocol_error(call, afs_eproto_volname_len); in yfs_deliver_fs_get_volume_status()
1246 size = (call->count + 3) & ~3; /* It's padded */ in yfs_deliver_fs_get_volume_status()
1247 afs_extract_to_buf(call, size); in yfs_deliver_fs_get_volume_status()
1248 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1254 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1258 p = call->buffer; in yfs_deliver_fs_get_volume_status()
1259 p[call->count] = 0; in yfs_deliver_fs_get_volume_status()
1261 afs_extract_to_tmp(call); in yfs_deliver_fs_get_volume_status()
1262 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1267 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1271 call->count = ntohl(call->tmp); in yfs_deliver_fs_get_volume_status()
1272 _debug("offline msg length: %u", call->count); in yfs_deliver_fs_get_volume_status()
1273 if (call->count >= AFSNAMEMAX) in yfs_deliver_fs_get_volume_status()
1274 return afs_protocol_error(call, afs_eproto_offline_msg_len); in yfs_deliver_fs_get_volume_status()
1275 size = (call->count + 3) & ~3; /* It's padded */ in yfs_deliver_fs_get_volume_status()
1276 afs_extract_to_buf(call, size); in yfs_deliver_fs_get_volume_status()
1277 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1283 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1287 p = call->buffer; in yfs_deliver_fs_get_volume_status()
1288 p[call->count] = 0; in yfs_deliver_fs_get_volume_status()
1291 afs_extract_to_tmp(call); in yfs_deliver_fs_get_volume_status()
1292 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1297 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1301 call->count = ntohl(call->tmp); in yfs_deliver_fs_get_volume_status()
1302 _debug("motd length: %u", call->count); in yfs_deliver_fs_get_volume_status()
1303 if (call->count >= AFSNAMEMAX) in yfs_deliver_fs_get_volume_status()
1304 return afs_protocol_error(call, afs_eproto_motd_len); in yfs_deliver_fs_get_volume_status()
1305 size = (call->count + 3) & ~3; /* It's padded */ in yfs_deliver_fs_get_volume_status()
1306 afs_extract_to_buf(call, size); in yfs_deliver_fs_get_volume_status()
1307 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1313 ret = afs_extract_data(call, false); in yfs_deliver_fs_get_volume_status()
1317 p = call->buffer; in yfs_deliver_fs_get_volume_status()
1318 p[call->count] = 0; in yfs_deliver_fs_get_volume_status()
1321 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1348 struct afs_call *call; in yfs_fs_get_volume_status() local
1353 call = afs_alloc_flat_call(op->net, &yfs_RXYFSGetVolumeStatus, in yfs_fs_get_volume_status()
1360 if (!call) in yfs_fs_get_volume_status()
1364 bp = call->request; in yfs_fs_get_volume_status()
1368 yfs_check_req(call, bp); in yfs_fs_get_volume_status()
1370 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_get_volume_status()
1371 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_get_volume_status()
1412 struct afs_call *call; in yfs_fs_set_lock() local
1417 call = afs_alloc_flat_call(op->net, &yfs_RXYFSSetLock, in yfs_fs_set_lock()
1423 if (!call) in yfs_fs_set_lock()
1427 bp = call->request; in yfs_fs_set_lock()
1432 yfs_check_req(call, bp); in yfs_fs_set_lock()
1434 trace_afs_make_fs_calli(call, &vp->fid, op->lock.type); in yfs_fs_set_lock()
1435 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_set_lock()
1444 struct afs_call *call; in yfs_fs_extend_lock() local
1449 call = afs_alloc_flat_call(op->net, &yfs_RXYFSExtendLock, in yfs_fs_extend_lock()
1454 if (!call) in yfs_fs_extend_lock()
1458 bp = call->request; in yfs_fs_extend_lock()
1462 yfs_check_req(call, bp); in yfs_fs_extend_lock()
1464 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_extend_lock()
1465 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_extend_lock()
1474 struct afs_call *call; in yfs_fs_release_lock() local
1479 call = afs_alloc_flat_call(op->net, &yfs_RXYFSReleaseLock, in yfs_fs_release_lock()
1484 if (!call) in yfs_fs_release_lock()
1488 bp = call->request; in yfs_fs_release_lock()
1492 yfs_check_req(call, bp); in yfs_fs_release_lock()
1494 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_release_lock()
1495 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_release_lock()
1501 static int yfs_deliver_fs_fetch_status(struct afs_call *call) in yfs_deliver_fs_fetch_status() argument
1503 struct afs_operation *op = call->op; in yfs_deliver_fs_fetch_status()
1508 ret = afs_transfer_reply(call); in yfs_deliver_fs_fetch_status()
1513 bp = call->buffer; in yfs_deliver_fs_fetch_status()
1514 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_status()
1515 xdr_decode_YFSCallBack(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_status()
1538 struct afs_call *call; in yfs_fs_fetch_status() local
1544 call = afs_alloc_flat_call(op->net, &yfs_RXYFSFetchStatus, in yfs_fs_fetch_status()
1550 if (!call) in yfs_fs_fetch_status()
1554 bp = call->request; in yfs_fs_fetch_status()
1558 yfs_check_req(call, bp); in yfs_fs_fetch_status()
1560 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_fetch_status()
1561 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_fetch_status()
1565 * Deliver reply data to an YFS.InlineBulkStatus call
1567 static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call) in yfs_deliver_fs_inline_bulk_status() argument
1569 struct afs_operation *op = call->op; in yfs_deliver_fs_inline_bulk_status()
1575 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_inline_bulk_status()
1577 switch (call->unmarshall) { in yfs_deliver_fs_inline_bulk_status()
1579 afs_extract_to_tmp(call); in yfs_deliver_fs_inline_bulk_status()
1580 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1586 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1590 tmp = ntohl(call->tmp); in yfs_deliver_fs_inline_bulk_status()
1593 return afs_protocol_error(call, afs_eproto_ibulkst_count); in yfs_deliver_fs_inline_bulk_status()
1595 call->count = 0; in yfs_deliver_fs_inline_bulk_status()
1596 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1598 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSFetchStatus)); in yfs_deliver_fs_inline_bulk_status()
1602 _debug("extract status array %u", call->count); in yfs_deliver_fs_inline_bulk_status()
1603 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1607 switch (call->count) { in yfs_deliver_fs_inline_bulk_status()
1615 scb = &op->more_files[call->count - 2].scb; in yfs_deliver_fs_inline_bulk_status()
1619 bp = call->buffer; in yfs_deliver_fs_inline_bulk_status()
1620 xdr_decode_YFSFetchStatus(&bp, call, scb); in yfs_deliver_fs_inline_bulk_status()
1622 call->count++; in yfs_deliver_fs_inline_bulk_status()
1623 if (call->count < op->nr_files) in yfs_deliver_fs_inline_bulk_status()
1626 call->count = 0; in yfs_deliver_fs_inline_bulk_status()
1627 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1628 afs_extract_to_tmp(call); in yfs_deliver_fs_inline_bulk_status()
1634 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1638 tmp = ntohl(call->tmp); in yfs_deliver_fs_inline_bulk_status()
1641 return afs_protocol_error(call, afs_eproto_ibulkst_cb_count); in yfs_deliver_fs_inline_bulk_status()
1642 call->count = 0; in yfs_deliver_fs_inline_bulk_status()
1643 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1645 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSCallBack)); in yfs_deliver_fs_inline_bulk_status()
1650 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1655 switch (call->count) { in yfs_deliver_fs_inline_bulk_status()
1663 scb = &op->more_files[call->count - 2].scb; in yfs_deliver_fs_inline_bulk_status()
1667 bp = call->buffer; in yfs_deliver_fs_inline_bulk_status()
1668 xdr_decode_YFSCallBack(&bp, call, scb); in yfs_deliver_fs_inline_bulk_status()
1669 call->count++; in yfs_deliver_fs_inline_bulk_status()
1670 if (call->count < op->nr_files) in yfs_deliver_fs_inline_bulk_status()
1673 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSVolSync)); in yfs_deliver_fs_inline_bulk_status()
1674 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1678 ret = afs_extract_data(call, false); in yfs_deliver_fs_inline_bulk_status()
1682 bp = call->buffer; in yfs_deliver_fs_inline_bulk_status()
1685 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1713 struct afs_call *call; in yfs_fs_inline_bulk_status() local
1720 call = afs_alloc_flat_call(op->net, &yfs_RXYFSInlineBulkStatus, in yfs_fs_inline_bulk_status()
1726 if (!call) in yfs_fs_inline_bulk_status()
1730 bp = call->request; in yfs_fs_inline_bulk_status()
1738 yfs_check_req(call, bp); in yfs_fs_inline_bulk_status()
1740 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_inline_bulk_status()
1741 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_inline_bulk_status()
1747 static int yfs_deliver_fs_fetch_opaque_acl(struct afs_call *call) in yfs_deliver_fs_fetch_opaque_acl() argument
1749 struct afs_operation *op = call->op; in yfs_deliver_fs_fetch_opaque_acl()
1757 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_fetch_opaque_acl()
1759 switch (call->unmarshall) { in yfs_deliver_fs_fetch_opaque_acl()
1761 afs_extract_to_tmp(call); in yfs_deliver_fs_fetch_opaque_acl()
1762 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1767 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1771 size = call->count2 = ntohl(call->tmp); in yfs_deliver_fs_fetch_opaque_acl()
1779 acl->size = call->count2; in yfs_deliver_fs_fetch_opaque_acl()
1780 afs_extract_begin(call, acl->data, size); in yfs_deliver_fs_fetch_opaque_acl()
1782 afs_extract_discard(call, size); in yfs_deliver_fs_fetch_opaque_acl()
1784 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1789 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1793 afs_extract_to_tmp(call); in yfs_deliver_fs_fetch_opaque_acl()
1794 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1799 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1803 size = call->count2 = ntohl(call->tmp); in yfs_deliver_fs_fetch_opaque_acl()
1811 acl->size = call->count2; in yfs_deliver_fs_fetch_opaque_acl()
1812 afs_extract_begin(call, acl->data, size); in yfs_deliver_fs_fetch_opaque_acl()
1814 afs_extract_discard(call, size); in yfs_deliver_fs_fetch_opaque_acl()
1816 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1821 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1825 afs_extract_to_buf(call, in yfs_deliver_fs_fetch_opaque_acl()
1829 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1834 ret = afs_extract_data(call, false); in yfs_deliver_fs_fetch_opaque_acl()
1838 bp = call->buffer; in yfs_deliver_fs_fetch_opaque_acl()
1841 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_opaque_acl()
1844 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1880 struct afs_call *call; in yfs_fs_fetch_opaque_acl() local
1886 call = afs_alloc_flat_call(op->net, &yfs_RXYFSFetchOpaqueACL, in yfs_fs_fetch_opaque_acl()
1892 if (!call) in yfs_fs_fetch_opaque_acl()
1896 bp = call->request; in yfs_fs_fetch_opaque_acl()
1900 yfs_check_req(call, bp); in yfs_fs_fetch_opaque_acl()
1902 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_fetch_opaque_acl()
1903 afs_make_op_call(op, call, GFP_KERNEL); in yfs_fs_fetch_opaque_acl()
1922 struct afs_call *call; in yfs_fs_store_opaque_acl2() local
1931 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreOpaqueACL2, in yfs_fs_store_opaque_acl2()
1937 if (!call) in yfs_fs_store_opaque_acl2()
1941 bp = call->request; in yfs_fs_store_opaque_acl2()
1950 yfs_check_req(call, bp); in yfs_fs_store_opaque_acl2()
1952 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_store_opaque_acl2()
1953 afs_make_op_call(op, call, GFP_KERNEL); in yfs_fs_store_opaque_acl2()