On 09/26/2016 08:26 PM, Bart Van Assche wrote: > Ensure that all ongoing dm_mq_queue_rq() and dm_mq_requeue_request() > calls have stopped before setting the "queue stopped" flag. This > allows to remove the "queue stopped" test from dm_mq_queue_rq() and > dm_mq_requeue_request(). This patch fixes a race condition because > dm_mq_queue_rq() is called without holding the queue lock and hence > BLK_MQ_S_STOPPED can be set at any time while dm_mq_queue_rq() is > in progress. > > Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> > Cc: Mike Snitzer <snitzer@xxxxxxxxxx> > --- > drivers/md/dm-rq.c | 14 +++----------- > 1 file changed, 3 insertions(+), 11 deletions(-) > Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Cheers, Hannes -- Dr. Hannes Reinecke Teamlead Storage & Networking hare@xxxxxxx +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB 21284 (AG Nürnberg) -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html