[lkml]   [2011]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 1/2] blk-flush: move the queue kick into blk_insert_cloned_request
On Wed, Oct 12, 2011 at 05:22:41PM -0400, Jeff Moyer wrote:
> A dm-multipath user reported[1] a problem when trying to boot
> a kernel with commit 4853abaae7e4a2af938115ce9071ef8684fb7af4
> (block: fix flush machinery for stacking drivers with differring
> flush flags) applied. It turns out that an empty flush request
> can be sent into blk_insert_flush. When the BUG_ON was fixed
> to allow for this, I/O on the underlying device would stall. The
> reason is that blk_insert_cloned_request does not kick the queue.
> In the aforementioned commit, I had added a special case to
> kick the queue if data was sent down but the queue flags did
> not require a flush. A better solution is to push the queue
> kick up into blk_insert_cloned_request.
> This patch, along with a follow-on which fixes the BUG_ON, fixes
> the issue reported.
> [1]
> Reported-by: Christophe Saout <>
> Signed-off-by: Jeff Moyer <>

Acked-by: Tejun Heo <>

Thank you for fixing this, but one curiosity, what happens for !flush
cloned requests? Is someone else responsible for kicking the queue?


 \ /
  Last update: 2011-10-13 00:19    [W:0.053 / U:2.944 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site