Re: [PATCH 8/9] dm: Fix two race conditions related to stopping and starting queues

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux