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()
366 call->unmarshall, call->iov_len, iov_iter_count(call->iter), in yfs_deliver_fs_fetch_data64()
369 switch (call->unmarshall) { in yfs_deliver_fs_fetch_data64()
372 afs_extract_to_tmp64(call); in yfs_deliver_fs_fetch_data64()
373 call->unmarshall++; in yfs_deliver_fs_fetch_data64()
382 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_data64()
386 req->actual_len = be64_to_cpu(call->tmp64); in yfs_deliver_fs_fetch_data64()
392 call->iter = req->iter; in yfs_deliver_fs_fetch_data64()
393 call->iov_len = min(req->actual_len, req->len); in yfs_deliver_fs_fetch_data64()
394 call->unmarshall++; in yfs_deliver_fs_fetch_data64()
400 iov_iter_count(call->iter), req->actual_len); in yfs_deliver_fs_fetch_data64()
402 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_data64()
406 call->iter = &call->def_iter; in yfs_deliver_fs_fetch_data64()
411 afs_extract_discard(call, req->actual_len - req->len); in yfs_deliver_fs_fetch_data64()
412 call->unmarshall = 3; in yfs_deliver_fs_fetch_data64()
417 iov_iter_count(call->iter), req->actual_len - req->len); in yfs_deliver_fs_fetch_data64()
419 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_data64()
424 call->unmarshall = 4; in yfs_deliver_fs_fetch_data64()
425 afs_extract_to_buf(call, in yfs_deliver_fs_fetch_data64()
433 ret = afs_extract_data(call, false); in yfs_deliver_fs_fetch_data64()
437 bp = call->buffer; in yfs_deliver_fs_fetch_data64()
438 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_data64()
439 xdr_decode_YFSCallBack(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_data64()
445 call->unmarshall++; in yfs_deliver_fs_fetch_data64()
473 struct afs_call *call; in yfs_fs_fetch_data() local
480 call = afs_alloc_flat_call(op->net, &yfs_RXYFSFetchData64, in yfs_fs_fetch_data()
487 if (!call) in yfs_fs_fetch_data()
490 req->call_debug_id = call->debug_id; in yfs_fs_fetch_data()
493 bp = call->request; in yfs_fs_fetch_data()
499 yfs_check_req(call, bp); in yfs_fs_fetch_data()
501 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_fetch_data()
502 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_fetch_data()
508 static int yfs_deliver_fs_create_vnode(struct afs_call *call) in yfs_deliver_fs_create_vnode() argument
510 struct afs_operation *op = call->op; in yfs_deliver_fs_create_vnode()
516 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_create_vnode()
518 ret = afs_transfer_reply(call); in yfs_deliver_fs_create_vnode()
523 bp = call->buffer; in yfs_deliver_fs_create_vnode()
525 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_create_vnode()
526 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_create_vnode()
527 xdr_decode_YFSCallBack(&bp, call, &vp->scb); in yfs_deliver_fs_create_vnode()
551 struct afs_call *call; in yfs_fs_create_file() local
569 call = afs_alloc_flat_call(op->net, &afs_RXFSCreateFile, reqsz, rplsz); in yfs_fs_create_file()
570 if (!call) in yfs_fs_create_file()
574 bp = call->request; in yfs_fs_create_file()
581 yfs_check_req(call, bp); in yfs_fs_create_file()
583 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_create_file()
584 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_create_file()
601 struct afs_call *call; in yfs_fs_make_dir() local
618 call = afs_alloc_flat_call(op->net, &yfs_RXFSMakeDir, reqsz, rplsz); in yfs_fs_make_dir()
619 if (!call) in yfs_fs_make_dir()
623 bp = call->request; in yfs_fs_make_dir()
629 yfs_check_req(call, bp); in yfs_fs_make_dir()
631 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_make_dir()
632 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_make_dir()
638 static int yfs_deliver_fs_remove_file2(struct afs_call *call) in yfs_deliver_fs_remove_file2() argument
640 struct afs_operation *op = call->op; in yfs_deliver_fs_remove_file2()
647 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_remove_file2()
649 ret = afs_transfer_reply(call); in yfs_deliver_fs_remove_file2()
653 bp = call->buffer; in yfs_deliver_fs_remove_file2()
654 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_remove_file2()
656 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_remove_file2()
663 static void yfs_done_fs_remove_file2(struct afs_call *call) in yfs_done_fs_remove_file2() argument
665 if (call->error == -ECONNABORTED && in yfs_done_fs_remove_file2()
666 call->abort_code == RX_INVALID_OPERATION) { in yfs_done_fs_remove_file2()
667 set_bit(AFS_SERVER_FL_NO_RM2, &call->server->flags); in yfs_done_fs_remove_file2()
668 call->op->flags |= AFS_OPERATION_DOWNGRADE; in yfs_done_fs_remove_file2()
690 struct afs_call *call; in yfs_fs_remove_file2() local
695 call = afs_alloc_flat_call(op->net, &yfs_RXYFSRemoveFile2, in yfs_fs_remove_file2()
704 if (!call) in yfs_fs_remove_file2()
708 bp = call->request; in yfs_fs_remove_file2()
713 yfs_check_req(call, bp); in yfs_fs_remove_file2()
715 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_remove_file2()
716 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_remove_file2()
722 static int yfs_deliver_fs_remove(struct afs_call *call) in yfs_deliver_fs_remove() argument
724 struct afs_operation *op = call->op; in yfs_deliver_fs_remove()
729 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_remove()
731 ret = afs_transfer_reply(call); in yfs_deliver_fs_remove()
735 bp = call->buffer; in yfs_deliver_fs_remove()
736 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_remove()
758 struct afs_call *call; in yfs_fs_remove_file() local
766 call = afs_alloc_flat_call(op->net, &yfs_RXYFSRemoveFile, in yfs_fs_remove_file()
773 if (!call) in yfs_fs_remove_file()
777 bp = call->request; in yfs_fs_remove_file()
782 yfs_check_req(call, bp); in yfs_fs_remove_file()
784 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_remove_file()
785 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_remove_file()
802 struct afs_call *call; in yfs_fs_remove_dir() local
807 call = afs_alloc_flat_call(op->net, &yfs_RXYFSRemoveDir, in yfs_fs_remove_dir()
814 if (!call) in yfs_fs_remove_dir()
818 bp = call->request; in yfs_fs_remove_dir()
823 yfs_check_req(call, bp); in yfs_fs_remove_dir()
825 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_remove_dir()
826 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_remove_dir()
832 static int yfs_deliver_fs_link(struct afs_call *call) in yfs_deliver_fs_link() argument
834 struct afs_operation *op = call->op; in yfs_deliver_fs_link()
840 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_link()
842 ret = afs_transfer_reply(call); in yfs_deliver_fs_link()
846 bp = call->buffer; in yfs_deliver_fs_link()
847 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_link()
848 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_link()
872 struct afs_call *call; in yfs_fs_link() local
877 call = afs_alloc_flat_call(op->net, &yfs_RXYFSLink, in yfs_fs_link()
886 if (!call) in yfs_fs_link()
890 bp = call->request; in yfs_fs_link()
896 yfs_check_req(call, bp); in yfs_fs_link()
898 trace_afs_make_fs_call1(call, &vp->fid, name); in yfs_fs_link()
899 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_link()
905 static int yfs_deliver_fs_symlink(struct afs_call *call) in yfs_deliver_fs_symlink() argument
907 struct afs_operation *op = call->op; in yfs_deliver_fs_symlink()
913 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_symlink()
915 ret = afs_transfer_reply(call); in yfs_deliver_fs_symlink()
920 bp = call->buffer; in yfs_deliver_fs_symlink()
922 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_symlink()
923 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_symlink()
947 struct afs_call *call; in yfs_fs_symlink() local
954 call = afs_alloc_flat_call(op->net, &yfs_RXYFSSymlink, in yfs_fs_symlink()
965 if (!call) in yfs_fs_symlink()
969 bp = call->request; in yfs_fs_symlink()
976 yfs_check_req(call, bp); in yfs_fs_symlink()
978 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_symlink()
979 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_symlink()
985 static int yfs_deliver_fs_rename(struct afs_call *call) in yfs_deliver_fs_rename() argument
987 struct afs_operation *op = call->op; in yfs_deliver_fs_rename()
993 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_rename()
995 ret = afs_transfer_reply(call); in yfs_deliver_fs_rename()
999 bp = call->buffer; in yfs_deliver_fs_rename()
1003 xdr_decode_YFSFetchStatus(&bp, call, &orig_dvp->scb); in yfs_deliver_fs_rename()
1004 xdr_decode_YFSFetchStatus(&bp, call, &new_dvp->scb); in yfs_deliver_fs_rename()
1029 struct afs_call *call; in yfs_fs_rename() local
1034 call = afs_alloc_flat_call(op->net, &yfs_RXYFSRename, in yfs_fs_rename()
1044 if (!call) in yfs_fs_rename()
1048 bp = call->request; in yfs_fs_rename()
1055 yfs_check_req(call, bp); in yfs_fs_rename()
1057 trace_afs_make_fs_call2(call, &orig_dvp->fid, orig_name, new_name); in yfs_fs_rename()
1058 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_rename()
1077 struct afs_call *call; in yfs_fs_store_data() local
1088 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreData64, in yfs_fs_store_data()
1096 if (!call) in yfs_fs_store_data()
1099 call->write_iter = op->store.write_iter; in yfs_fs_store_data()
1102 bp = call->request; in yfs_fs_store_data()
1110 yfs_check_req(call, bp); in yfs_fs_store_data()
1112 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_store_data()
1113 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_store_data()
1140 struct afs_call *call; in yfs_fs_setattr_size() local
1147 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreData64_as_Status, in yfs_fs_setattr_size()
1154 if (!call) in yfs_fs_setattr_size()
1158 bp = call->request; in yfs_fs_setattr_size()
1166 yfs_check_req(call, bp); in yfs_fs_setattr_size()
1168 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_setattr_size()
1169 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_setattr_size()
1179 struct afs_call *call; in yfs_fs_setattr() local
1189 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreStatus, in yfs_fs_setattr()
1195 if (!call) in yfs_fs_setattr()
1199 bp = call->request; in yfs_fs_setattr()
1204 yfs_check_req(call, bp); in yfs_fs_setattr()
1206 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_setattr()
1207 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_setattr()
1213 static int yfs_deliver_fs_get_volume_status(struct afs_call *call) in yfs_deliver_fs_get_volume_status() argument
1215 struct afs_operation *op = call->op; in yfs_deliver_fs_get_volume_status()
1221 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_get_volume_status()
1223 switch (call->unmarshall) { in yfs_deliver_fs_get_volume_status()
1225 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1226 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSFetchVolumeStatus)); in yfs_deliver_fs_get_volume_status()
1232 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1236 bp = call->buffer; in yfs_deliver_fs_get_volume_status()
1238 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1239 afs_extract_to_tmp(call); in yfs_deliver_fs_get_volume_status()
1244 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1248 call->count = ntohl(call->tmp); in yfs_deliver_fs_get_volume_status()
1249 _debug("volname length: %u", call->count); in yfs_deliver_fs_get_volume_status()
1250 if (call->count >= AFSNAMEMAX) in yfs_deliver_fs_get_volume_status()
1251 return afs_protocol_error(call, afs_eproto_volname_len); in yfs_deliver_fs_get_volume_status()
1252 size = (call->count + 3) & ~3; /* It's padded */ in yfs_deliver_fs_get_volume_status()
1253 afs_extract_to_buf(call, size); in yfs_deliver_fs_get_volume_status()
1254 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1260 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1264 p = call->buffer; in yfs_deliver_fs_get_volume_status()
1265 p[call->count] = 0; in yfs_deliver_fs_get_volume_status()
1267 afs_extract_to_tmp(call); in yfs_deliver_fs_get_volume_status()
1268 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1273 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1277 call->count = ntohl(call->tmp); in yfs_deliver_fs_get_volume_status()
1278 _debug("offline msg length: %u", call->count); in yfs_deliver_fs_get_volume_status()
1279 if (call->count >= AFSNAMEMAX) in yfs_deliver_fs_get_volume_status()
1280 return afs_protocol_error(call, afs_eproto_offline_msg_len); in yfs_deliver_fs_get_volume_status()
1281 size = (call->count + 3) & ~3; /* It's padded */ in yfs_deliver_fs_get_volume_status()
1282 afs_extract_to_buf(call, size); in yfs_deliver_fs_get_volume_status()
1283 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1289 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1293 p = call->buffer; in yfs_deliver_fs_get_volume_status()
1294 p[call->count] = 0; in yfs_deliver_fs_get_volume_status()
1297 afs_extract_to_tmp(call); in yfs_deliver_fs_get_volume_status()
1298 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1303 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1307 call->count = ntohl(call->tmp); in yfs_deliver_fs_get_volume_status()
1308 _debug("motd length: %u", call->count); in yfs_deliver_fs_get_volume_status()
1309 if (call->count >= AFSNAMEMAX) in yfs_deliver_fs_get_volume_status()
1310 return afs_protocol_error(call, afs_eproto_motd_len); in yfs_deliver_fs_get_volume_status()
1311 size = (call->count + 3) & ~3; /* It's padded */ in yfs_deliver_fs_get_volume_status()
1312 afs_extract_to_buf(call, size); in yfs_deliver_fs_get_volume_status()
1313 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1319 ret = afs_extract_data(call, false); in yfs_deliver_fs_get_volume_status()
1323 p = call->buffer; in yfs_deliver_fs_get_volume_status()
1324 p[call->count] = 0; in yfs_deliver_fs_get_volume_status()
1327 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1354 struct afs_call *call; in yfs_fs_get_volume_status() local
1359 call = afs_alloc_flat_call(op->net, &yfs_RXYFSGetVolumeStatus, in yfs_fs_get_volume_status()
1366 if (!call) in yfs_fs_get_volume_status()
1370 bp = call->request; in yfs_fs_get_volume_status()
1374 yfs_check_req(call, bp); in yfs_fs_get_volume_status()
1376 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_get_volume_status()
1377 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_get_volume_status()
1418 struct afs_call *call; in yfs_fs_set_lock() local
1423 call = afs_alloc_flat_call(op->net, &yfs_RXYFSSetLock, in yfs_fs_set_lock()
1429 if (!call) in yfs_fs_set_lock()
1433 bp = call->request; in yfs_fs_set_lock()
1438 yfs_check_req(call, bp); in yfs_fs_set_lock()
1440 trace_afs_make_fs_calli(call, &vp->fid, op->lock.type); in yfs_fs_set_lock()
1441 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_set_lock()
1450 struct afs_call *call; in yfs_fs_extend_lock() local
1455 call = afs_alloc_flat_call(op->net, &yfs_RXYFSExtendLock, in yfs_fs_extend_lock()
1460 if (!call) in yfs_fs_extend_lock()
1464 bp = call->request; in yfs_fs_extend_lock()
1468 yfs_check_req(call, bp); in yfs_fs_extend_lock()
1470 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_extend_lock()
1471 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_extend_lock()
1480 struct afs_call *call; in yfs_fs_release_lock() local
1485 call = afs_alloc_flat_call(op->net, &yfs_RXYFSReleaseLock, in yfs_fs_release_lock()
1490 if (!call) in yfs_fs_release_lock()
1494 bp = call->request; in yfs_fs_release_lock()
1498 yfs_check_req(call, bp); in yfs_fs_release_lock()
1500 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_release_lock()
1501 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_release_lock()
1507 static int yfs_deliver_fs_fetch_status(struct afs_call *call) in yfs_deliver_fs_fetch_status() argument
1509 struct afs_operation *op = call->op; in yfs_deliver_fs_fetch_status()
1514 ret = afs_transfer_reply(call); in yfs_deliver_fs_fetch_status()
1519 bp = call->buffer; in yfs_deliver_fs_fetch_status()
1520 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_status()
1521 xdr_decode_YFSCallBack(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_status()
1544 struct afs_call *call; in yfs_fs_fetch_status() local
1550 call = afs_alloc_flat_call(op->net, &yfs_RXYFSFetchStatus, in yfs_fs_fetch_status()
1556 if (!call) in yfs_fs_fetch_status()
1560 bp = call->request; in yfs_fs_fetch_status()
1564 yfs_check_req(call, bp); in yfs_fs_fetch_status()
1566 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_fetch_status()
1567 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_fetch_status()
1571 * Deliver reply data to an YFS.InlineBulkStatus call
1573 static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call) in yfs_deliver_fs_inline_bulk_status() argument
1575 struct afs_operation *op = call->op; in yfs_deliver_fs_inline_bulk_status()
1581 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_inline_bulk_status()
1583 switch (call->unmarshall) { in yfs_deliver_fs_inline_bulk_status()
1585 afs_extract_to_tmp(call); in yfs_deliver_fs_inline_bulk_status()
1586 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1592 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1596 tmp = ntohl(call->tmp); in yfs_deliver_fs_inline_bulk_status()
1599 return afs_protocol_error(call, afs_eproto_ibulkst_count); in yfs_deliver_fs_inline_bulk_status()
1601 call->count = 0; in yfs_deliver_fs_inline_bulk_status()
1602 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1604 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSFetchStatus)); in yfs_deliver_fs_inline_bulk_status()
1608 _debug("extract status array %u", call->count); in yfs_deliver_fs_inline_bulk_status()
1609 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1613 switch (call->count) { in yfs_deliver_fs_inline_bulk_status()
1621 scb = &op->more_files[call->count - 2].scb; in yfs_deliver_fs_inline_bulk_status()
1625 bp = call->buffer; in yfs_deliver_fs_inline_bulk_status()
1626 xdr_decode_YFSFetchStatus(&bp, call, scb); in yfs_deliver_fs_inline_bulk_status()
1628 call->count++; in yfs_deliver_fs_inline_bulk_status()
1629 if (call->count < op->nr_files) in yfs_deliver_fs_inline_bulk_status()
1632 call->count = 0; in yfs_deliver_fs_inline_bulk_status()
1633 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1634 afs_extract_to_tmp(call); in yfs_deliver_fs_inline_bulk_status()
1640 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1644 tmp = ntohl(call->tmp); in yfs_deliver_fs_inline_bulk_status()
1647 return afs_protocol_error(call, afs_eproto_ibulkst_cb_count); in yfs_deliver_fs_inline_bulk_status()
1648 call->count = 0; in yfs_deliver_fs_inline_bulk_status()
1649 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1651 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSCallBack)); in yfs_deliver_fs_inline_bulk_status()
1656 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1661 switch (call->count) { in yfs_deliver_fs_inline_bulk_status()
1669 scb = &op->more_files[call->count - 2].scb; in yfs_deliver_fs_inline_bulk_status()
1673 bp = call->buffer; in yfs_deliver_fs_inline_bulk_status()
1674 xdr_decode_YFSCallBack(&bp, call, scb); in yfs_deliver_fs_inline_bulk_status()
1675 call->count++; in yfs_deliver_fs_inline_bulk_status()
1676 if (call->count < op->nr_files) in yfs_deliver_fs_inline_bulk_status()
1679 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSVolSync)); in yfs_deliver_fs_inline_bulk_status()
1680 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1684 ret = afs_extract_data(call, false); in yfs_deliver_fs_inline_bulk_status()
1688 bp = call->buffer; in yfs_deliver_fs_inline_bulk_status()
1691 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1719 struct afs_call *call; in yfs_fs_inline_bulk_status() local
1726 call = afs_alloc_flat_call(op->net, &yfs_RXYFSInlineBulkStatus, in yfs_fs_inline_bulk_status()
1732 if (!call) in yfs_fs_inline_bulk_status()
1736 bp = call->request; in yfs_fs_inline_bulk_status()
1744 yfs_check_req(call, bp); in yfs_fs_inline_bulk_status()
1746 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_inline_bulk_status()
1747 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_inline_bulk_status()
1753 static int yfs_deliver_fs_fetch_opaque_acl(struct afs_call *call) in yfs_deliver_fs_fetch_opaque_acl() argument
1755 struct afs_operation *op = call->op; in yfs_deliver_fs_fetch_opaque_acl()
1763 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_fetch_opaque_acl()
1765 switch (call->unmarshall) { in yfs_deliver_fs_fetch_opaque_acl()
1767 afs_extract_to_tmp(call); in yfs_deliver_fs_fetch_opaque_acl()
1768 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1773 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1777 size = call->count2 = ntohl(call->tmp); in yfs_deliver_fs_fetch_opaque_acl()
1785 acl->size = call->count2; in yfs_deliver_fs_fetch_opaque_acl()
1786 afs_extract_begin(call, acl->data, size); in yfs_deliver_fs_fetch_opaque_acl()
1788 afs_extract_discard(call, size); in yfs_deliver_fs_fetch_opaque_acl()
1790 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1795 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1799 afs_extract_to_tmp(call); in yfs_deliver_fs_fetch_opaque_acl()
1800 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1805 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1809 size = call->count2 = ntohl(call->tmp); in yfs_deliver_fs_fetch_opaque_acl()
1817 acl->size = call->count2; in yfs_deliver_fs_fetch_opaque_acl()
1818 afs_extract_begin(call, acl->data, size); in yfs_deliver_fs_fetch_opaque_acl()
1820 afs_extract_discard(call, size); in yfs_deliver_fs_fetch_opaque_acl()
1822 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1827 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1831 afs_extract_to_buf(call, in yfs_deliver_fs_fetch_opaque_acl()
1835 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1840 ret = afs_extract_data(call, false); in yfs_deliver_fs_fetch_opaque_acl()
1844 bp = call->buffer; in yfs_deliver_fs_fetch_opaque_acl()
1847 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_opaque_acl()
1850 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1886 struct afs_call *call; in yfs_fs_fetch_opaque_acl() local
1892 call = afs_alloc_flat_call(op->net, &yfs_RXYFSFetchOpaqueACL, in yfs_fs_fetch_opaque_acl()
1898 if (!call) in yfs_fs_fetch_opaque_acl()
1902 bp = call->request; in yfs_fs_fetch_opaque_acl()
1906 yfs_check_req(call, bp); in yfs_fs_fetch_opaque_acl()
1908 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_fetch_opaque_acl()
1909 afs_make_op_call(op, call, GFP_KERNEL); in yfs_fs_fetch_opaque_acl()
1928 struct afs_call *call; in yfs_fs_store_opaque_acl2() local
1937 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreOpaqueACL2, in yfs_fs_store_opaque_acl2()
1943 if (!call) in yfs_fs_store_opaque_acl2()
1947 bp = call->request; in yfs_fs_store_opaque_acl2()
1956 yfs_check_req(call, bp); in yfs_fs_store_opaque_acl2()
1958 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_store_opaque_acl2()
1959 afs_make_op_call(op, call, GFP_KERNEL); in yfs_fs_store_opaque_acl2()