blk-mq: Drop explicit timeout sync in hotplug
authorGabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Mon, 28 Nov 2016 17:01:48 +0000 (15:01 -0200)
committerJens Axboe <axboe@fb.com>
Tue, 29 Nov 2016 15:01:08 +0000 (08:01 -0700)
After commit 287922eb0b18 ("block: defer timeouts to a workqueue"),
deleting the timeout work after freezing the queue shouldn't be
necessary, since the synchronization is already enforced by the
acquisition of a q_usage_counter reference in blk_mq_timeout_work.

Signed-off-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Reviewed-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-mq.c

index 9d4a1d630d0b8b80138d72b8b143d06dd0d1b3f1..bac12caece0664fa0c690a33fa35c60ca83e039d 100644 (file)
@@ -2220,16 +2220,9 @@ static void blk_mq_queue_reinit_work(void)
         */
        list_for_each_entry(q, &all_q_list, all_q_node)
                blk_mq_freeze_queue_start(q);
-       list_for_each_entry(q, &all_q_list, all_q_node) {
+       list_for_each_entry(q, &all_q_list, all_q_node)
                blk_mq_freeze_queue_wait(q);
 
-               /*
-                * timeout handler can't touch hw queue during the
-                * reinitialization
-                */
-               del_timer_sync(&q->timeout);
-       }
-
        list_for_each_entry(q, &all_q_list, all_q_node)
                blk_mq_queue_reinit(q, &cpuhp_online_new);