Lines Matching refs: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()
362 call->unmarshall, call->iov_len, iov_iter_count(call->iter), in yfs_deliver_fs_fetch_data64()
365 switch (call->unmarshall) { in yfs_deliver_fs_fetch_data64()
368 afs_extract_to_tmp64(call); in yfs_deliver_fs_fetch_data64()
369 call->unmarshall++; in yfs_deliver_fs_fetch_data64()
378 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_data64()
382 req->actual_len = be64_to_cpu(call->tmp64); in yfs_deliver_fs_fetch_data64()
388 call->iter = req->iter; in yfs_deliver_fs_fetch_data64()
389 call->iov_len = min(req->actual_len, req->len); in yfs_deliver_fs_fetch_data64()
390 call->unmarshall++; in yfs_deliver_fs_fetch_data64()
395 count_before = call->iov_len; in yfs_deliver_fs_fetch_data64()
398 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_data64()
400 req->subreq->transferred += count_before - call->iov_len; 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 call->fid = vp->fid; in yfs_fs_fetch_data()
502 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_fetch_data()
503 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_fetch_data()
509 static int yfs_deliver_fs_create_vnode(struct afs_call *call) in yfs_deliver_fs_create_vnode() argument
511 struct afs_operation *op = call->op; in yfs_deliver_fs_create_vnode()
517 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_create_vnode()
519 ret = afs_transfer_reply(call); in yfs_deliver_fs_create_vnode()
524 bp = call->buffer; in yfs_deliver_fs_create_vnode()
526 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_create_vnode()
527 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_create_vnode()
528 xdr_decode_YFSCallBack(&bp, call, &vp->scb); in yfs_deliver_fs_create_vnode()
552 struct afs_call *call; in yfs_fs_create_file() local
570 call = afs_alloc_flat_call(op->net, &afs_RXFSCreateFile, reqsz, rplsz); in yfs_fs_create_file()
571 if (!call) in yfs_fs_create_file()
575 bp = call->request; in yfs_fs_create_file()
582 yfs_check_req(call, bp); in yfs_fs_create_file()
584 call->fid = dvp->fid; in yfs_fs_create_file()
585 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_create_file()
586 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_create_file()
603 struct afs_call *call; in yfs_fs_make_dir() local
620 call = afs_alloc_flat_call(op->net, &yfs_RXFSMakeDir, reqsz, rplsz); in yfs_fs_make_dir()
621 if (!call) in yfs_fs_make_dir()
625 bp = call->request; in yfs_fs_make_dir()
631 yfs_check_req(call, bp); in yfs_fs_make_dir()
633 call->fid = dvp->fid; in yfs_fs_make_dir()
634 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_make_dir()
635 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_make_dir()
641 static int yfs_deliver_fs_remove_file2(struct afs_call *call) in yfs_deliver_fs_remove_file2() argument
643 struct afs_operation *op = call->op; in yfs_deliver_fs_remove_file2()
650 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_remove_file2()
652 ret = afs_transfer_reply(call); in yfs_deliver_fs_remove_file2()
656 bp = call->buffer; in yfs_deliver_fs_remove_file2()
657 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_remove_file2()
659 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_remove_file2()
666 static void yfs_done_fs_remove_file2(struct afs_call *call) in yfs_done_fs_remove_file2() argument
668 if (call->error == -ECONNABORTED && in yfs_done_fs_remove_file2()
669 call->abort_code == RX_INVALID_OPERATION) { in yfs_done_fs_remove_file2()
670 set_bit(AFS_SERVER_FL_NO_RM2, &call->server->flags); in yfs_done_fs_remove_file2()
671 call->op->flags |= AFS_OPERATION_DOWNGRADE; in yfs_done_fs_remove_file2()
693 struct afs_call *call; in yfs_fs_remove_file2() local
698 call = afs_alloc_flat_call(op->net, &yfs_RXYFSRemoveFile2, in yfs_fs_remove_file2()
707 if (!call) in yfs_fs_remove_file2()
711 bp = call->request; in yfs_fs_remove_file2()
716 yfs_check_req(call, bp); in yfs_fs_remove_file2()
718 call->fid = dvp->fid; in yfs_fs_remove_file2()
719 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_remove_file2()
720 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_remove_file2()
726 static int yfs_deliver_fs_remove(struct afs_call *call) in yfs_deliver_fs_remove() argument
728 struct afs_operation *op = call->op; in yfs_deliver_fs_remove()
733 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_remove()
735 ret = afs_transfer_reply(call); in yfs_deliver_fs_remove()
739 bp = call->buffer; in yfs_deliver_fs_remove()
740 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_remove()
762 struct afs_call *call; in yfs_fs_remove_file() local
770 call = afs_alloc_flat_call(op->net, &yfs_RXYFSRemoveFile, in yfs_fs_remove_file()
777 if (!call) in yfs_fs_remove_file()
781 bp = call->request; in yfs_fs_remove_file()
786 yfs_check_req(call, bp); in yfs_fs_remove_file()
788 call->fid = dvp->fid; in yfs_fs_remove_file()
789 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_remove_file()
790 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_remove_file()
807 struct afs_call *call; in yfs_fs_remove_dir() local
812 call = afs_alloc_flat_call(op->net, &yfs_RXYFSRemoveDir, in yfs_fs_remove_dir()
819 if (!call) in yfs_fs_remove_dir()
823 bp = call->request; in yfs_fs_remove_dir()
828 yfs_check_req(call, bp); in yfs_fs_remove_dir()
830 call->fid = dvp->fid; in yfs_fs_remove_dir()
831 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_remove_dir()
832 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_remove_dir()
838 static int yfs_deliver_fs_link(struct afs_call *call) in yfs_deliver_fs_link() argument
840 struct afs_operation *op = call->op; in yfs_deliver_fs_link()
846 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_link()
848 ret = afs_transfer_reply(call); in yfs_deliver_fs_link()
852 bp = call->buffer; in yfs_deliver_fs_link()
853 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_link()
854 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_link()
878 struct afs_call *call; in yfs_fs_link() local
883 call = afs_alloc_flat_call(op->net, &yfs_RXYFSLink, in yfs_fs_link()
892 if (!call) in yfs_fs_link()
896 bp = call->request; in yfs_fs_link()
902 yfs_check_req(call, bp); in yfs_fs_link()
904 call->fid = vp->fid; in yfs_fs_link()
905 trace_afs_make_fs_call1(call, &vp->fid, name); in yfs_fs_link()
906 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_link()
912 static int yfs_deliver_fs_symlink(struct afs_call *call) in yfs_deliver_fs_symlink() argument
914 struct afs_operation *op = call->op; in yfs_deliver_fs_symlink()
920 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_symlink()
922 ret = afs_transfer_reply(call); in yfs_deliver_fs_symlink()
927 bp = call->buffer; in yfs_deliver_fs_symlink()
929 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_symlink()
930 xdr_decode_YFSFetchStatus(&bp, call, &dvp->scb); in yfs_deliver_fs_symlink()
954 struct afs_call *call; in yfs_fs_symlink() local
962 call = afs_alloc_flat_call(op->net, &yfs_RXYFSSymlink, in yfs_fs_symlink()
973 if (!call) in yfs_fs_symlink()
977 bp = call->request; in yfs_fs_symlink()
984 yfs_check_req(call, bp); in yfs_fs_symlink()
986 call->fid = dvp->fid; in yfs_fs_symlink()
987 trace_afs_make_fs_call1(call, &dvp->fid, name); in yfs_fs_symlink()
988 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_symlink()
994 static int yfs_deliver_fs_rename(struct afs_call *call) in yfs_deliver_fs_rename() argument
996 struct afs_operation *op = call->op; in yfs_deliver_fs_rename()
1002 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_rename()
1004 ret = afs_transfer_reply(call); in yfs_deliver_fs_rename()
1008 bp = call->buffer; in yfs_deliver_fs_rename()
1012 xdr_decode_YFSFetchStatus(&bp, call, &orig_dvp->scb); in yfs_deliver_fs_rename()
1013 xdr_decode_YFSFetchStatus(&bp, call, &new_dvp->scb); in yfs_deliver_fs_rename()
1038 struct afs_call *call; in yfs_fs_rename() local
1043 call = afs_alloc_flat_call(op->net, &yfs_RXYFSRename, in yfs_fs_rename()
1053 if (!call) in yfs_fs_rename()
1057 bp = call->request; in yfs_fs_rename()
1064 yfs_check_req(call, bp); in yfs_fs_rename()
1066 call->fid = orig_dvp->fid; in yfs_fs_rename()
1067 trace_afs_make_fs_call2(call, &orig_dvp->fid, orig_name, new_name); in yfs_fs_rename()
1068 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_rename()
1087 struct afs_call *call; in yfs_fs_store_data() local
1098 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreData64, in yfs_fs_store_data()
1106 if (!call) in yfs_fs_store_data()
1109 call->write_iter = op->store.write_iter; in yfs_fs_store_data()
1112 bp = call->request; in yfs_fs_store_data()
1120 yfs_check_req(call, bp); in yfs_fs_store_data()
1122 call->fid = vp->fid; in yfs_fs_store_data()
1123 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_store_data()
1124 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_store_data()
1151 struct afs_call *call; in yfs_fs_setattr_size() local
1158 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreData64_as_Status, in yfs_fs_setattr_size()
1165 if (!call) in yfs_fs_setattr_size()
1169 bp = call->request; in yfs_fs_setattr_size()
1177 yfs_check_req(call, bp); in yfs_fs_setattr_size()
1179 call->fid = vp->fid; in yfs_fs_setattr_size()
1180 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_setattr_size()
1181 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_setattr_size()
1191 struct afs_call *call; in yfs_fs_setattr() local
1201 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreStatus, in yfs_fs_setattr()
1207 if (!call) in yfs_fs_setattr()
1211 bp = call->request; in yfs_fs_setattr()
1216 yfs_check_req(call, bp); in yfs_fs_setattr()
1218 call->fid = vp->fid; in yfs_fs_setattr()
1219 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_setattr()
1220 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_setattr()
1226 static int yfs_deliver_fs_get_volume_status(struct afs_call *call) in yfs_deliver_fs_get_volume_status() argument
1228 struct afs_operation *op = call->op; in yfs_deliver_fs_get_volume_status()
1234 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_get_volume_status()
1236 switch (call->unmarshall) { in yfs_deliver_fs_get_volume_status()
1238 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1239 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSFetchVolumeStatus)); in yfs_deliver_fs_get_volume_status()
1245 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1249 bp = call->buffer; in yfs_deliver_fs_get_volume_status()
1251 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1252 afs_extract_to_tmp(call); in yfs_deliver_fs_get_volume_status()
1257 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1261 call->count = ntohl(call->tmp); in yfs_deliver_fs_get_volume_status()
1262 _debug("volname length: %u", call->count); in yfs_deliver_fs_get_volume_status()
1263 if (call->count >= AFSNAMEMAX) in yfs_deliver_fs_get_volume_status()
1264 return afs_protocol_error(call, afs_eproto_volname_len); in yfs_deliver_fs_get_volume_status()
1265 size = (call->count + 3) & ~3; /* It's padded */ in yfs_deliver_fs_get_volume_status()
1266 afs_extract_to_buf(call, size); in yfs_deliver_fs_get_volume_status()
1267 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1273 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1277 p = call->buffer; in yfs_deliver_fs_get_volume_status()
1278 p[call->count] = 0; in yfs_deliver_fs_get_volume_status()
1280 afs_extract_to_tmp(call); in yfs_deliver_fs_get_volume_status()
1281 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1286 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1290 call->count = ntohl(call->tmp); in yfs_deliver_fs_get_volume_status()
1291 _debug("offline msg length: %u", call->count); in yfs_deliver_fs_get_volume_status()
1292 if (call->count >= AFSNAMEMAX) in yfs_deliver_fs_get_volume_status()
1293 return afs_protocol_error(call, afs_eproto_offline_msg_len); in yfs_deliver_fs_get_volume_status()
1294 size = (call->count + 3) & ~3; /* It's padded */ in yfs_deliver_fs_get_volume_status()
1295 afs_extract_to_buf(call, size); in yfs_deliver_fs_get_volume_status()
1296 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1302 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1306 p = call->buffer; in yfs_deliver_fs_get_volume_status()
1307 p[call->count] = 0; in yfs_deliver_fs_get_volume_status()
1310 afs_extract_to_tmp(call); in yfs_deliver_fs_get_volume_status()
1311 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1316 ret = afs_extract_data(call, true); in yfs_deliver_fs_get_volume_status()
1320 call->count = ntohl(call->tmp); in yfs_deliver_fs_get_volume_status()
1321 _debug("motd length: %u", call->count); in yfs_deliver_fs_get_volume_status()
1322 if (call->count >= AFSNAMEMAX) in yfs_deliver_fs_get_volume_status()
1323 return afs_protocol_error(call, afs_eproto_motd_len); in yfs_deliver_fs_get_volume_status()
1324 size = (call->count + 3) & ~3; /* It's padded */ in yfs_deliver_fs_get_volume_status()
1325 afs_extract_to_buf(call, size); in yfs_deliver_fs_get_volume_status()
1326 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1332 ret = afs_extract_data(call, false); in yfs_deliver_fs_get_volume_status()
1336 p = call->buffer; in yfs_deliver_fs_get_volume_status()
1337 p[call->count] = 0; in yfs_deliver_fs_get_volume_status()
1340 call->unmarshall++; in yfs_deliver_fs_get_volume_status()
1367 struct afs_call *call; in yfs_fs_get_volume_status() local
1372 call = afs_alloc_flat_call(op->net, &yfs_RXYFSGetVolumeStatus, in yfs_fs_get_volume_status()
1379 if (!call) in yfs_fs_get_volume_status()
1383 bp = call->request; in yfs_fs_get_volume_status()
1387 yfs_check_req(call, bp); in yfs_fs_get_volume_status()
1389 call->fid = vp->fid; in yfs_fs_get_volume_status()
1390 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_get_volume_status()
1391 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_get_volume_status()
1432 struct afs_call *call; in yfs_fs_set_lock() local
1437 call = afs_alloc_flat_call(op->net, &yfs_RXYFSSetLock, in yfs_fs_set_lock()
1443 if (!call) in yfs_fs_set_lock()
1447 bp = call->request; in yfs_fs_set_lock()
1452 yfs_check_req(call, bp); in yfs_fs_set_lock()
1454 call->fid = vp->fid; in yfs_fs_set_lock()
1455 trace_afs_make_fs_calli(call, &vp->fid, op->lock.type); in yfs_fs_set_lock()
1456 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_set_lock()
1465 struct afs_call *call; in yfs_fs_extend_lock() local
1470 call = afs_alloc_flat_call(op->net, &yfs_RXYFSExtendLock, in yfs_fs_extend_lock()
1475 if (!call) in yfs_fs_extend_lock()
1479 bp = call->request; in yfs_fs_extend_lock()
1483 yfs_check_req(call, bp); in yfs_fs_extend_lock()
1485 call->fid = vp->fid; in yfs_fs_extend_lock()
1486 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_extend_lock()
1487 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_extend_lock()
1496 struct afs_call *call; in yfs_fs_release_lock() local
1501 call = afs_alloc_flat_call(op->net, &yfs_RXYFSReleaseLock, in yfs_fs_release_lock()
1506 if (!call) in yfs_fs_release_lock()
1510 bp = call->request; in yfs_fs_release_lock()
1514 yfs_check_req(call, bp); in yfs_fs_release_lock()
1516 call->fid = vp->fid; in yfs_fs_release_lock()
1517 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_release_lock()
1518 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_release_lock()
1524 static int yfs_deliver_fs_fetch_status(struct afs_call *call) in yfs_deliver_fs_fetch_status() argument
1526 struct afs_operation *op = call->op; in yfs_deliver_fs_fetch_status()
1531 ret = afs_transfer_reply(call); in yfs_deliver_fs_fetch_status()
1536 bp = call->buffer; in yfs_deliver_fs_fetch_status()
1537 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_status()
1538 xdr_decode_YFSCallBack(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_status()
1561 struct afs_call *call; in yfs_fs_fetch_status() local
1567 call = afs_alloc_flat_call(op->net, &yfs_RXYFSFetchStatus, in yfs_fs_fetch_status()
1573 if (!call) in yfs_fs_fetch_status()
1577 bp = call->request; in yfs_fs_fetch_status()
1581 yfs_check_req(call, bp); in yfs_fs_fetch_status()
1583 call->fid = vp->fid; in yfs_fs_fetch_status()
1584 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_fetch_status()
1585 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_fetch_status()
1591 static int yfs_deliver_fs_inline_bulk_status(struct afs_call *call) in yfs_deliver_fs_inline_bulk_status() argument
1593 struct afs_operation *op = call->op; in yfs_deliver_fs_inline_bulk_status()
1599 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_inline_bulk_status()
1601 switch (call->unmarshall) { in yfs_deliver_fs_inline_bulk_status()
1603 afs_extract_to_tmp(call); in yfs_deliver_fs_inline_bulk_status()
1604 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1610 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1614 tmp = ntohl(call->tmp); in yfs_deliver_fs_inline_bulk_status()
1617 return afs_protocol_error(call, afs_eproto_ibulkst_count); in yfs_deliver_fs_inline_bulk_status()
1619 call->count = 0; in yfs_deliver_fs_inline_bulk_status()
1620 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1622 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSFetchStatus)); in yfs_deliver_fs_inline_bulk_status()
1626 _debug("extract status array %u", call->count); in yfs_deliver_fs_inline_bulk_status()
1627 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1631 switch (call->count) { in yfs_deliver_fs_inline_bulk_status()
1639 scb = &op->more_files[call->count - 2].scb; in yfs_deliver_fs_inline_bulk_status()
1643 bp = call->buffer; in yfs_deliver_fs_inline_bulk_status()
1644 xdr_decode_YFSFetchStatus(&bp, call, scb); in yfs_deliver_fs_inline_bulk_status()
1646 call->count++; in yfs_deliver_fs_inline_bulk_status()
1647 if (call->count < op->nr_files) in yfs_deliver_fs_inline_bulk_status()
1650 call->count = 0; in yfs_deliver_fs_inline_bulk_status()
1651 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1652 afs_extract_to_tmp(call); in yfs_deliver_fs_inline_bulk_status()
1658 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1662 tmp = ntohl(call->tmp); in yfs_deliver_fs_inline_bulk_status()
1665 return afs_protocol_error(call, afs_eproto_ibulkst_cb_count); in yfs_deliver_fs_inline_bulk_status()
1666 call->count = 0; in yfs_deliver_fs_inline_bulk_status()
1667 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1669 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSCallBack)); in yfs_deliver_fs_inline_bulk_status()
1674 ret = afs_extract_data(call, true); in yfs_deliver_fs_inline_bulk_status()
1679 switch (call->count) { in yfs_deliver_fs_inline_bulk_status()
1687 scb = &op->more_files[call->count - 2].scb; in yfs_deliver_fs_inline_bulk_status()
1691 bp = call->buffer; in yfs_deliver_fs_inline_bulk_status()
1692 xdr_decode_YFSCallBack(&bp, call, scb); in yfs_deliver_fs_inline_bulk_status()
1693 call->count++; in yfs_deliver_fs_inline_bulk_status()
1694 if (call->count < op->nr_files) in yfs_deliver_fs_inline_bulk_status()
1697 afs_extract_to_buf(call, sizeof(struct yfs_xdr_YFSVolSync)); in yfs_deliver_fs_inline_bulk_status()
1698 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1702 ret = afs_extract_data(call, false); in yfs_deliver_fs_inline_bulk_status()
1706 bp = call->buffer; in yfs_deliver_fs_inline_bulk_status()
1709 call->unmarshall++; in yfs_deliver_fs_inline_bulk_status()
1737 struct afs_call *call; in yfs_fs_inline_bulk_status() local
1744 call = afs_alloc_flat_call(op->net, &yfs_RXYFSInlineBulkStatus, in yfs_fs_inline_bulk_status()
1750 if (!call) in yfs_fs_inline_bulk_status()
1754 bp = call->request; in yfs_fs_inline_bulk_status()
1762 yfs_check_req(call, bp); in yfs_fs_inline_bulk_status()
1764 call->fid = vp->fid; in yfs_fs_inline_bulk_status()
1765 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_inline_bulk_status()
1766 afs_make_op_call(op, call, GFP_NOFS); in yfs_fs_inline_bulk_status()
1772 static int yfs_deliver_fs_fetch_opaque_acl(struct afs_call *call) in yfs_deliver_fs_fetch_opaque_acl() argument
1774 struct afs_operation *op = call->op; in yfs_deliver_fs_fetch_opaque_acl()
1782 _enter("{%u}", call->unmarshall); in yfs_deliver_fs_fetch_opaque_acl()
1784 switch (call->unmarshall) { in yfs_deliver_fs_fetch_opaque_acl()
1786 afs_extract_to_tmp(call); in yfs_deliver_fs_fetch_opaque_acl()
1787 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1792 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1796 size = call->count2 = ntohl(call->tmp); in yfs_deliver_fs_fetch_opaque_acl()
1804 acl->size = call->count2; in yfs_deliver_fs_fetch_opaque_acl()
1805 afs_extract_begin(call, acl->data, size); in yfs_deliver_fs_fetch_opaque_acl()
1807 afs_extract_discard(call, size); in yfs_deliver_fs_fetch_opaque_acl()
1809 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1814 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1818 afs_extract_to_tmp(call); in yfs_deliver_fs_fetch_opaque_acl()
1819 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1824 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1828 size = call->count2 = ntohl(call->tmp); in yfs_deliver_fs_fetch_opaque_acl()
1836 acl->size = call->count2; in yfs_deliver_fs_fetch_opaque_acl()
1837 afs_extract_begin(call, acl->data, size); in yfs_deliver_fs_fetch_opaque_acl()
1839 afs_extract_discard(call, size); in yfs_deliver_fs_fetch_opaque_acl()
1841 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1846 ret = afs_extract_data(call, true); in yfs_deliver_fs_fetch_opaque_acl()
1850 afs_extract_to_buf(call, in yfs_deliver_fs_fetch_opaque_acl()
1854 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1859 ret = afs_extract_data(call, false); in yfs_deliver_fs_fetch_opaque_acl()
1863 bp = call->buffer; in yfs_deliver_fs_fetch_opaque_acl()
1866 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_opaque_acl()
1869 call->unmarshall++; in yfs_deliver_fs_fetch_opaque_acl()
1905 struct afs_call *call; in yfs_fs_fetch_opaque_acl() local
1911 call = afs_alloc_flat_call(op->net, &yfs_RXYFSFetchOpaqueACL, in yfs_fs_fetch_opaque_acl()
1917 if (!call) in yfs_fs_fetch_opaque_acl()
1921 bp = call->request; in yfs_fs_fetch_opaque_acl()
1925 yfs_check_req(call, bp); in yfs_fs_fetch_opaque_acl()
1927 call->fid = vp->fid; in yfs_fs_fetch_opaque_acl()
1928 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_fetch_opaque_acl()
1929 afs_make_op_call(op, call, GFP_KERNEL); in yfs_fs_fetch_opaque_acl()
1948 struct afs_call *call; in yfs_fs_store_opaque_acl2() local
1957 call = afs_alloc_flat_call(op->net, &yfs_RXYFSStoreOpaqueACL2, in yfs_fs_store_opaque_acl2()
1963 if (!call) in yfs_fs_store_opaque_acl2()
1967 bp = call->request; in yfs_fs_store_opaque_acl2()
1976 yfs_check_req(call, bp); in yfs_fs_store_opaque_acl2()
1978 call->fid = vp->fid; in yfs_fs_store_opaque_acl2()
1979 trace_afs_make_fs_call(call, &vp->fid); in yfs_fs_store_opaque_acl2()
1980 afs_make_op_call(op, call, GFP_KERNEL); in yfs_fs_store_opaque_acl2()