On Thu, Sep 01 2016 at 11:31am -0400, Bart Van Assche <bart.vanassche@xxxxxxxxxxx> wrote: > On 09/01/2016 08:05 AM, Mike Snitzer wrote: > >I've staged most of your changes (with slight tweaks), see: > >https://git.kernel.org/cgit/linux/kernel/git/device-mapper/linux-dm.git/log/?h=dm-4.9 > > > >Only remaining issue is the queue dying race(s) in dm-multipath. > > Thanks Mike! Two minor comments though: > * In dm_start_queue(), I think that the queue_flag_clear_unlocked() > call should be converted into queue_flag_clear() and that it should > be protected by the block layer queue lock. Every call of > queue_flag_clear_unlocked() after block device initialization has > finished is wrong if blk_cleanup_queue() can be called concurrently. OK, I'll have a look. > * I think that adding blk_mq_{freeze,unfreeze}_queue() calls in > dm_stop_queue() not only allows to remove the "queue stopped" test > from dm_mq_queue_rq() but also that it allows to remove that test > from dm_mq_requeue_request(). I'm aware you think that but I need to circle back to dm_mq_requeue_request() vs blk_queue_stopped(). The code as is isn't a problem, just might be an extra check that isn't needed any more. -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel