All of lore.kernel.org
 help / color / mirror / Atom feed
From: Max Reitz <mreitz@redhat.com>
To: Fam Zheng <famz@redhat.com>, qemu-devel@nongnu.org
Cc: "Daniel P. Berrange" <berrange@redhat.com>,
	qemu-block@nongnu.org, eblake@redhat.com,
	Kevin Wolf <kwolf@redhat.com>,
	rjones@redhat.com
Subject: Re: [Qemu-devel] [PATCH v12 09/16] iotests: 085: Avoid image locking conflict
Date: Wed, 8 Feb 2017 01:25:07 +0100	[thread overview]
Message-ID: <0b51c7b4-92a3-bfd2-f83b-ed5776ad7e25@redhat.com> (raw)
In-Reply-To: <20170123123056.30383-10-famz@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 3495 bytes --]

On 23.01.2017 13:30, Fam Zheng wrote:
> In the case where we test the expected error when a blockdev-snapshot
> target already has a backing image, backing chain is opened multiple

*the backing chain

> times. This will be a problem when we use image locking, so use a
> different backing file that is not already open.
> 
> Signed-off-by: Fam Zheng <famz@redhat.com>
> ---
>  tests/qemu-iotests/085     | 32 +++++++++++++++++++-------------
>  tests/qemu-iotests/085.out |  3 ++-
>  2 files changed, 21 insertions(+), 14 deletions(-)
> 
> diff --git a/tests/qemu-iotests/085 b/tests/qemu-iotests/085
> index c53e97f..c91d78d 100755
> --- a/tests/qemu-iotests/085
> +++ b/tests/qemu-iotests/085
> @@ -87,24 +87,26 @@ function create_group_snapshot()
>  }
>  
>  # ${1}: unique identifier for the snapshot filename
> -# ${2}: true: open backing images; false: don't open them (default)
> +# ${2}: extra_params to the blockdev-add command
> +# ${3}: filename
> +function do_blockdev_add()
> +{
> +    cmd="{ 'execute': 'blockdev-add', 'arguments':
> +           { 'driver': 'qcow2', 'node-name': 'snap_${1}', ${2}
> +             'file':
> +             { 'driver': 'file', 'filename': '${3}',
> +               'node-name': 'file_${1}' } } }"
> +    _send_qemu_cmd $h "${cmd}" "return"
> +}
> +
> +# ${1}: unique identifier for the snapshot filename
>  function add_snapshot_image()
>  {
> -    if [ "${2}" = "true" ]; then
> -        extra_params=""
> -    else
> -        extra_params="'backing': '', "
> -    fi
>      base_image="${TEST_DIR}/$((${1}-1))-${snapshot_virt0}"
>      snapshot_file="${TEST_DIR}/${1}-${snapshot_virt0}"
>      _make_test_img -b "${base_image}" "$size"
>      mv "${TEST_IMG}" "${snapshot_file}"
> -    cmd="{ 'execute': 'blockdev-add', 'arguments':
> -           { 'driver': 'qcow2', 'node-name': 'snap_${1}', ${extra_params}
> -             'file':
> -             { 'driver': 'file', 'filename': '${snapshot_file}',
> -               'node-name': 'file_${1}' } } }"
> -    _send_qemu_cmd $h "${cmd}" "return"
> +    do_blockdev_add "$1" "'backing': '', " "${snapshot_file}"
>  }
>  
>  # ${1}: unique identifier for the snapshot filename
> @@ -222,7 +224,11 @@ echo === Invalid command - snapshot node has a backing image ===
>  echo
>  
>  SNAPSHOTS=$((${SNAPSHOTS}+1))
> -add_snapshot_image ${SNAPSHOTS} true
> +
> +_make_test_img "$size"
> +mv "${TEST_IMG}" "${TEST_IMG}.base"
> +_make_test_img -b "${TEST_IMG}.base" "$size"
> +do_blockdev_add ${SNAPSHOTS} "" "${TEST_IMG}"

These files ($TEST_IMG and ${TEST_IMG}.base) are not removed in _cleanup.

Looks good apart from that.

Max

>  blockdev_snapshot ${SNAPSHOTS} error
>  
>  echo
> diff --git a/tests/qemu-iotests/085.out b/tests/qemu-iotests/085.out
> index 08e4bb7..7bbf84d 100644
> --- a/tests/qemu-iotests/085.out
> +++ b/tests/qemu-iotests/085.out
> @@ -78,7 +78,8 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/
>  
>  === Invalid command - snapshot node has a backing image ===
>  
> -Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/12-snapshot-v0.IMGFMT
> +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728
> +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base
>  {"return": {}}
>  {"error": {"class": "GenericError", "desc": "The snapshot already has a backing image"}}
>  
> 



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 512 bytes --]

  reply	other threads:[~2017-02-08  0:25 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-23 12:30 [Qemu-devel] [PATCH v12 00/16] block: Image locking series Fam Zheng
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 01/16] osdep: Add qemu_lock_fd and qemu_unlock_fd Fam Zheng
2017-02-05 21:38   ` Max Reitz
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 02/16] block: Define BDRV_O_SHARE_RW Fam Zheng
2017-02-05 21:51   ` Max Reitz
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 03/16] qemu-io: Set "share-rw" flag together with read-only Fam Zheng
2017-02-05 21:52   ` Max Reitz
2017-02-06  4:52     ` Fam Zheng
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 04/16] qemu-img: Set "share-rw" flag in read-only commands Fam Zheng
2017-02-05 21:55   ` Max Reitz
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 05/16] block: Set "share-rw" flag in drive-backup when sync=none Fam Zheng
2017-02-05 21:57   ` Max Reitz
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 06/16] iotests: 055: Don't attach the drive to vm for drive-backup Fam Zheng
2017-02-08  0:06   ` Max Reitz
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 07/16] iotests: 030: Read-only open image for getting map Fam Zheng
2017-02-08  0:11   ` Max Reitz
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 08/16] iotests: 087: Don't attach test image twice Fam Zheng
2017-02-08  0:14   ` Max Reitz
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 09/16] iotests: 085: Avoid image locking conflict Fam Zheng
2017-02-08  0:25   ` Max Reitz [this message]
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 10/16] iotests: 091: Quit QEMU before checking image Fam Zheng
2017-02-08  0:32   ` Max Reitz
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 11/16] iotests: 172: Use separate images for multiple devices Fam Zheng
2017-02-08  0:43   ` Max Reitz
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 12/16] tests: Use null-co:// instead of /dev/null as the dummy image Fam Zheng
2017-02-08  0:45   ` Max Reitz
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 13/16] tests: Disable image lock in test-replication Fam Zheng
2017-02-08  0:56   ` Max Reitz
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 14/16] file-posix: Implement image locking Fam Zheng
2017-02-08  3:05   ` Max Reitz
2017-02-08  6:00     ` Fam Zheng
2017-02-08 13:18       ` Max Reitz
2017-02-08 13:40         ` Fam Zheng
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 15/16] qcow2: Force "no other writer" lock on bs->file Fam Zheng
2017-02-08 14:33   ` Max Reitz
2017-02-08 15:00     ` Fam Zheng
2017-01-23 12:30 ` [Qemu-devel] [PATCH v12 16/16] tests: Add test-image-lock Fam Zheng
2017-02-08 14:52   ` Max Reitz
2017-02-05 21:58 ` [Qemu-devel] [PATCH v12 00/16] block: Image locking series Max Reitz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0b51c7b4-92a3-bfd2-f83b-ed5776ad7e25@redhat.com \
    --to=mreitz@redhat.com \
    --cc=berrange@redhat.com \
    --cc=eblake@redhat.com \
    --cc=famz@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=rjones@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.