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()
331 static int yfs_deliver_status_and_volsync(struct afs_call *call) in yfs_deliver_status_and_volsync() argument
333 struct afs_operation *op = call->op; in yfs_deliver_status_and_volsync()
337 ret = afs_transfer_reply(call); in yfs_deliver_status_and_volsync()
341 bp = call->buffer; in yfs_deliver_status_and_volsync()
342 xdr_decode_YFSFetchStatus(&bp, call, &op->file[0].scb); in yfs_deliver_status_and_volsync()
352 static int yfs_deliver_fs_fetch_data64(struct afs_call *call) in yfs_deliver_fs_fetch_data64() argument
354 struct afs_operation *op = call->op; in yfs_deliver_fs_fetch_data64()
361 call->unmarshall, call->iov_len, iov_iter_count(call->iter), in yfs_deliver_fs_fetch_data64()
364 switch (call->unmarshall) { in yfs_deliver_fs_fetch_data64()
367 afs_extract_to_tmp64(call); in yfs_deliver_fs_fetch_data64()
368 call->unmarshall++; in yfs_deliver_fs_fetch_data64()
377 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_data64()
381 req->actual_len = be64_to_cpu(call->tmp64); in yfs_deliver_fs_fetch_data64()
387 call->iter = req->iter; in yfs_deliver_fs_fetch_data64()
388 call->iov_len = min(req->actual_len, req->len); in yfs_deliver_fs_fetch_data64()
389 call->unmarshall++; in yfs_deliver_fs_fetch_data64()
395 iov_iter_count(call->iter), req->actual_len); in yfs_deliver_fs_fetch_data64()
397 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_data64()
401 call->iter = &call->def_iter; in yfs_deliver_fs_fetch_data64()
406 afs_extract_discard(call, req->actual_len - req->len); in yfs_deliver_fs_fetch_data64()
407 call->unmarshall = 3; in yfs_deliver_fs_fetch_data64()
412 iov_iter_count(call->iter), req->actual_len - req->len); in yfs_deliver_fs_fetch_data64()
414 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_data64()
419 call->unmarshall = 4; in yfs_deliver_fs_fetch_data64()
420 afs_extract_to_buf(call, in yfs_deliver_fs_fetch_data64()
428 ret = afs_extract_data(call, false); in yfs_deliver_fs_fetch_data64()
432 bp = call->buffer; in yfs_deliver_fs_fetch_data64()
433 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_data64()
434 xdr_decode_YFSCallBack(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_data64()
440 call->unmarshall++; in yfs_deliver_fs_fetch_data64()
468 struct afs_call *call; in yfs_fs_fetch_data() local
475 call = afs_alloc_flat_call(op->net, &yfs_RXYFSFetchData64, in yfs_fs_fetch_data()
482 if (!call) in yfs_fs_fetch_data()
485 req->call_debug_id = call->debug_id; in yfs_fs_fetch_data()
488 bp = call->request; in yfs_fs_fetch_data()
494 yfs_check_req(call, bp); in yfs_fs_fetch_data()
496 call->fid = vp->fid; in yfs_fs_fetch_data()
497 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_fetch_data()
498 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_fetch_data()
504 static int yfs_deliver_fs_create_vnode(struct afs_call *call) in yfs_deliver_fs_create_vnode() argument
506 struct afs_operation *op = call->op; in yfs_deliver_fs_create_vnode()
512 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_create_vnode()
514 ret = afs_transfer_reply(call); in yfs_deliver_fs_create_vnode()
519 bp = call->buffer; in yfs_deliver_fs_create_vnode()
521 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_create_vnode()
522 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_create_vnode()
523 xdr_decode_YFSCallBack(&bp, call, &vp->scb); in yfs_deliver_fs_create_vnode()
547 struct afs_call *call; in yfs_fs_create_file() local
565 call = afs_alloc_flat_call(op->net, &afs_RXFSCreateFile, reqsz, rplsz); in yfs_fs_create_file()
566 if (!call) in yfs_fs_create_file()
570 bp = call->request; in yfs_fs_create_file()
577 yfs_check_req(call, bp); in yfs_fs_create_file()
579 call->fid = dvp->fid; in yfs_fs_create_file()
580 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_create_file()
581 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_create_file()
598 struct afs_call *call; in yfs_fs_make_dir() local
615 call = afs_alloc_flat_call(op->net, &yfs_RXFSMakeDir, reqsz, rplsz); in yfs_fs_make_dir()
616 if (!call) in yfs_fs_make_dir()
620 bp = call->request; in yfs_fs_make_dir()
626 yfs_check_req(call, bp); in yfs_fs_make_dir()
628 call->fid = dvp->fid; in yfs_fs_make_dir()
629 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_make_dir()
630 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_make_dir()
636 static int yfs_deliver_fs_remove_file2(struct afs_call *call) in yfs_deliver_fs_remove_file2() argument
638 struct afs_operation *op = call->op; in yfs_deliver_fs_remove_file2()
645 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_remove_file2()
647 ret = afs_transfer_reply(call); in yfs_deliver_fs_remove_file2()
651 bp = call->buffer; in yfs_deliver_fs_remove_file2()
652 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_remove_file2()
654 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_remove_file2()
661 static void yfs_done_fs_remove_file2(struct afs_call *call) in yfs_done_fs_remove_file2() argument
663 if (call->error == -ECONNABORTED && in yfs_done_fs_remove_file2()
664 call->abort_code == RX_INVALID_OPERATION) { in yfs_done_fs_remove_file2()
665 set_bit(AFS_SERVER_FL_NO_RM2, &call->server->flags); in yfs_done_fs_remove_file2()
666 call->op->flags |= AFS_OPERATION_DOWNGRADE; in yfs_done_fs_remove_file2()
688 struct afs_call *call; in yfs_fs_remove_file2() local
693 call = afs_alloc_flat_call(op->net, &yfs_RXYFSRemoveFile2, in yfs_fs_remove_file2()
702 if (!call) in yfs_fs_remove_file2()
706 bp = call->request; in yfs_fs_remove_file2()
711 yfs_check_req(call, bp); in yfs_fs_remove_file2()
713 call->fid = dvp->fid; in yfs_fs_remove_file2()
714 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_remove_file2()
715 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_remove_file2()
721 static int yfs_deliver_fs_remove(struct afs_call *call) in yfs_deliver_fs_remove() argument
723 struct afs_operation *op = call->op; in yfs_deliver_fs_remove()
728 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_remove()
730 ret = afs_transfer_reply(call); in yfs_deliver_fs_remove()
734 bp = call->buffer; in yfs_deliver_fs_remove()
735 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_remove()
757 struct afs_call *call; in yfs_fs_remove_file() local
765 call = afs_alloc_flat_call(op->net, &yfs_RXYFSRemoveFile, in yfs_fs_remove_file()
772 if (!call) in yfs_fs_remove_file()
776 bp = call->request; in yfs_fs_remove_file()
781 yfs_check_req(call, bp); in yfs_fs_remove_file()
783 call->fid = dvp->fid; 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 call->fid = dvp->fid; in yfs_fs_remove_dir()
826 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_remove_dir()
827 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_remove_dir()
833 static int yfs_deliver_fs_link(struct afs_call *call) in yfs_deliver_fs_link() argument
835 struct afs_operation *op = call->op; in yfs_deliver_fs_link()
841 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_link()
843 ret = afs_transfer_reply(call); in yfs_deliver_fs_link()
847 bp = call->buffer; in yfs_deliver_fs_link()
848 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_link()
849 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_link()
873 struct afs_call *call; in yfs_fs_link() local
878 call = afs_alloc_flat_call(op->net, &yfs_RXYFSLink, in yfs_fs_link()
887 if (!call) in yfs_fs_link()
891 bp = call->request; in yfs_fs_link()
897 yfs_check_req(call, bp); in yfs_fs_link()
899 call->fid = vp->fid; in yfs_fs_link()
900 trace_afs_make_fs_call1(call, &vp->fid, name); in yfs_fs_link()
901 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_link()
907 static int yfs_deliver_fs_symlink(struct afs_call *call) in yfs_deliver_fs_symlink() argument
909 struct afs_operation *op = call->op; in yfs_deliver_fs_symlink()
915 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_symlink()
917 ret = afs_transfer_reply(call); in yfs_deliver_fs_symlink()
922 bp = call->buffer; in yfs_deliver_fs_symlink()
924 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_symlink()
925 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_symlink()
949 struct afs_call *call; in yfs_fs_symlink() local
957 call = afs_alloc_flat_call(op->net, &yfs_RXYFSSymlink, in yfs_fs_symlink()
968 if (!call) in yfs_fs_symlink()
972 bp = call->request; in yfs_fs_symlink()
979 yfs_check_req(call, bp); in yfs_fs_symlink()
981 call->fid = dvp->fid; in yfs_fs_symlink()
982 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_symlink()
983 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_symlink()
989 static int yfs_deliver_fs_rename(struct afs_call *call) in yfs_deliver_fs_rename() argument
991 struct afs_operation *op = call->op; in yfs_deliver_fs_rename()
997 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_rename()
999 ret = afs_transfer_reply(call); in yfs_deliver_fs_rename()
1003 bp = call->buffer; in yfs_deliver_fs_rename()
1007 xdr_decode_YFSFetchStatus(&bp, call, &orig_dvp->scb); in yfs_deliver_fs_rename()
1008 xdr_decode_YFSFetchStatus(&bp, call, &new_dvp->scb); in yfs_deliver_fs_rename()
1033 struct afs_call *call; in yfs_fs_rename() local
1038 call = afs_alloc_flat_call(op->net, &yfs_RXYFSRename, in yfs_fs_rename()
1048 if (!call) in yfs_fs_rename()
1052 bp = call->request; in yfs_fs_rename()
1059 yfs_check_req(call, bp); in yfs_fs_rename()
1061 call->fid = orig_dvp->fid; in yfs_fs_rename()
1062 trace_afs_make_fs_call2(call, &orig_dvp->fid, orig_name, new_name); in yfs_fs_rename()
1063 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_rename()
1082 struct afs_call *call; in yfs_fs_store_data() local
1093 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreData64, in yfs_fs_store_data()
1101 if (!call) in yfs_fs_store_data()
1104 call->write_iter = op->store.write_iter; in yfs_fs_store_data()
1107 bp = call->request; in yfs_fs_store_data()
1115 yfs_check_req(call, bp); in yfs_fs_store_data()
1117 call->fid = vp->fid; in yfs_fs_store_data()
1118 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_store_data()
1119 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_store_data()
1146 struct afs_call *call; in yfs_fs_setattr_size() local
1153 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreData64_as_Status, in yfs_fs_setattr_size()
1160 if (!call) in yfs_fs_setattr_size()
1164 bp = call->request; in yfs_fs_setattr_size()
1172 yfs_check_req(call, bp); in yfs_fs_setattr_size()
1174 call->fid = vp->fid; in yfs_fs_setattr_size()
1175 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_setattr_size()
1176 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_setattr_size()
1186 struct afs_call *call; in yfs_fs_setattr() local
1196 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreStatus, in yfs_fs_setattr()
1202 if (!call) in yfs_fs_setattr()
1206 bp = call->request; in yfs_fs_setattr()
1211 yfs_check_req(call, bp); in yfs_fs_setattr()
1213 call->fid = vp->fid; in yfs_fs_setattr()
1214 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_setattr()
1215 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_setattr()
1221 static int yfs_deliver_fs_get_volume_status(struct afs_call *call) in yfs_deliver_fs_get_volume_status() argument
1223 struct afs_operation *op = call->op; in yfs_deliver_fs_get_volume_status()
1229 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_get_volume_status()
1231 switch (call->unmarshall) { in yfs_deliver_fs_get_volume_status()
1233 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1234 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSFetchVolumeStatus)); in yfs_deliver_fs_get_volume_status()
1240 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1244 bp = call->buffer; in yfs_deliver_fs_get_volume_status()
1246 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1247 afs_extract_to_tmp(call); in yfs_deliver_fs_get_volume_status()
1252 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1256 call->count = ntohl(call->tmp); in yfs_deliver_fs_get_volume_status()
1257 _debug("volname length: %u", call->count); in yfs_deliver_fs_get_volume_status()
1258 if (call->count >= AFSNAMEMAX) in yfs_deliver_fs_get_volume_status()
1259 return afs_protocol_error(call, afs_eproto_volname_len); in yfs_deliver_fs_get_volume_status()
1260 size = (call->count + 3) & ~3; /* It's padded */ in yfs_deliver_fs_get_volume_status()
1261 afs_extract_to_buf(call, size); in yfs_deliver_fs_get_volume_status()
1262 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1268 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1272 p = call->buffer; in yfs_deliver_fs_get_volume_status()
1273 p[call->count] = 0; in yfs_deliver_fs_get_volume_status()
1275 afs_extract_to_tmp(call); in yfs_deliver_fs_get_volume_status()
1276 call->unmarshall++; 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("offline msg 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_offline_msg_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()
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("motd 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_motd_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, false); 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 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1362 struct afs_call *call; in yfs_fs_get_volume_status() local
1367 call = afs_alloc_flat_call(op->net, &yfs_RXYFSGetVolumeStatus, in yfs_fs_get_volume_status()
1374 if (!call) in yfs_fs_get_volume_status()
1378 bp = call->request; in yfs_fs_get_volume_status()
1382 yfs_check_req(call, bp); in yfs_fs_get_volume_status()
1384 call->fid = vp->fid; in yfs_fs_get_volume_status()
1385 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_get_volume_status()
1386 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_get_volume_status()
1427 struct afs_call *call; in yfs_fs_set_lock() local
1432 call = afs_alloc_flat_call(op->net, &yfs_RXYFSSetLock, in yfs_fs_set_lock()
1438 if (!call) in yfs_fs_set_lock()
1442 bp = call->request; in yfs_fs_set_lock()
1447 yfs_check_req(call, bp); in yfs_fs_set_lock()
1449 call->fid = vp->fid; in yfs_fs_set_lock()
1450 trace_afs_make_fs_calli(call, &vp->fid, op->lock.type); in yfs_fs_set_lock()
1451 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_set_lock()
1460 struct afs_call *call; in yfs_fs_extend_lock() local
1465 call = afs_alloc_flat_call(op->net, &yfs_RXYFSExtendLock, in yfs_fs_extend_lock()
1470 if (!call) in yfs_fs_extend_lock()
1474 bp = call->request; in yfs_fs_extend_lock()
1478 yfs_check_req(call, bp); in yfs_fs_extend_lock()
1480 call->fid = vp->fid; in yfs_fs_extend_lock()
1481 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_extend_lock()
1482 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_extend_lock()
1491 struct afs_call *call; in yfs_fs_release_lock() local
1496 call = afs_alloc_flat_call(op->net, &yfs_RXYFSReleaseLock, in yfs_fs_release_lock()
1501 if (!call) in yfs_fs_release_lock()
1505 bp = call->request; in yfs_fs_release_lock()
1509 yfs_check_req(call, bp); in yfs_fs_release_lock()
1511 call->fid = vp->fid; in yfs_fs_release_lock()
1512 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_release_lock()
1513 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_release_lock()
1519 static int yfs_deliver_fs_fetch_status(struct afs_call *call) in yfs_deliver_fs_fetch_status() argument
1521 struct afs_operation *op = call->op; in yfs_deliver_fs_fetch_status()
1526 ret = afs_transfer_reply(call); in yfs_deliver_fs_fetch_status()
1531 bp = call->buffer; in yfs_deliver_fs_fetch_status()
1532 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_status()
1533 xdr_decode_YFSCallBack(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_status()
1556 struct afs_call *call; in yfs_fs_fetch_status() local
1562 call = afs_alloc_flat_call(op->net, &yfs_RXYFSFetchStatus, in yfs_fs_fetch_status()
1568 if (!call) in yfs_fs_fetch_status()
1572 bp = call->request; in yfs_fs_fetch_status()
1576 yfs_check_req(call, bp); in yfs_fs_fetch_status()
1578 call->fid = vp->fid; in yfs_fs_fetch_status()
1579 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_fetch_status()
1580 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_fetch_status()
1584 * Deliver reply data to an YFS.InlineBulkStatus call
1586 static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call) in yfs_deliver_fs_inline_bulk_status() argument
1588 struct afs_operation *op = call->op; in yfs_deliver_fs_inline_bulk_status()
1594 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_inline_bulk_status()
1596 switch (call->unmarshall) { in yfs_deliver_fs_inline_bulk_status()
1598 afs_extract_to_tmp(call); in yfs_deliver_fs_inline_bulk_status()
1599 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1605 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1609 tmp = ntohl(call->tmp); in yfs_deliver_fs_inline_bulk_status()
1612 return afs_protocol_error(call, afs_eproto_ibulkst_count); in yfs_deliver_fs_inline_bulk_status()
1614 call->count = 0; in yfs_deliver_fs_inline_bulk_status()
1615 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1617 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSFetchStatus)); in yfs_deliver_fs_inline_bulk_status()
1621 _debug("extract status array %u", call->count); in yfs_deliver_fs_inline_bulk_status()
1622 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1626 switch (call->count) { in yfs_deliver_fs_inline_bulk_status()
1634 scb = &op->more_files[call->count - 2].scb; in yfs_deliver_fs_inline_bulk_status()
1638 bp = call->buffer; in yfs_deliver_fs_inline_bulk_status()
1639 xdr_decode_YFSFetchStatus(&bp, call, scb); in yfs_deliver_fs_inline_bulk_status()
1641 call->count++; in yfs_deliver_fs_inline_bulk_status()
1642 if (call->count < op->nr_files) in yfs_deliver_fs_inline_bulk_status()
1645 call->count = 0; in yfs_deliver_fs_inline_bulk_status()
1646 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1647 afs_extract_to_tmp(call); in yfs_deliver_fs_inline_bulk_status()
1653 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1657 tmp = ntohl(call->tmp); in yfs_deliver_fs_inline_bulk_status()
1660 return afs_protocol_error(call, afs_eproto_ibulkst_cb_count); in yfs_deliver_fs_inline_bulk_status()
1661 call->count = 0; in yfs_deliver_fs_inline_bulk_status()
1662 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1664 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSCallBack)); in yfs_deliver_fs_inline_bulk_status()
1669 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1674 switch (call->count) { in yfs_deliver_fs_inline_bulk_status()
1682 scb = &op->more_files[call->count - 2].scb; in yfs_deliver_fs_inline_bulk_status()
1686 bp = call->buffer; in yfs_deliver_fs_inline_bulk_status()
1687 xdr_decode_YFSCallBack(&bp, call, scb); in yfs_deliver_fs_inline_bulk_status()
1688 call->count++; in yfs_deliver_fs_inline_bulk_status()
1689 if (call->count < op->nr_files) in yfs_deliver_fs_inline_bulk_status()
1692 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSVolSync)); in yfs_deliver_fs_inline_bulk_status()
1693 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1697 ret = afs_extract_data(call, false); in yfs_deliver_fs_inline_bulk_status()
1701 bp = call->buffer; in yfs_deliver_fs_inline_bulk_status()
1704 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1732 struct afs_call *call; in yfs_fs_inline_bulk_status() local
1739 call = afs_alloc_flat_call(op->net, &yfs_RXYFSInlineBulkStatus, in yfs_fs_inline_bulk_status()
1745 if (!call) in yfs_fs_inline_bulk_status()
1749 bp = call->request; in yfs_fs_inline_bulk_status()
1757 yfs_check_req(call, bp); in yfs_fs_inline_bulk_status()
1759 call->fid = vp->fid; in yfs_fs_inline_bulk_status()
1760 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_inline_bulk_status()
1761 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_inline_bulk_status()
1767 static int yfs_deliver_fs_fetch_opaque_acl(struct afs_call *call) in yfs_deliver_fs_fetch_opaque_acl() argument
1769 struct afs_operation *op = call->op; in yfs_deliver_fs_fetch_opaque_acl()
1777 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_fetch_opaque_acl()
1779 switch (call->unmarshall) { in yfs_deliver_fs_fetch_opaque_acl()
1781 afs_extract_to_tmp(call); in yfs_deliver_fs_fetch_opaque_acl()
1782 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1787 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1791 size = call->count2 = ntohl(call->tmp); in yfs_deliver_fs_fetch_opaque_acl()
1799 acl->size = call->count2; in yfs_deliver_fs_fetch_opaque_acl()
1800 afs_extract_begin(call, acl->data, size); in yfs_deliver_fs_fetch_opaque_acl()
1802 afs_extract_discard(call, size); in yfs_deliver_fs_fetch_opaque_acl()
1804 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1809 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1813 afs_extract_to_tmp(call); in yfs_deliver_fs_fetch_opaque_acl()
1814 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1819 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1823 size = call->count2 = ntohl(call->tmp); in yfs_deliver_fs_fetch_opaque_acl()
1831 acl->size = call->count2; in yfs_deliver_fs_fetch_opaque_acl()
1832 afs_extract_begin(call, acl->data, size); in yfs_deliver_fs_fetch_opaque_acl()
1834 afs_extract_discard(call, size); in yfs_deliver_fs_fetch_opaque_acl()
1836 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1841 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1845 afs_extract_to_buf(call, in yfs_deliver_fs_fetch_opaque_acl()
1849 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1854 ret = afs_extract_data(call, false); in yfs_deliver_fs_fetch_opaque_acl()
1858 bp = call->buffer; in yfs_deliver_fs_fetch_opaque_acl()
1861 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_opaque_acl()
1864 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1900 struct afs_call *call; in yfs_fs_fetch_opaque_acl() local
1906 call = afs_alloc_flat_call(op->net, &yfs_RXYFSFetchOpaqueACL, in yfs_fs_fetch_opaque_acl()
1912 if (!call) in yfs_fs_fetch_opaque_acl()
1916 bp = call->request; in yfs_fs_fetch_opaque_acl()
1920 yfs_check_req(call, bp); in yfs_fs_fetch_opaque_acl()
1922 call->fid = vp->fid; in yfs_fs_fetch_opaque_acl()
1923 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_fetch_opaque_acl()
1924 afs_make_op_call(op, call, GFP_KERNEL); in yfs_fs_fetch_opaque_acl()
1943 struct afs_call *call; in yfs_fs_store_opaque_acl2() local
1952 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreOpaqueACL2, in yfs_fs_store_opaque_acl2()
1958 if (!call) in yfs_fs_store_opaque_acl2()
1962 bp = call->request; in yfs_fs_store_opaque_acl2()
1971 yfs_check_req(call, bp); in yfs_fs_store_opaque_acl2()
1973 call->fid = vp->fid; in yfs_fs_store_opaque_acl2()
1974 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_store_opaque_acl2()
1975 afs_make_op_call(op, call, GFP_KERNEL); in yfs_fs_store_opaque_acl2()