static int local_handle(struct ptlrpc_request *req, svc_handler_t handler)
{
int rc = 0;
- unsigned long flags;
ENTRY;
req->rq_export = class_conn2export(&req->rq_reqmsg->handle);
rc = handler(req);
- spin_lock_irqsave(&req->rq_lock, flags);
memset(req->rq_ack_locks, 0, sizeof(req->rq_ack_locks));
if (req->rq_bulk)
req->rq_bulk->bd_complete = 1;
req->rq_repmsg->opc = req->rq_reqmsg->opc;
req->rq_receiving_reply = 0;
req->rq_replied = 1;
- spin_unlock_irqrestore(&req->rq_lock, flags);
out_putconn:
ptlrpc_put_connection(req->rq_connection);
int local_send_rpc(struct ptlrpc_request *req)
{
int rc;
- unsigned long flags;
struct obd_ucred ucred;
void *journal_info;
struct client_obd *cli = &req->rq_import->imp_obd->u.cli;
req->rq_reqmsg->handle = req->rq_import->imp_remote_handle;
req->rq_reqmsg->conn_cnt = req->rq_import->imp_conn_cnt;
- spin_lock_irqsave (&req->rq_lock, flags);
req->rq_receiving_reply = 1;
req->rq_replied = 0;
req->rq_err = 0;
req->rq_timedout = 0;
req->rq_resend = 0;
req->rq_restart = 0;
- spin_unlock_irqrestore (&req->rq_lock, flags);
req->rq_sent = LTIME_S(CURRENT_TIME);
ptlrpc_pinger_sending_on_import(req->rq_import);
int local_reply(struct ptlrpc_request *req)
{
- unsigned long flags;
ENTRY;
switch (req->rq_type) {
req->rq_type = PTL_LOCAL_MSG_REPLY;
case PTL_LOCAL_MSG_REPLY:
case PTL_LOCAL_MSG_ERR:
- spin_lock_irqsave(&req->rq_lock, flags);
req->rq_want_ack = 0;
- spin_unlock_irqrestore(&req->rq_lock, flags);
break;
default:
LBUG();
struct list_head *src, *dst;
char *src_addr, *dst_addr;
int len, i;
- unsigned long flags;
ENTRY;
if (desc->bd_type == BULK_GET_SINK) {
dst = dst->next;
}
done:
- spin_lock_irqsave(&desc->bd_lock, flags);
desc->bd_network_rw = 0;
desc->bd_complete = 1;
- spin_unlock_irqrestore(&desc->bd_lock, flags);
RETURN(0);