Lines Matching full:call
145 static void yfs_check_req(struct afs_call *call, __be32 *bp) in yfs_check_req() argument
147 size_t len = (void *)bp - call->request; in yfs_check_req()
149 if (len > call->request_size) in yfs_check_req()
151 call->type->name, len, call->request_size); in yfs_check_req()
152 else if (len < call->request_size) in yfs_check_req()
154 call->type->name, len, call->request_size); in yfs_check_req()
181 struct afs_call *call, in xdr_decode_YFSFetchStatus() argument
227 afs_protocol_error(call, afs_eproto_bad_status); in xdr_decode_YFSFetchStatus()
235 struct afs_call *call, in xdr_decode_YFSCallBack() argument
242 cb_expiry = call->reply_time; in xdr_decode_YFSCallBack()
336 static int yfs_deliver_status_and_volsync(struct afs_call *call) in yfs_deliver_status_and_volsync() argument
338 struct afs_operation *op = call->op; in yfs_deliver_status_and_volsync()
342 ret = afs_transfer_reply(call); in yfs_deliver_status_and_volsync()
346 bp = call->buffer; in yfs_deliver_status_and_volsync()
347 xdr_decode_YFSFetchStatus(&bp, call, &op->file[0].scb); in yfs_deliver_status_and_volsync()
357 static int yfs_deliver_fs_fetch_data64(struct afs_call *call) in yfs_deliver_fs_fetch_data64() argument
359 struct afs_operation *op = call->op; in yfs_deliver_fs_fetch_data64()
367 call->unmarshall, iov_iter_count(call->iter), req->actual_len); in yfs_deliver_fs_fetch_data64()
369 switch (call->unmarshall) { in yfs_deliver_fs_fetch_data64()
374 afs_extract_to_tmp64(call); in yfs_deliver_fs_fetch_data64()
375 call->unmarshall++; in yfs_deliver_fs_fetch_data64()
381 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_data64()
385 req->actual_len = be64_to_cpu(call->tmp64); in yfs_deliver_fs_fetch_data64()
391 call->unmarshall++; in yfs_deliver_fs_fetch_data64()
399 call->bvec[0].bv_len = size; in yfs_deliver_fs_fetch_data64()
400 call->bvec[0].bv_offset = req->offset; in yfs_deliver_fs_fetch_data64()
401 call->bvec[0].bv_page = req->pages[req->index]; in yfs_deliver_fs_fetch_data64()
402 iov_iter_bvec(&call->def_iter, READ, call->bvec, 1, size); in yfs_deliver_fs_fetch_data64()
409 iov_iter_count(call->iter), req->remain); in yfs_deliver_fs_fetch_data64()
411 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_data64()
414 req->remain -= call->bvec[0].bv_len; in yfs_deliver_fs_fetch_data64()
415 req->offset += call->bvec[0].bv_len; in yfs_deliver_fs_fetch_data64()
429 afs_extract_discard(call, req->actual_len - req->len); in yfs_deliver_fs_fetch_data64()
430 call->unmarshall = 3; in yfs_deliver_fs_fetch_data64()
435 iov_iter_count(call->iter), req->actual_len - req->len); in yfs_deliver_fs_fetch_data64()
437 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_data64()
442 call->unmarshall = 4; in yfs_deliver_fs_fetch_data64()
443 afs_extract_to_buf(call, in yfs_deliver_fs_fetch_data64()
451 ret = afs_extract_data(call, false); in yfs_deliver_fs_fetch_data64()
455 bp = call->buffer; in yfs_deliver_fs_fetch_data64()
456 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_data64()
457 xdr_decode_YFSCallBack(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_data64()
463 call->unmarshall++; in yfs_deliver_fs_fetch_data64()
502 struct afs_call *call; in yfs_fs_fetch_data() local
509 call = afs_alloc_flat_call(op->net, &yfs_RXYFSFetchData64, in yfs_fs_fetch_data()
516 if (!call) in yfs_fs_fetch_data()
520 bp = call->request; in yfs_fs_fetch_data()
526 yfs_check_req(call, bp); in yfs_fs_fetch_data()
528 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_fetch_data()
529 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_fetch_data()
535 static int yfs_deliver_fs_create_vnode(struct afs_call *call) in yfs_deliver_fs_create_vnode() argument
537 struct afs_operation *op = call->op; in yfs_deliver_fs_create_vnode()
543 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_create_vnode()
545 ret = afs_transfer_reply(call); in yfs_deliver_fs_create_vnode()
550 bp = call->buffer; in yfs_deliver_fs_create_vnode()
552 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_create_vnode()
553 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_create_vnode()
554 xdr_decode_YFSCallBack(&bp, call, &vp->scb); in yfs_deliver_fs_create_vnode()
578 struct afs_call *call; in yfs_fs_create_file() local
596 call = afs_alloc_flat_call(op->net, &afs_RXFSCreateFile, reqsz, rplsz); in yfs_fs_create_file()
597 if (!call) in yfs_fs_create_file()
601 bp = call->request; in yfs_fs_create_file()
608 yfs_check_req(call, bp); in yfs_fs_create_file()
610 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_create_file()
611 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_create_file()
628 struct afs_call *call; in yfs_fs_make_dir() local
645 call = afs_alloc_flat_call(op->net, &yfs_RXFSMakeDir, reqsz, rplsz); in yfs_fs_make_dir()
646 if (!call) in yfs_fs_make_dir()
650 bp = call->request; in yfs_fs_make_dir()
656 yfs_check_req(call, bp); in yfs_fs_make_dir()
658 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_make_dir()
659 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_make_dir()
665 static int yfs_deliver_fs_remove_file2(struct afs_call *call) in yfs_deliver_fs_remove_file2() argument
667 struct afs_operation *op = call->op; in yfs_deliver_fs_remove_file2()
674 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_remove_file2()
676 ret = afs_transfer_reply(call); in yfs_deliver_fs_remove_file2()
680 bp = call->buffer; in yfs_deliver_fs_remove_file2()
681 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_remove_file2()
683 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_remove_file2()
690 static void yfs_done_fs_remove_file2(struct afs_call *call) in yfs_done_fs_remove_file2() argument
692 if (call->error == -ECONNABORTED && in yfs_done_fs_remove_file2()
693 call->abort_code == RX_INVALID_OPERATION) { in yfs_done_fs_remove_file2()
694 set_bit(AFS_SERVER_FL_NO_RM2, &call->server->flags); in yfs_done_fs_remove_file2()
695 call->op->flags |= AFS_OPERATION_DOWNGRADE; in yfs_done_fs_remove_file2()
717 struct afs_call *call; in yfs_fs_remove_file2() local
722 call = afs_alloc_flat_call(op->net, &yfs_RXYFSRemoveFile2, in yfs_fs_remove_file2()
731 if (!call) in yfs_fs_remove_file2()
735 bp = call->request; in yfs_fs_remove_file2()
740 yfs_check_req(call, bp); in yfs_fs_remove_file2()
742 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_remove_file2()
743 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_remove_file2()
749 static int yfs_deliver_fs_remove(struct afs_call *call) in yfs_deliver_fs_remove() argument
751 struct afs_operation *op = call->op; in yfs_deliver_fs_remove()
756 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_remove()
758 ret = afs_transfer_reply(call); in yfs_deliver_fs_remove()
762 bp = call->buffer; in yfs_deliver_fs_remove()
763 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_remove()
785 struct afs_call *call; in yfs_fs_remove_file() local
793 call = afs_alloc_flat_call(op->net, &yfs_RXYFSRemoveFile, in yfs_fs_remove_file()
800 if (!call) in yfs_fs_remove_file()
804 bp = call->request; in yfs_fs_remove_file()
809 yfs_check_req(call, bp); in yfs_fs_remove_file()
811 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_remove_file()
812 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_remove_file()
829 struct afs_call *call; in yfs_fs_remove_dir() local
834 call = afs_alloc_flat_call(op->net, &yfs_RXYFSRemoveDir, in yfs_fs_remove_dir()
841 if (!call) in yfs_fs_remove_dir()
845 bp = call->request; in yfs_fs_remove_dir()
850 yfs_check_req(call, bp); in yfs_fs_remove_dir()
852 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_remove_dir()
853 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_remove_dir()
859 static int yfs_deliver_fs_link(struct afs_call *call) in yfs_deliver_fs_link() argument
861 struct afs_operation *op = call->op; in yfs_deliver_fs_link()
867 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_link()
869 ret = afs_transfer_reply(call); in yfs_deliver_fs_link()
873 bp = call->buffer; in yfs_deliver_fs_link()
874 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_link()
875 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_link()
899 struct afs_call *call; in yfs_fs_link() local
904 call = afs_alloc_flat_call(op->net, &yfs_RXYFSLink, in yfs_fs_link()
913 if (!call) in yfs_fs_link()
917 bp = call->request; in yfs_fs_link()
923 yfs_check_req(call, bp); in yfs_fs_link()
925 trace_afs_make_fs_call1(call, &vp->fid, name); in yfs_fs_link()
926 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_link()
932 static int yfs_deliver_fs_symlink(struct afs_call *call) in yfs_deliver_fs_symlink() argument
934 struct afs_operation *op = call->op; in yfs_deliver_fs_symlink()
940 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_symlink()
942 ret = afs_transfer_reply(call); in yfs_deliver_fs_symlink()
947 bp = call->buffer; in yfs_deliver_fs_symlink()
949 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_symlink()
950 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_symlink()
974 struct afs_call *call; in yfs_fs_symlink() local
981 call = afs_alloc_flat_call(op->net, &yfs_RXYFSSymlink, in yfs_fs_symlink()
992 if (!call) in yfs_fs_symlink()
996 bp = call->request; in yfs_fs_symlink()
1003 yfs_check_req(call, bp); in yfs_fs_symlink()
1005 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_symlink()
1006 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_symlink()
1012 static int yfs_deliver_fs_rename(struct afs_call *call) in yfs_deliver_fs_rename() argument
1014 struct afs_operation *op = call->op; in yfs_deliver_fs_rename()
1020 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_rename()
1022 ret = afs_transfer_reply(call); in yfs_deliver_fs_rename()
1026 bp = call->buffer; in yfs_deliver_fs_rename()
1030 xdr_decode_YFSFetchStatus(&bp, call, &orig_dvp->scb); in yfs_deliver_fs_rename()
1031 xdr_decode_YFSFetchStatus(&bp, call, &new_dvp->scb); in yfs_deliver_fs_rename()
1056 struct afs_call *call; in yfs_fs_rename() local
1061 call = afs_alloc_flat_call(op->net, &yfs_RXYFSRename, in yfs_fs_rename()
1071 if (!call) in yfs_fs_rename()
1075 bp = call->request; in yfs_fs_rename()
1082 yfs_check_req(call, bp); in yfs_fs_rename()
1084 trace_afs_make_fs_call2(call, &orig_dvp->fid, orig_name, new_name); in yfs_fs_rename()
1085 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_rename()
1104 struct afs_call *call; in yfs_fs_store_data() local
1125 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreData64, in yfs_fs_store_data()
1133 if (!call) in yfs_fs_store_data()
1136 call->key = op->key; in yfs_fs_store_data()
1137 call->send_pages = true; in yfs_fs_store_data()
1140 bp = call->request; in yfs_fs_store_data()
1148 yfs_check_req(call, bp); in yfs_fs_store_data()
1150 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_store_data()
1151 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_store_data()
1178 struct afs_call *call; in yfs_fs_setattr_size() local
1185 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreData64_as_Status, in yfs_fs_setattr_size()
1192 if (!call) in yfs_fs_setattr_size()
1196 bp = call->request; in yfs_fs_setattr_size()
1204 yfs_check_req(call, bp); in yfs_fs_setattr_size()
1206 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_setattr_size()
1207 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_setattr_size()
1217 struct afs_call *call; in yfs_fs_setattr() local
1227 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreStatus, in yfs_fs_setattr()
1233 if (!call) in yfs_fs_setattr()
1237 bp = call->request; in yfs_fs_setattr()
1242 yfs_check_req(call, bp); in yfs_fs_setattr()
1244 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_setattr()
1245 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_setattr()
1251 static int yfs_deliver_fs_get_volume_status(struct afs_call *call) in yfs_deliver_fs_get_volume_status() argument
1253 struct afs_operation *op = call->op; in yfs_deliver_fs_get_volume_status()
1259 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_get_volume_status()
1261 switch (call->unmarshall) { in yfs_deliver_fs_get_volume_status()
1263 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1264 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSFetchVolumeStatus)); in yfs_deliver_fs_get_volume_status()
1270 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1274 bp = call->buffer; in yfs_deliver_fs_get_volume_status()
1276 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1277 afs_extract_to_tmp(call); in yfs_deliver_fs_get_volume_status()
1282 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1286 call->count = ntohl(call->tmp); in yfs_deliver_fs_get_volume_status()
1287 _debug("volname length: %u", call->count); in yfs_deliver_fs_get_volume_status()
1288 if (call->count >= AFSNAMEMAX) in yfs_deliver_fs_get_volume_status()
1289 return afs_protocol_error(call, afs_eproto_volname_len); in yfs_deliver_fs_get_volume_status()
1290 size = (call->count + 3) & ~3; /* It's padded */ in yfs_deliver_fs_get_volume_status()
1291 afs_extract_to_buf(call, size); in yfs_deliver_fs_get_volume_status()
1292 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1298 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1302 p = call->buffer; in yfs_deliver_fs_get_volume_status()
1303 p[call->count] = 0; in yfs_deliver_fs_get_volume_status()
1305 afs_extract_to_tmp(call); in yfs_deliver_fs_get_volume_status()
1306 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1311 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1315 call->count = ntohl(call->tmp); in yfs_deliver_fs_get_volume_status()
1316 _debug("offline msg length: %u", call->count); in yfs_deliver_fs_get_volume_status()
1317 if (call->count >= AFSNAMEMAX) in yfs_deliver_fs_get_volume_status()
1318 return afs_protocol_error(call, afs_eproto_offline_msg_len); in yfs_deliver_fs_get_volume_status()
1319 size = (call->count + 3) & ~3; /* It's padded */ in yfs_deliver_fs_get_volume_status()
1320 afs_extract_to_buf(call, size); in yfs_deliver_fs_get_volume_status()
1321 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1327 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1331 p = call->buffer; in yfs_deliver_fs_get_volume_status()
1332 p[call->count] = 0; in yfs_deliver_fs_get_volume_status()
1335 afs_extract_to_tmp(call); in yfs_deliver_fs_get_volume_status()
1336 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1341 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1345 call->count = ntohl(call->tmp); in yfs_deliver_fs_get_volume_status()
1346 _debug("motd length: %u", call->count); in yfs_deliver_fs_get_volume_status()
1347 if (call->count >= AFSNAMEMAX) in yfs_deliver_fs_get_volume_status()
1348 return afs_protocol_error(call, afs_eproto_motd_len); in yfs_deliver_fs_get_volume_status()
1349 size = (call->count + 3) & ~3; /* It's padded */ in yfs_deliver_fs_get_volume_status()
1350 afs_extract_to_buf(call, size); in yfs_deliver_fs_get_volume_status()
1351 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1357 ret = afs_extract_data(call, false); in yfs_deliver_fs_get_volume_status()
1361 p = call->buffer; in yfs_deliver_fs_get_volume_status()
1362 p[call->count] = 0; in yfs_deliver_fs_get_volume_status()
1365 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1392 struct afs_call *call; in yfs_fs_get_volume_status() local
1397 call = afs_alloc_flat_call(op->net, &yfs_RXYFSGetVolumeStatus, in yfs_fs_get_volume_status()
1404 if (!call) in yfs_fs_get_volume_status()
1408 bp = call->request; in yfs_fs_get_volume_status()
1412 yfs_check_req(call, bp); in yfs_fs_get_volume_status()
1414 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_get_volume_status()
1415 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_get_volume_status()
1456 struct afs_call *call; in yfs_fs_set_lock() local
1461 call = afs_alloc_flat_call(op->net, &yfs_RXYFSSetLock, in yfs_fs_set_lock()
1467 if (!call) in yfs_fs_set_lock()
1471 bp = call->request; in yfs_fs_set_lock()
1476 yfs_check_req(call, bp); in yfs_fs_set_lock()
1478 trace_afs_make_fs_calli(call, &vp->fid, op->lock.type); in yfs_fs_set_lock()
1479 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_set_lock()
1488 struct afs_call *call; in yfs_fs_extend_lock() local
1493 call = afs_alloc_flat_call(op->net, &yfs_RXYFSExtendLock, in yfs_fs_extend_lock()
1498 if (!call) in yfs_fs_extend_lock()
1502 bp = call->request; in yfs_fs_extend_lock()
1506 yfs_check_req(call, bp); in yfs_fs_extend_lock()
1508 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_extend_lock()
1509 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_extend_lock()
1518 struct afs_call *call; in yfs_fs_release_lock() local
1523 call = afs_alloc_flat_call(op->net, &yfs_RXYFSReleaseLock, in yfs_fs_release_lock()
1528 if (!call) in yfs_fs_release_lock()
1532 bp = call->request; in yfs_fs_release_lock()
1536 yfs_check_req(call, bp); in yfs_fs_release_lock()
1538 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_release_lock()
1539 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_release_lock()
1545 static int yfs_deliver_fs_fetch_status(struct afs_call *call) in yfs_deliver_fs_fetch_status() argument
1547 struct afs_operation *op = call->op; in yfs_deliver_fs_fetch_status()
1552 ret = afs_transfer_reply(call); in yfs_deliver_fs_fetch_status()
1557 bp = call->buffer; in yfs_deliver_fs_fetch_status()
1558 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_status()
1559 xdr_decode_YFSCallBack(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_status()
1582 struct afs_call *call; in yfs_fs_fetch_status() local
1588 call = afs_alloc_flat_call(op->net, &yfs_RXYFSFetchStatus, in yfs_fs_fetch_status()
1594 if (!call) in yfs_fs_fetch_status()
1598 bp = call->request; in yfs_fs_fetch_status()
1602 yfs_check_req(call, bp); in yfs_fs_fetch_status()
1604 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_fetch_status()
1605 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_fetch_status()
1609 * Deliver reply data to an YFS.InlineBulkStatus call
1611 static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call) in yfs_deliver_fs_inline_bulk_status() argument
1613 struct afs_operation *op = call->op; in yfs_deliver_fs_inline_bulk_status()
1619 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_inline_bulk_status()
1621 switch (call->unmarshall) { in yfs_deliver_fs_inline_bulk_status()
1623 afs_extract_to_tmp(call); in yfs_deliver_fs_inline_bulk_status()
1624 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1630 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1634 tmp = ntohl(call->tmp); in yfs_deliver_fs_inline_bulk_status()
1637 return afs_protocol_error(call, afs_eproto_ibulkst_count); in yfs_deliver_fs_inline_bulk_status()
1639 call->count = 0; in yfs_deliver_fs_inline_bulk_status()
1640 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1642 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSFetchStatus)); in yfs_deliver_fs_inline_bulk_status()
1646 _debug("extract status array %u", call->count); in yfs_deliver_fs_inline_bulk_status()
1647 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1651 switch (call->count) { in yfs_deliver_fs_inline_bulk_status()
1659 scb = &op->more_files[call->count - 2].scb; in yfs_deliver_fs_inline_bulk_status()
1663 bp = call->buffer; in yfs_deliver_fs_inline_bulk_status()
1664 xdr_decode_YFSFetchStatus(&bp, call, scb); in yfs_deliver_fs_inline_bulk_status()
1666 call->count++; in yfs_deliver_fs_inline_bulk_status()
1667 if (call->count < op->nr_files) in yfs_deliver_fs_inline_bulk_status()
1670 call->count = 0; in yfs_deliver_fs_inline_bulk_status()
1671 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1672 afs_extract_to_tmp(call); in yfs_deliver_fs_inline_bulk_status()
1678 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1682 tmp = ntohl(call->tmp); in yfs_deliver_fs_inline_bulk_status()
1685 return afs_protocol_error(call, afs_eproto_ibulkst_cb_count); in yfs_deliver_fs_inline_bulk_status()
1686 call->count = 0; in yfs_deliver_fs_inline_bulk_status()
1687 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1689 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSCallBack)); in yfs_deliver_fs_inline_bulk_status()
1694 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1699 switch (call->count) { in yfs_deliver_fs_inline_bulk_status()
1707 scb = &op->more_files[call->count - 2].scb; in yfs_deliver_fs_inline_bulk_status()
1711 bp = call->buffer; in yfs_deliver_fs_inline_bulk_status()
1712 xdr_decode_YFSCallBack(&bp, call, scb); in yfs_deliver_fs_inline_bulk_status()
1713 call->count++; in yfs_deliver_fs_inline_bulk_status()
1714 if (call->count < op->nr_files) in yfs_deliver_fs_inline_bulk_status()
1717 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSVolSync)); in yfs_deliver_fs_inline_bulk_status()
1718 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1722 ret = afs_extract_data(call, false); in yfs_deliver_fs_inline_bulk_status()
1726 bp = call->buffer; in yfs_deliver_fs_inline_bulk_status()
1729 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1757 struct afs_call *call; in yfs_fs_inline_bulk_status() local
1764 call = afs_alloc_flat_call(op->net, &yfs_RXYFSInlineBulkStatus, in yfs_fs_inline_bulk_status()
1770 if (!call) in yfs_fs_inline_bulk_status()
1774 bp = call->request; in yfs_fs_inline_bulk_status()
1782 yfs_check_req(call, bp); in yfs_fs_inline_bulk_status()
1784 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_inline_bulk_status()
1785 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_inline_bulk_status()
1791 static int yfs_deliver_fs_fetch_opaque_acl(struct afs_call *call) in yfs_deliver_fs_fetch_opaque_acl() argument
1793 struct afs_operation *op = call->op; in yfs_deliver_fs_fetch_opaque_acl()
1801 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_fetch_opaque_acl()
1803 switch (call->unmarshall) { in yfs_deliver_fs_fetch_opaque_acl()
1805 afs_extract_to_tmp(call); in yfs_deliver_fs_fetch_opaque_acl()
1806 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1811 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1815 size = call->count2 = ntohl(call->tmp); in yfs_deliver_fs_fetch_opaque_acl()
1823 acl->size = call->count2; in yfs_deliver_fs_fetch_opaque_acl()
1824 afs_extract_begin(call, acl->data, size); in yfs_deliver_fs_fetch_opaque_acl()
1826 afs_extract_discard(call, size); in yfs_deliver_fs_fetch_opaque_acl()
1828 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1833 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1837 afs_extract_to_tmp(call); in yfs_deliver_fs_fetch_opaque_acl()
1838 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1843 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1847 size = call->count2 = ntohl(call->tmp); in yfs_deliver_fs_fetch_opaque_acl()
1855 acl->size = call->count2; in yfs_deliver_fs_fetch_opaque_acl()
1856 afs_extract_begin(call, acl->data, size); in yfs_deliver_fs_fetch_opaque_acl()
1858 afs_extract_discard(call, size); in yfs_deliver_fs_fetch_opaque_acl()
1860 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1865 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1869 afs_extract_to_buf(call, in yfs_deliver_fs_fetch_opaque_acl()
1873 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1878 ret = afs_extract_data(call, false); in yfs_deliver_fs_fetch_opaque_acl()
1882 bp = call->buffer; in yfs_deliver_fs_fetch_opaque_acl()
1885 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_opaque_acl()
1888 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1924 struct afs_call *call; in yfs_fs_fetch_opaque_acl() local
1930 call = afs_alloc_flat_call(op->net, &yfs_RXYFSFetchOpaqueACL, in yfs_fs_fetch_opaque_acl()
1936 if (!call) in yfs_fs_fetch_opaque_acl()
1940 bp = call->request; in yfs_fs_fetch_opaque_acl()
1944 yfs_check_req(call, bp); in yfs_fs_fetch_opaque_acl()
1946 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_fetch_opaque_acl()
1947 afs_make_op_call(op, call, GFP_KERNEL); in yfs_fs_fetch_opaque_acl()
1966 struct afs_call *call; in yfs_fs_store_opaque_acl2() local
1975 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreOpaqueACL2, in yfs_fs_store_opaque_acl2()
1981 if (!call) in yfs_fs_store_opaque_acl2()
1985 bp = call->request; in yfs_fs_store_opaque_acl2()
1994 yfs_check_req(call, bp); in yfs_fs_store_opaque_acl2()
1996 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_store_opaque_acl2()
1997 afs_make_op_call(op, call, GFP_KERNEL); in yfs_fs_store_opaque_acl2()