On Fri, Mar 25, 2022, 9:40 AM Hanna Reitz <hre...@redhat.com> wrote:

> On 24.03.22 19:30, John Snow wrote:
> > Without this change, asserting that qemu_io always returns 0 causes this
> > test to fail in a way we happened not to be catching previously:
> >
> >   qemu.utils.VerboseProcessError: Command
> >    '('/home/jsnow/src/qemu/bin/git/tests/qemu-iotests/../../qemu-io',
> >    '--cache', 'writeback', '--aio', 'threads', '-f', 'qcow2', '-c',
> >    'read -P 4 3M 1M',
> >    '/home/jsnow/src/qemu/bin/git/tests/qemu-iotests/scratch/3.img')'
> >    returned non-zero exit status 1.
> >    ┏━ output ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
> >    ┃ qemu-io: can't open device
> >    ┃ /home/jsnow/src/qemu/bin/git/tests/qemu-iotests/scratch/3.img:
> >    ┃ Could not open backing file: Could not open backing file: Throttle
> >    ┃ group 'tg' does not exist
> >    ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
> >
> > Explicitly provide the backing file so that opening the file outside of
> > QEMU (Where we will not have throttle groups) will succeed.
> >
> > [Patch entirely written by Hanna but I don't have her S-o-B]
>
> Er, well, not sure if this even meets the necessary threshold of
> originality, so a Proposed-by would’ve been fine.
>

I have a dogmatic devotion to crediting others. You diagnosed and fixed the
problem, not me!

(I realize it's a small thing, but still. I can't bring myself to put my
name on something that isn't mine, even if it's tiny.)


> Anyway, here you go:
>
> Signed-off-by: Hanna Reitz <hre...@redhat.com>
>
> > [My commit message is probably also garbage, sorry]
>
> I don’t find it too bad, but a paragraph describing the actual problem
> might improve it.  E.g. (below the exception output):
>
> The commit jobs changes the backing file string stored in the image file
> header belonging to the node above the commit’s top node to point to the
> commit target (the base node).  QEMU tries to be as accurate as
> possible, and so in these test cases will include the filter that is
> part of the block graph in that backing file string (by virtue of making
> it a json:{} description of the post-commit subgraph).  This makes
> little sense outside of QEMU, though: Specifically, the throttle node in
> that subgraph will dearly miss its supposedly associated throttle group
> object.
>
> When starting the commit job, we can specify a custom backing file
> string to write into said image file, so let’s use that feature to write
> the plain filename of the backing chain’s next actual image file there.
>

Thanks :3


> > [Feel free to suggest a better one]
> > [I hope your day is going well]
>
> Fridays tend to be on the better side of days.
>
> Hanna
>

Up there in my top three kinds of days.


> > Signed-off-by: John Snow <js...@redhat.com>
> >
> > Signed-off-by: John Snow <js...@redhat.com>
> > ---
> >   tests/qemu-iotests/040 | 6 ++++--
> >   1 file changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/tests/qemu-iotests/040 b/tests/qemu-iotests/040
> > index c4a90937dc..30eb97829e 100755
> > --- a/tests/qemu-iotests/040
> > +++ b/tests/qemu-iotests/040
> > @@ -836,7 +836,8 @@ class TestCommitWithFilters(iotests.QMPTestCase):
> >                                job_id='commit',
> >                                device='top-filter',
> >                                top_node='cow-2',
> > -                             base_node='cow-1')
> > +                             base_node='cow-1',
> > +                             backing_file=self.img1)
> >           self.assert_qmp(result, 'return', {})
> >           self.wait_until_completed(drive='commit')
> >
> > @@ -852,7 +853,8 @@ class TestCommitWithFilters(iotests.QMPTestCase):
> >                                job_id='commit',
> >                                device='top-filter',
> >                                top_node='cow-1',
> > -                             base_node='cow-0')
> > +                             base_node='cow-0',
> > +                             backing_file=self.img0)
> >           self.assert_qmp(result, 'return', {})
> >           self.wait_until_completed(drive='commit')
> >
>
>

Reply via email to