Lines Matching defs:call

67 	AFS_CALL_CL_PROC_REPLY,		/* Client: rxrpc call complete; processing reply */
95 * a record of an in-progress RxRPC call
98 const struct afs_call_type *type; /* type of call */
103 struct rxrpc_call *rxcall; /* RxRPC call handle */
104 struct key *key; /* security for this call */
137 bool drop_ref; /* T if need to drop ref for incoming call */
145 u32 operation_ID; /* operation ID for an incoming call */
161 /* deliver request or reply data to an call
162 * - returning an error will cause the call to be aborted
164 int (*deliver)(struct afs_call *call);
166 /* clean up a call */
167 void (*destructor)(struct afs_call *call);
173 void (*done)(struct afs_call *call);
770 afs_dataversion_t dv_before; /* Data version before the call */
771 unsigned int cb_break_before; /* cb_break + cb_s_break before the call */
789 const struct afs_call_type *type; /* Type of call done */
854 struct afs_call *call;
1287 static inline void afs_make_op_call(struct afs_operation *op, struct afs_call *call,
1290 op->call = call;
1291 op->type = call->type;
1292 call->op = op;
1293 call->key = op->key;
1294 call->intr = !(op->flags & AFS_OPERATION_UNINTR);
1295 afs_make_call(&op->ac, call, gfp);
1298 static inline void afs_extract_begin(struct afs_call *call, void *buf, size_t size)
1300 call->iov_len = size;
1301 call->kvec[0].iov_base = buf;
1302 call->kvec[0].iov_len = size;
1303 iov_iter_kvec(&call->def_iter, ITER_DEST, call->kvec, 1, size);
1306 static inline void afs_extract_to_tmp(struct afs_call *call)
1308 call->iov_len = sizeof(call->tmp);
1309 afs_extract_begin(call, &call->tmp, sizeof(call->tmp));
1312 static inline void afs_extract_to_tmp64(struct afs_call *call)
1314 call->iov_len = sizeof(call->tmp64);
1315 afs_extract_begin(call, &call->tmp64, sizeof(call->tmp64));
1318 static inline void afs_extract_discard(struct afs_call *call, size_t size)
1320 call->iov_len = size;
1321 iov_iter_discard(&call->def_iter, ITER_DEST, size);
1324 static inline void afs_extract_to_buf(struct afs_call *call, size_t size)
1326 call->iov_len = size;
1327 afs_extract_begin(call, call->buffer, size);
1330 static inline int afs_transfer_reply(struct afs_call *call)
1332 return afs_extract_data(call, false);
1335 static inline bool afs_check_call_state(struct afs_call *call,
1338 return READ_ONCE(call->state) == state;
1341 static inline bool afs_set_call_state(struct afs_call *call,
1347 spin_lock_bh(&call->state_lock);
1348 if (call->state == from) {
1349 call->state = to;
1350 trace_afs_call_state(call, from, to, 0, 0);
1353 spin_unlock_bh(&call->state_lock);
1357 static inline void afs_set_call_complete(struct afs_call *call,
1363 spin_lock_bh(&call->state_lock);
1364 state = call->state;
1366 call->abort_code = remote_abort;
1367 call->error = error;
1368 call->state = AFS_CALL_COMPLETE;
1369 trace_afs_call_state(call, state, AFS_CALL_COMPLETE,
1373 spin_unlock_bh(&call->state_lock);
1375 trace_afs_call_done(call);
1379 * call because the work item may be queued again.
1381 if (call->drop_ref)
1382 afs_put_call(call);
1633 static inline int afs_io_error(struct afs_call *call, enum afs_io_error where)
1635 trace_afs_io_error(call->debug_id, -EIO, where);