On Fri, 2017-03-24 at 20:36 +0800, Ming Lei wrote: 
> +     /* block new I/O coming */
> +     blk_freeze_queue_start(q);

As I have already mentioned two times, the comment above
blk_freeze_queue_start() should be made more clear. It should mention that
without that call blk_queue_enter() won't check the "dying" flag after it
has been set. If that is not mentioned in a comment the next person who
reads the blk_set_queue_dying() function will wonder why the
blk_freeze_queue_start() call is really needed and whether it can be removed.

>               /*
>                * read pair of barrier in blk_freeze_queue_start(),
>                * we need to order reading DEAD flag of .q_usage_counter
> -              * and reading .mq_freeze_depth, otherwise the following
> -              * wait may never return if the two read are reordered.
> +              * and reading .mq_freeze_depth or dying flag, otherwise
> +              * the following wait may never return if the two read
> +              * are reordered.
>                */
>               smp_rmb();

Please fix the spelling in the above comment ("two read").

Thanks,

Bart.

Reply via email to