diff for duplicates of <1489793173.2826.23.camel@sandisk.com> diff --git a/a/1.txt b/N1/1.txt index 85e7e19..ea9696e 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -2,7 +2,7 @@ On Fri, 2017-03-17 at 17:57 +0800, Ming Lei wrote: > Given blk_set_queue_dying() is always called in remove path > of block device, and queue will be cleaned up later, we don't > need to worry about undoing the counter. ->=20 +> > diff --git a/block/blk-core.c b/block/blk-core.c > index d772c221cc17..62d4967c369f 100644 > --- a/block/blk-core.c @@ -10,7 +10,7 @@ On Fri, 2017-03-17 at 17:57 +0800, Ming Lei wrote: > @@ -500,9 +500,12 @@ void blk_set_queue_dying(struct request_queue *q) > queue_flag_set(QUEUE_FLAG_DYING, q); > spin_unlock_irq(q->queue_lock); -> =20 +> > - if (q->mq_ops) > + if (q->mq_ops) { > blk_mq_wake_waiters(q); @@ -20,15 +20,13 @@ On Fri, 2017-03-17 at 17:57 +0800, Ming Lei wrote: > + blk_mq_freeze_queue_start(q); > + } else { > struct request_list *rl; -> =20 +> > spin_lock_irq(q->queue_lock); Hello Ming, -The blk_freeze_queue() call in blk_cleanup_queue() waits until q_usage_coun= -ter -drops to zero. Since the above blk_mq_freeze_queue_start() call increases t= -hat +The blk_freeze_queue() call in blk_cleanup_queue() waits until q_usage_counter +drops to zero. Since the above blk_mq_freeze_queue_start() call increases that counter by one, how is blk_freeze_queue() expected to finish ever? -Bart.= +Bart. diff --git a/a/content_digest b/N1/content_digest index ae28e83..74403b8 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -16,7 +16,7 @@ "> Given blk_set_queue_dying() is always called in remove path\n" "> of block device, and queue will be cleaned up later, we don't\n" "> need to worry about undoing the counter.\n" - ">=20\n" + "> \n" "> diff --git a/block/blk-core.c b/block/blk-core.c\n" "> index d772c221cc17..62d4967c369f 100644\n" "> --- a/block/blk-core.c\n" @@ -24,7 +24,7 @@ "> @@ -500,9 +500,12 @@ void blk_set_queue_dying(struct request_queue *q)\n" "> \tqueue_flag_set(QUEUE_FLAG_DYING, q);\n" "> \tspin_unlock_irq(q->queue_lock);\n" - "> =20\n" + "> \n" "> -\tif (q->mq_ops)\n" "> +\tif (q->mq_ops) {\n" "> \t\tblk_mq_wake_waiters(q);\n" @@ -34,17 +34,15 @@ "> +\t\tblk_mq_freeze_queue_start(q);\n" "> +\t} else {\n" "> \t\tstruct request_list *rl;\n" - "> =20\n" + "> \n" "> \t\tspin_lock_irq(q->queue_lock);\n" "\n" "Hello Ming,\n" "\n" - "The blk_freeze_queue() call in blk_cleanup_queue() waits until q_usage_coun=\n" - "ter\n" - "drops to zero. Since the above blk_mq_freeze_queue_start() call increases t=\n" - "hat\n" + "The blk_freeze_queue() call in blk_cleanup_queue() waits until q_usage_counter\n" + "drops to zero. Since the above blk_mq_freeze_queue_start() call increases that\n" "counter by one, how is blk_freeze_queue() expected to finish ever?\n" "\n" - Bart.= + Bart. -f29144bd7387cd8344655eb945600bace8a3b2294181fc55e5428df802ad2d01 +eb241ad29caff7437768e4316d55337caa7b1533ffe1412ed91272efefae6418
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.