[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMM=eLe38AAU_ArP8poGqkKEs4H_P9yt4nGW_7+WADyys8NLhg@mail.gmail.com>
Date: Tue, 2 Aug 2011 14:40:37 -0400
From: Mike Snitzer <snitzer@...hat.com>
To: Vivek Goyal <vgoyal@...hat.com>
Cc: Jeff Moyer <jmoyer@...hat.com>, Shaohua Li <shli@...nel.org>,
linux-kernel@...r.kernel.org, Tejun Heo <tj@...nel.org>,
Jens Axboe <jaxboe@...ionio.com>
Subject: Re: [patch] blk-flush: fix flush policy calculation
On Tue, Aug 2, 2011 at 2:17 PM, Vivek Goyal <vgoyal@...hat.com> wrote:
> On Tue, Aug 02, 2011 at 01:39:46PM -0400, Jeff Moyer wrote:
>> So, where do we fix this? We could just accept Mike's patch to not send
>> such requests down from dm-mpath, but that seems short-sighted. We
>> could reinstate some checks in __elv_next_request. Or, we could put the
>> checks into blk_insert_cloned_request.
>>
>> Suggestions?
>
> IMHO, we should fix it at multiple places.
>
> - Your initial fix in blk_insert_flush makes sense. blk_insert_flush()
> is equivalent of blk_do_flush() so resetting REQ_FLUSH and REQ_FUA there
> makes sense to me.
Makes sense to me too.
> - Fixing blk_insert_cloned_request() also makes sense to me so that if
> a request is REQ_FLUSH or REQ_FUA set, we try to add it to underlying
> device using ELEVATOR_INSERT_FLUSH and not ELEVATOR_INSERT_BACK.
blk_insert_cloned_request is currently only used for request-based DM
(so just dm-mpath).
I don't see a problem with adding logic to it but in practice the DM
change to properly propagate underlying devices' flush_flags is going
to obviate the need (until the kernel grows another
blk_insert_cloned_request caller).
> - Fixing dm-multipath makes sense too as what's the point in dispatching
> unnecessary flush/fua requests to underlying devices if underlying
> queue does not have FLUSH capability.
To be clear: It isn't just a fix for dm-multipath. It fixes all DM
devices (both bio-based and request-based).
That change is already destined for 3.1 via Alasdair's recent DM pull request.
Mike
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists