Re: [PATCH V2 6/8] block: allow to allocate req with REQF_PREEMPT when queue is frozen

Ming Lei
2017-09-02T02:53:09Z

On Fri, Sep 01, 2017 at 08:07:04PM +0000, Bart Van Assche wrote:
> On Sat, 2017-09-02 at 02:49 +0800, Ming Lei wrote:
> > + if ((flags & BLK_MQ_REQ_PREEMPT) && blk_queue_is_freezing(q))
> > + blk_queue_enter_live(q);
> > + else
> > + ret = blk_queue_enter(q, !(gfp_mask & __GFP_DIRECT_RECLAIM));
>
> Why did you repost this patch series without trying to reach an agreement
> about the approach?
>
> Anyway, because of the unsafe blk_queue_enter_live() call introduced by this
> patch, please add the following to the description of this patch whenever you
> repost it:
>
> NAK-ed-by: Bart Van Assche <bart.vanassche@wdc.com>

Did you take a look at the patch 7 or cover letter? In that patch,
if preempt freezing is on-progressing, any other freeze can't be
started at all, so that is definitely safe to use blk_queue_enter_live()
here, isn't it?

--
Ming