]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - net/sunrpc/sched.c
nfc: add missing attribute validation for deactivate target
[linux.git] / net / sunrpc / sched.c
index 360afe153193c8b37563a8676505a8ef04f8cc9b..55e900255b0c27c77df116accb12e82cf11d7c84 100644 (file)
@@ -260,7 +260,7 @@ static void __rpc_init_priority_wait_queue(struct rpc_wait_queue *queue, const c
        rpc_reset_waitqueue_priority(queue);
        queue->qlen = 0;
        queue->timer_list.expires = 0;
-       INIT_DEFERRABLE_WORK(&queue->timer_list.dwork, __rpc_queue_timer_fn);
+       INIT_DELAYED_WORK(&queue->timer_list.dwork, __rpc_queue_timer_fn);
        INIT_LIST_HEAD(&queue->timer_list.list);
        rpc_assign_waitqueue_name(queue, qname);
 }
@@ -824,6 +824,7 @@ rpc_reset_task_statistics(struct rpc_task *task)
  */
 void rpc_exit_task(struct rpc_task *task)
 {
+       trace_rpc_task_end(task, task->tk_action);
        task->tk_action = NULL;
        if (task->tk_ops->rpc_count_stats)
                task->tk_ops->rpc_count_stats(task, task->tk_calldata);
@@ -845,6 +846,8 @@ void rpc_signal_task(struct rpc_task *task)
 
        if (!RPC_IS_ACTIVATED(task))
                return;
+
+       trace_rpc_task_signalled(task, task->tk_action);
        set_bit(RPC_TASK_SIGNALLED, &task->tk_runstate);
        smp_mb__after_atomic();
        queue = READ_ONCE(task->tk_waitqueue);
@@ -948,7 +951,7 @@ static void __rpc_execute(struct rpc_task *task)
                         * clean up after sleeping on some queue, we don't
                         * break the loop here, but go around once more.
                         */
-                       dprintk("RPC: %5u got signal\n", task->tk_pid);
+                       trace_rpc_task_signalled(task, task->tk_action);
                        set_bit(RPC_TASK_SIGNALLED, &task->tk_runstate);
                        task->tk_rpc_status = -ERESTARTSYS;
                        rpc_exit(task, -ERESTARTSYS);