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 = ktime_add(call->issue_time, xdr_to_u64(x->expiration_time) * 100); in xdr_decode_YFSCallBack()
335 static int yfs_deliver_status_and_volsync(struct afs_call *call) in yfs_deliver_status_and_volsync() argument
337 struct afs_operation *op = call->op; in yfs_deliver_status_and_volsync()
341 ret = afs_transfer_reply(call); in yfs_deliver_status_and_volsync()
345 bp = call->buffer; in yfs_deliver_status_and_volsync()
346 xdr_decode_YFSFetchStatus(&bp, call, &op->file[0].scb); in yfs_deliver_status_and_volsync()
356 static int yfs_deliver_fs_fetch_data64(struct afs_call *call) in yfs_deliver_fs_fetch_data64() argument
358 struct afs_operation *op = call->op; in yfs_deliver_fs_fetch_data64()
366 call->unmarshall, iov_iter_count(call->iter), req->actual_len); in yfs_deliver_fs_fetch_data64()
368 switch (call->unmarshall) { in yfs_deliver_fs_fetch_data64()
373 afs_extract_to_tmp64(call); in yfs_deliver_fs_fetch_data64()
374 call->unmarshall++; in yfs_deliver_fs_fetch_data64()
380 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_data64()
384 req->actual_len = be64_to_cpu(call->tmp64); in yfs_deliver_fs_fetch_data64()
390 call->unmarshall++; in yfs_deliver_fs_fetch_data64()
398 call->bvec[0].bv_len = size; in yfs_deliver_fs_fetch_data64()
399 call->bvec[0].bv_offset = req->offset; in yfs_deliver_fs_fetch_data64()
400 call->bvec[0].bv_page = req->pages[req->index]; in yfs_deliver_fs_fetch_data64()
401 iov_iter_bvec(&call->def_iter, READ, call->bvec, 1, size); in yfs_deliver_fs_fetch_data64()
408 iov_iter_count(call->iter), req->remain); in yfs_deliver_fs_fetch_data64()
410 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_data64()
413 req->remain -= call->bvec[0].bv_len; in yfs_deliver_fs_fetch_data64()
414 req->offset += call->bvec[0].bv_len; in yfs_deliver_fs_fetch_data64()
428 afs_extract_discard(call, req->actual_len - req->len); in yfs_deliver_fs_fetch_data64()
429 call->unmarshall = 3; in yfs_deliver_fs_fetch_data64()
434 iov_iter_count(call->iter), req->actual_len - req->len); in yfs_deliver_fs_fetch_data64()
436 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_data64()
441 call->unmarshall = 4; in yfs_deliver_fs_fetch_data64()
442 afs_extract_to_buf(call, in yfs_deliver_fs_fetch_data64()
450 ret = afs_extract_data(call, false); in yfs_deliver_fs_fetch_data64()
454 bp = call->buffer; in yfs_deliver_fs_fetch_data64()
455 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_data64()
456 xdr_decode_YFSCallBack(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_data64()
462 call->unmarshall++; in yfs_deliver_fs_fetch_data64()
501 struct afs_call *call; in yfs_fs_fetch_data() local
508 call = afs_alloc_flat_call(op->net, &yfs_RXYFSFetchData64, in yfs_fs_fetch_data()
515 if (!call) in yfs_fs_fetch_data()
519 bp = call->request; in yfs_fs_fetch_data()
525 yfs_check_req(call, bp); in yfs_fs_fetch_data()
527 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_fetch_data()
528 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_fetch_data()
534 static int yfs_deliver_fs_create_vnode(struct afs_call *call) in yfs_deliver_fs_create_vnode() argument
536 struct afs_operation *op = call->op; in yfs_deliver_fs_create_vnode()
542 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_create_vnode()
544 ret = afs_transfer_reply(call); in yfs_deliver_fs_create_vnode()
549 bp = call->buffer; in yfs_deliver_fs_create_vnode()
551 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_create_vnode()
552 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_create_vnode()
553 xdr_decode_YFSCallBack(&bp, call, &vp->scb); in yfs_deliver_fs_create_vnode()
577 struct afs_call *call; in yfs_fs_create_file() local
595 call = afs_alloc_flat_call(op->net, &afs_RXFSCreateFile, reqsz, rplsz); in yfs_fs_create_file()
596 if (!call) in yfs_fs_create_file()
600 bp = call->request; in yfs_fs_create_file()
607 yfs_check_req(call, bp); in yfs_fs_create_file()
609 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_create_file()
610 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_create_file()
627 struct afs_call *call; in yfs_fs_make_dir() local
644 call = afs_alloc_flat_call(op->net, &yfs_RXFSMakeDir, reqsz, rplsz); in yfs_fs_make_dir()
645 if (!call) in yfs_fs_make_dir()
649 bp = call->request; in yfs_fs_make_dir()
655 yfs_check_req(call, bp); in yfs_fs_make_dir()
657 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_make_dir()
658 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_make_dir()
664 static int yfs_deliver_fs_remove_file2(struct afs_call *call) in yfs_deliver_fs_remove_file2() argument
666 struct afs_operation *op = call->op; in yfs_deliver_fs_remove_file2()
673 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_remove_file2()
675 ret = afs_transfer_reply(call); in yfs_deliver_fs_remove_file2()
679 bp = call->buffer; in yfs_deliver_fs_remove_file2()
680 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_remove_file2()
682 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_remove_file2()
689 static void yfs_done_fs_remove_file2(struct afs_call *call) in yfs_done_fs_remove_file2() argument
691 if (call->error == -ECONNABORTED && in yfs_done_fs_remove_file2()
692 call->abort_code == RX_INVALID_OPERATION) { in yfs_done_fs_remove_file2()
693 set_bit(AFS_SERVER_FL_NO_RM2, &call->server->flags); in yfs_done_fs_remove_file2()
694 call->op->flags |= AFS_OPERATION_DOWNGRADE; in yfs_done_fs_remove_file2()
716 struct afs_call *call; in yfs_fs_remove_file2() local
721 call = afs_alloc_flat_call(op->net, &yfs_RXYFSRemoveFile2, in yfs_fs_remove_file2()
730 if (!call) in yfs_fs_remove_file2()
734 bp = call->request; in yfs_fs_remove_file2()
739 yfs_check_req(call, bp); in yfs_fs_remove_file2()
741 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_remove_file2()
742 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_remove_file2()
748 static int yfs_deliver_fs_remove(struct afs_call *call) in yfs_deliver_fs_remove() argument
750 struct afs_operation *op = call->op; in yfs_deliver_fs_remove()
755 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_remove()
757 ret = afs_transfer_reply(call); in yfs_deliver_fs_remove()
761 bp = call->buffer; in yfs_deliver_fs_remove()
762 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_remove()
784 struct afs_call *call; in yfs_fs_remove_file() local
792 call = afs_alloc_flat_call(op->net, &yfs_RXYFSRemoveFile, in yfs_fs_remove_file()
799 if (!call) in yfs_fs_remove_file()
803 bp = call->request; in yfs_fs_remove_file()
808 yfs_check_req(call, bp); in yfs_fs_remove_file()
810 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_remove_file()
811 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_remove_file()
828 struct afs_call *call; in yfs_fs_remove_dir() local
833 call = afs_alloc_flat_call(op->net, &yfs_RXYFSRemoveDir, in yfs_fs_remove_dir()
840 if (!call) in yfs_fs_remove_dir()
844 bp = call->request; in yfs_fs_remove_dir()
849 yfs_check_req(call, bp); in yfs_fs_remove_dir()
851 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_remove_dir()
852 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_remove_dir()
858 static int yfs_deliver_fs_link(struct afs_call *call) in yfs_deliver_fs_link() argument
860 struct afs_operation *op = call->op; in yfs_deliver_fs_link()
866 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_link()
868 ret = afs_transfer_reply(call); in yfs_deliver_fs_link()
872 bp = call->buffer; in yfs_deliver_fs_link()
873 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_link()
874 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_link()
898 struct afs_call *call; in yfs_fs_link() local
903 call = afs_alloc_flat_call(op->net, &yfs_RXYFSLink, in yfs_fs_link()
912 if (!call) in yfs_fs_link()
916 bp = call->request; in yfs_fs_link()
922 yfs_check_req(call, bp); in yfs_fs_link()
924 trace_afs_make_fs_call1(call, &vp->fid, name); in yfs_fs_link()
925 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_link()
931 static int yfs_deliver_fs_symlink(struct afs_call *call) in yfs_deliver_fs_symlink() argument
933 struct afs_operation *op = call->op; in yfs_deliver_fs_symlink()
939 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_symlink()
941 ret = afs_transfer_reply(call); in yfs_deliver_fs_symlink()
946 bp = call->buffer; in yfs_deliver_fs_symlink()
948 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_symlink()
949 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_symlink()
973 struct afs_call *call; in yfs_fs_symlink() local
980 call = afs_alloc_flat_call(op->net, &yfs_RXYFSSymlink, in yfs_fs_symlink()
991 if (!call) in yfs_fs_symlink()
995 bp = call->request; in yfs_fs_symlink()
1002 yfs_check_req(call, bp); in yfs_fs_symlink()
1004 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_symlink()
1005 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_symlink()
1011 static int yfs_deliver_fs_rename(struct afs_call *call) in yfs_deliver_fs_rename() argument
1013 struct afs_operation *op = call->op; in yfs_deliver_fs_rename()
1019 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_rename()
1021 ret = afs_transfer_reply(call); in yfs_deliver_fs_rename()
1025 bp = call->buffer; in yfs_deliver_fs_rename()
1029 xdr_decode_YFSFetchStatus(&bp, call, &orig_dvp->scb); in yfs_deliver_fs_rename()
1030 xdr_decode_YFSFetchStatus(&bp, call, &new_dvp->scb); in yfs_deliver_fs_rename()
1055 struct afs_call *call; in yfs_fs_rename() local
1060 call = afs_alloc_flat_call(op->net, &yfs_RXYFSRename, in yfs_fs_rename()
1070 if (!call) in yfs_fs_rename()
1074 bp = call->request; in yfs_fs_rename()
1081 yfs_check_req(call, bp); in yfs_fs_rename()
1083 trace_afs_make_fs_call2(call, &orig_dvp->fid, orig_name, new_name); in yfs_fs_rename()
1084 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_rename()
1103 struct afs_call *call; in yfs_fs_store_data() local
1124 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreData64, in yfs_fs_store_data()
1132 if (!call) in yfs_fs_store_data()
1135 call->key = op->key; in yfs_fs_store_data()
1136 call->send_pages = true; in yfs_fs_store_data()
1139 bp = call->request; in yfs_fs_store_data()
1147 yfs_check_req(call, bp); in yfs_fs_store_data()
1149 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_store_data()
1150 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_store_data()
1177 struct afs_call *call; in yfs_fs_setattr_size() local
1184 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreData64_as_Status, in yfs_fs_setattr_size()
1191 if (!call) in yfs_fs_setattr_size()
1195 bp = call->request; in yfs_fs_setattr_size()
1203 yfs_check_req(call, bp); in yfs_fs_setattr_size()
1205 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_setattr_size()
1206 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_setattr_size()
1216 struct afs_call *call; in yfs_fs_setattr() local
1226 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreStatus, in yfs_fs_setattr()
1232 if (!call) in yfs_fs_setattr()
1236 bp = call->request; in yfs_fs_setattr()
1241 yfs_check_req(call, bp); in yfs_fs_setattr()
1243 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_setattr()
1244 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_setattr()
1250 static int yfs_deliver_fs_get_volume_status(struct afs_call *call) in yfs_deliver_fs_get_volume_status() argument
1252 struct afs_operation *op = call->op; in yfs_deliver_fs_get_volume_status()
1258 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_get_volume_status()
1260 switch (call->unmarshall) { in yfs_deliver_fs_get_volume_status()
1262 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1263 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSFetchVolumeStatus)); in yfs_deliver_fs_get_volume_status()
1269 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1273 bp = call->buffer; in yfs_deliver_fs_get_volume_status()
1275 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1276 afs_extract_to_tmp(call); in yfs_deliver_fs_get_volume_status()
1281 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1285 call->count = ntohl(call->tmp); in yfs_deliver_fs_get_volume_status()
1286 _debug("volname length: %u", call->count); in yfs_deliver_fs_get_volume_status()
1287 if (call->count >= AFSNAMEMAX) in yfs_deliver_fs_get_volume_status()
1288 return afs_protocol_error(call, afs_eproto_volname_len); in yfs_deliver_fs_get_volume_status()
1289 size = (call->count + 3) & ~3; /* It's padded */ in yfs_deliver_fs_get_volume_status()
1290 afs_extract_to_buf(call, size); in yfs_deliver_fs_get_volume_status()
1291 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1297 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1301 p = call->buffer; in yfs_deliver_fs_get_volume_status()
1302 p[call->count] = 0; in yfs_deliver_fs_get_volume_status()
1304 afs_extract_to_tmp(call); in yfs_deliver_fs_get_volume_status()
1305 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1310 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1314 call->count = ntohl(call->tmp); in yfs_deliver_fs_get_volume_status()
1315 _debug("offline msg length: %u", call->count); in yfs_deliver_fs_get_volume_status()
1316 if (call->count >= AFSNAMEMAX) in yfs_deliver_fs_get_volume_status()
1317 return afs_protocol_error(call, afs_eproto_offline_msg_len); in yfs_deliver_fs_get_volume_status()
1318 size = (call->count + 3) & ~3; /* It's padded */ in yfs_deliver_fs_get_volume_status()
1319 afs_extract_to_buf(call, size); in yfs_deliver_fs_get_volume_status()
1320 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1326 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1330 p = call->buffer; in yfs_deliver_fs_get_volume_status()
1331 p[call->count] = 0; in yfs_deliver_fs_get_volume_status()
1334 afs_extract_to_tmp(call); in yfs_deliver_fs_get_volume_status()
1335 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1340 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1344 call->count = ntohl(call->tmp); in yfs_deliver_fs_get_volume_status()
1345 _debug("motd length: %u", call->count); in yfs_deliver_fs_get_volume_status()
1346 if (call->count >= AFSNAMEMAX) in yfs_deliver_fs_get_volume_status()
1347 return afs_protocol_error(call, afs_eproto_motd_len); in yfs_deliver_fs_get_volume_status()
1348 size = (call->count + 3) & ~3; /* It's padded */ in yfs_deliver_fs_get_volume_status()
1349 afs_extract_to_buf(call, size); in yfs_deliver_fs_get_volume_status()
1350 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1356 ret = afs_extract_data(call, false); in yfs_deliver_fs_get_volume_status()
1360 p = call->buffer; in yfs_deliver_fs_get_volume_status()
1361 p[call->count] = 0; in yfs_deliver_fs_get_volume_status()
1364 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1391 struct afs_call *call; in yfs_fs_get_volume_status() local
1396 call = afs_alloc_flat_call(op->net, &yfs_RXYFSGetVolumeStatus, in yfs_fs_get_volume_status()
1403 if (!call) in yfs_fs_get_volume_status()
1407 bp = call->request; in yfs_fs_get_volume_status()
1411 yfs_check_req(call, bp); in yfs_fs_get_volume_status()
1413 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_get_volume_status()
1414 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_get_volume_status()
1455 struct afs_call *call; in yfs_fs_set_lock() local
1460 call = afs_alloc_flat_call(op->net, &yfs_RXYFSSetLock, in yfs_fs_set_lock()
1466 if (!call) in yfs_fs_set_lock()
1470 bp = call->request; in yfs_fs_set_lock()
1475 yfs_check_req(call, bp); in yfs_fs_set_lock()
1477 trace_afs_make_fs_calli(call, &vp->fid, op->lock.type); in yfs_fs_set_lock()
1478 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_set_lock()
1487 struct afs_call *call; in yfs_fs_extend_lock() local
1492 call = afs_alloc_flat_call(op->net, &yfs_RXYFSExtendLock, in yfs_fs_extend_lock()
1497 if (!call) in yfs_fs_extend_lock()
1501 bp = call->request; in yfs_fs_extend_lock()
1505 yfs_check_req(call, bp); in yfs_fs_extend_lock()
1507 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_extend_lock()
1508 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_extend_lock()
1517 struct afs_call *call; in yfs_fs_release_lock() local
1522 call = afs_alloc_flat_call(op->net, &yfs_RXYFSReleaseLock, in yfs_fs_release_lock()
1527 if (!call) in yfs_fs_release_lock()
1531 bp = call->request; in yfs_fs_release_lock()
1535 yfs_check_req(call, bp); in yfs_fs_release_lock()
1537 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_release_lock()
1538 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_release_lock()
1544 static int yfs_deliver_fs_fetch_status(struct afs_call *call) in yfs_deliver_fs_fetch_status() argument
1546 struct afs_operation *op = call->op; in yfs_deliver_fs_fetch_status()
1551 ret = afs_transfer_reply(call); in yfs_deliver_fs_fetch_status()
1556 bp = call->buffer; in yfs_deliver_fs_fetch_status()
1557 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_status()
1558 xdr_decode_YFSCallBack(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_status()
1581 struct afs_call *call; in yfs_fs_fetch_status() local
1587 call = afs_alloc_flat_call(op->net, &yfs_RXYFSFetchStatus, in yfs_fs_fetch_status()
1593 if (!call) in yfs_fs_fetch_status()
1597 bp = call->request; in yfs_fs_fetch_status()
1601 yfs_check_req(call, bp); in yfs_fs_fetch_status()
1603 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_fetch_status()
1604 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_fetch_status()
1608 * Deliver reply data to an YFS.InlineBulkStatus call
1610 static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call) in yfs_deliver_fs_inline_bulk_status() argument
1612 struct afs_operation *op = call->op; in yfs_deliver_fs_inline_bulk_status()
1618 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_inline_bulk_status()
1620 switch (call->unmarshall) { in yfs_deliver_fs_inline_bulk_status()
1622 afs_extract_to_tmp(call); in yfs_deliver_fs_inline_bulk_status()
1623 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1629 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1633 tmp = ntohl(call->tmp); in yfs_deliver_fs_inline_bulk_status()
1636 return afs_protocol_error(call, afs_eproto_ibulkst_count); in yfs_deliver_fs_inline_bulk_status()
1638 call->count = 0; in yfs_deliver_fs_inline_bulk_status()
1639 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1641 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSFetchStatus)); in yfs_deliver_fs_inline_bulk_status()
1645 _debug("extract status array %u", call->count); in yfs_deliver_fs_inline_bulk_status()
1646 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1650 switch (call->count) { in yfs_deliver_fs_inline_bulk_status()
1658 scb = &op->more_files[call->count - 2].scb; in yfs_deliver_fs_inline_bulk_status()
1662 bp = call->buffer; in yfs_deliver_fs_inline_bulk_status()
1663 xdr_decode_YFSFetchStatus(&bp, call, scb); in yfs_deliver_fs_inline_bulk_status()
1665 call->count++; in yfs_deliver_fs_inline_bulk_status()
1666 if (call->count < op->nr_files) in yfs_deliver_fs_inline_bulk_status()
1669 call->count = 0; in yfs_deliver_fs_inline_bulk_status()
1670 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1671 afs_extract_to_tmp(call); in yfs_deliver_fs_inline_bulk_status()
1677 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1681 tmp = ntohl(call->tmp); in yfs_deliver_fs_inline_bulk_status()
1684 return afs_protocol_error(call, afs_eproto_ibulkst_cb_count); in yfs_deliver_fs_inline_bulk_status()
1685 call->count = 0; in yfs_deliver_fs_inline_bulk_status()
1686 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1688 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSCallBack)); in yfs_deliver_fs_inline_bulk_status()
1693 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1698 switch (call->count) { in yfs_deliver_fs_inline_bulk_status()
1706 scb = &op->more_files[call->count - 2].scb; in yfs_deliver_fs_inline_bulk_status()
1710 bp = call->buffer; in yfs_deliver_fs_inline_bulk_status()
1711 xdr_decode_YFSCallBack(&bp, call, scb); in yfs_deliver_fs_inline_bulk_status()
1712 call->count++; in yfs_deliver_fs_inline_bulk_status()
1713 if (call->count < op->nr_files) in yfs_deliver_fs_inline_bulk_status()
1716 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSVolSync)); in yfs_deliver_fs_inline_bulk_status()
1717 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1721 ret = afs_extract_data(call, false); in yfs_deliver_fs_inline_bulk_status()
1725 bp = call->buffer; in yfs_deliver_fs_inline_bulk_status()
1728 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1756 struct afs_call *call; in yfs_fs_inline_bulk_status() local
1763 call = afs_alloc_flat_call(op->net, &yfs_RXYFSInlineBulkStatus, in yfs_fs_inline_bulk_status()
1769 if (!call) in yfs_fs_inline_bulk_status()
1773 bp = call->request; in yfs_fs_inline_bulk_status()
1781 yfs_check_req(call, bp); in yfs_fs_inline_bulk_status()
1783 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_inline_bulk_status()
1784 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_inline_bulk_status()
1790 static int yfs_deliver_fs_fetch_opaque_acl(struct afs_call *call) in yfs_deliver_fs_fetch_opaque_acl() argument
1792 struct afs_operation *op = call->op; in yfs_deliver_fs_fetch_opaque_acl()
1800 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_fetch_opaque_acl()
1802 switch (call->unmarshall) { in yfs_deliver_fs_fetch_opaque_acl()
1804 afs_extract_to_tmp(call); in yfs_deliver_fs_fetch_opaque_acl()
1805 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1810 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1814 size = call->count2 = ntohl(call->tmp); in yfs_deliver_fs_fetch_opaque_acl()
1822 acl->size = call->count2; in yfs_deliver_fs_fetch_opaque_acl()
1823 afs_extract_begin(call, acl->data, size); in yfs_deliver_fs_fetch_opaque_acl()
1825 afs_extract_discard(call, size); in yfs_deliver_fs_fetch_opaque_acl()
1827 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1832 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1836 afs_extract_to_tmp(call); in yfs_deliver_fs_fetch_opaque_acl()
1837 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1842 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1846 size = call->count2 = ntohl(call->tmp); in yfs_deliver_fs_fetch_opaque_acl()
1854 acl->size = call->count2; in yfs_deliver_fs_fetch_opaque_acl()
1855 afs_extract_begin(call, acl->data, size); in yfs_deliver_fs_fetch_opaque_acl()
1857 afs_extract_discard(call, size); in yfs_deliver_fs_fetch_opaque_acl()
1859 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1864 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1868 afs_extract_to_buf(call, in yfs_deliver_fs_fetch_opaque_acl()
1872 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1877 ret = afs_extract_data(call, false); in yfs_deliver_fs_fetch_opaque_acl()
1881 bp = call->buffer; in yfs_deliver_fs_fetch_opaque_acl()
1884 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_opaque_acl()
1887 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1923 struct afs_call *call; in yfs_fs_fetch_opaque_acl() local
1929 call = afs_alloc_flat_call(op->net, &yfs_RXYFSFetchOpaqueACL, in yfs_fs_fetch_opaque_acl()
1935 if (!call) in yfs_fs_fetch_opaque_acl()
1939 bp = call->request; in yfs_fs_fetch_opaque_acl()
1943 yfs_check_req(call, bp); in yfs_fs_fetch_opaque_acl()
1945 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_fetch_opaque_acl()
1946 afs_make_op_call(op, call, GFP_KERNEL); in yfs_fs_fetch_opaque_acl()
1965 struct afs_call *call; in yfs_fs_store_opaque_acl2() local
1974 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreOpaqueACL2, in yfs_fs_store_opaque_acl2()
1980 if (!call) in yfs_fs_store_opaque_acl2()
1984 bp = call->request; in yfs_fs_store_opaque_acl2()
1993 yfs_check_req(call, bp); in yfs_fs_store_opaque_acl2()
1995 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_store_opaque_acl2()
1996 afs_make_op_call(op, call, GFP_KERNEL); in yfs_fs_store_opaque_acl2()