qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] [Qemu-devel] [PATCH 5/5] block: Move request_alignment


From: Kevin Wolf
Subject: Re: [Qemu-block] [Qemu-devel] [PATCH 5/5] block: Move request_alignment into BlockLimit
Date: Tue, 7 Jun 2016 13:24:38 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

Am 07.06.2016 um 13:04 hat Paolo Bonzini geschrieben:
> On 07/06/2016 12:08, Kevin Wolf wrote:
> >>> > > Something in this patch is causing qemu-iotests 77 to infloop; we may
> >>> > > decide it is just easier to drop this patch rather than find all the
> >>> > > places where the request_alignment must be preserved across what
> >>> > > otherwise zeroes out limits.
> >> > 
> >> > Found it; squash this in (or use it as an argument why we don't want
> >> > request_alignment in bs->bl after all):
> > This hunk doesn't make sense to me. For the correctness of the code it
> > shouldn't make a difference whether the alignment happens before passing
> > the request to file/raw-posix or already in the raw format layer.
> > 
> > The cause for the hang you're seeing is probably that the request is
> > already aligned before the blkdebug layer and therefore the blkdebug
> > events aren't generated any more. That's a problem with the test (I'm
> > considering the blkdebug events part of the test infrastructure),
> > however, and not with the code.
> 
> Perhaps you could add an alignment option to blkdebug (or in general
> options to force block limits on blkdebug), which would help testing in
> general?

It exists and is exactly what this test uses.

The problem is just that the raw format driver inherits the alignment,
so the RMW cycle that we want to test with blkdebug breakpoints happens
too early and the blkdebug layer (more precisely, the block/io.c
functions for the blkdebug BDS before they call into the driver) already
sees aligned requests and we don't get the events any more that the test
is looking for.

Kevin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]