On Wed, Aug 04, 2010 at 01:57:37PM +0900, Kiyoshi Ueda wrote: > > - if (unlikely(dm_rq_is_flush_request(rq))) { > > + if (rq->cmd_flags & REQ_FLUSH) { > > BUG_ON(md->flush_request); > > md->flush_request = rq; > > blk_start_request(rq); > > Current request-based device-mapper's flush code depends on > the block-layer's barrier behavior which dispatches only one request > at a time when flush is needed. > In other words, current request-based device-mapper can't handle > other requests while a flush request is in progress. > > I'll take a look how I can fix the request-based device-mapper to > cope with it. I think it'll take time for carefull investigation. Given that request based device mapper doesn't even look at the block numbers from what I can see just removing any special casing for REQ_FLUSH should probably do it. -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel