qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Kevin Wolf <kwolf@redhat.com>
To: Fam Zheng <famz@redhat.com>
Cc: qemu-devel@nongnu.org, eblake@redhat.com,
	Max Reitz <mreitz@redhat.com>,
	qemu-block@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v16 21/22] qemu-iotests: Add test case 153 for image locking
Date: Tue, 2 May 2017 16:59:36 +0200	[thread overview]
Message-ID: <20170502145936.GF5805@noname.redhat.com> (raw)
In-Reply-To: <20170502081832.9546-22-famz@redhat.com>

Am 02.05.2017 um 10:18 hat Fam Zheng geschrieben:
> Signed-off-by: Fam Zheng <famz@redhat.com>
> ---
>  tests/qemu-iotests/153     | 247 ++++++++++++++++++++++++++++
>  tests/qemu-iotests/153.out | 390 +++++++++++++++++++++++++++++++++++++++++++++
>  tests/qemu-iotests/group   |   1 +
>  3 files changed, 638 insertions(+)
>  create mode 100755 tests/qemu-iotests/153
>  create mode 100644 tests/qemu-iotests/153.out
> 
> diff --git a/tests/qemu-iotests/153 b/tests/qemu-iotests/153
> new file mode 100755
> index 0000000..ed90f12
> --- /dev/null
> +++ b/tests/qemu-iotests/153
> @@ -0,0 +1,247 @@
> +#!/bin/bash
> +#
> +# Test image locking
> +#
> +# Copyright 2016, 2017 Red Hat, Inc.
> +#
> +# This program is free software; you can redistribute it and/or modify
> +# it under the terms of the GNU General Public License as published by
> +# the Free Software Foundation; either version 2 of the License, or
> +# (at your option) any later version.
> +#
> +# This program is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program.  If not, see <http://www.gnu.org/licenses/>.
> +#
> +
> +# creator
> +owner=famz@redhat.com
> +
> +seq="$(basename $0)"
> +echo "QA output created by $seq"
> +
> +here="$PWD"
> +tmp=/tmp/$$
> +status=1	# failure is the default!
> +
> +_cleanup()
> +{
> +    _cleanup_test_img
> +    rm -f "${TEST_IMG}.base"
> +    rm -f "${TEST_IMG}.convert"
> +    rm -f "${TEST_IMG}.a"
> +    rm -f "${TEST_IMG}.b"
> +    rm -f "${TEST_IMG}.lnk"
> +}
> +trap "_cleanup; exit \$status" 0 1 2 3 15
> +
> +# get standard environment, filters and checks
> +. ./common.rc
> +. ./common.filter
> +. ./common.qemu
> +
> +_check_ofd()
> +{
> +    local test_source="${TEST_DIR}/ofd-test.c"
> +    local test_binary="${TEST_DIR}/ofd-test"
> +    cat > "$test_source" <<EOF
> +#define _GNU_SOURCE
> +#include <unistd.h>
> +#include <fcntl.h>
> +#include <stdio.h>
> +
> +int main(int argc, char *argv[])
> +{
> +    int fd = open(argv[0], O_RDONLY);
> +    struct flock fl = {
> +        .l_whence = SEEK_SET,
> +        .l_start  = 0,
> +        .l_len    = 1,
> +        .l_type   = F_RDLCK,
> +    };
> +    return !(fd >= 0 && fcntl(fd, F_OFD_SETLK, &fl) == 0);
> +}
> +EOF
> +    cc "$test_source" -o "$test_binary" 2>&1 && "$test_binary"
> +}

Hm. Not sure I like this. It requires that a compiler is even installed
on the test machine, it doesn't respect which compiler was selected in
configure, and if the libc version on test machine doesn't match the
build machine of the qemu binaries, it might not even give the right
result.

Wouldn't it be much easier to just start qemu-io with locking=on and
grep for the warning?

Kevin

  reply	other threads:[~2017-05-02 14:59 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-02  8:18 [Qemu-devel] [PATCH v16 00/22] block: Image locking series Fam Zheng
2017-05-02  8:18 ` [Qemu-devel] [PATCH v16 01/22] block: Make bdrv_perm_names public Fam Zheng
2017-05-02  8:18 ` [Qemu-devel] [PATCH v16 02/22] block: Add, parse and store "force-share" option Fam Zheng
2017-05-02  8:18 ` [Qemu-devel] [PATCH v16 03/22] block: Respect "force-share" in perm propagating Fam Zheng
2017-05-02  8:18 ` [Qemu-devel] [PATCH v16 04/22] qemu-img: Add --force-share option to subcommands Fam Zheng
2017-05-02  8:18 ` [Qemu-devel] [PATCH v16 05/22] qemu-img: Update documentation for -U Fam Zheng
2017-05-02 14:04   ` Kevin Wolf
2017-05-02  8:18 ` [Qemu-devel] [PATCH v16 06/22] qemu-io: Add --force-share option Fam Zheng
2017-05-02  8:18 ` [Qemu-devel] [PATCH v16 07/22] iotests: 030: Prepare for image locking Fam Zheng
2017-05-02  8:18 ` [Qemu-devel] [PATCH v16 08/22] iotests: 046: " Fam Zheng
2017-05-02  8:18 ` [Qemu-devel] [PATCH v16 09/22] iotests: 055: Don't attach the target image already for drive-backup Fam Zheng
2017-05-02  8:18 ` [Qemu-devel] [PATCH v16 10/22] iotests: 085: Avoid image locking conflict Fam Zheng
2017-05-02  8:18 ` [Qemu-devel] [PATCH v16 11/22] iotests: 087: Don't attach test image twice Fam Zheng
2017-05-02  8:18 ` [Qemu-devel] [PATCH v16 12/22] iotests: 091: Quit QEMU before checking image Fam Zheng
2017-05-02  8:18 ` [Qemu-devel] [PATCH v16 13/22] iotests: 172: Use separate images for multiple devices Fam Zheng
2017-05-02  8:18 ` [Qemu-devel] [PATCH v16 14/22] tests: Use null-co:// instead of /dev/null as the dummy image Fam Zheng
2017-05-02  8:18 ` [Qemu-devel] [PATCH v16 15/22] file-posix: Add 'locking' option Fam Zheng
2017-05-02 14:15   ` Kevin Wolf
2017-05-02 15:49     ` Fam Zheng
2017-05-02  8:18 ` [Qemu-devel] [PATCH v16 16/22] tests: Disable image lock in test-replication Fam Zheng
2017-05-04  9:10   ` 谢昌龙
2017-05-02  8:18 ` [Qemu-devel] [PATCH v16 17/22] block: Reuse bs as backing hd for drive-backup sync=none Fam Zheng
2017-05-02 14:21   ` Kevin Wolf
2017-05-02  8:18 ` [Qemu-devel] [PATCH v16 18/22] osdep: Add qemu_lock_fd and qemu_unlock_fd Fam Zheng
2017-05-02  8:18 ` [Qemu-devel] [PATCH v16 19/22] osdep: Fall back to posix lock when OFD lock is unavailable Fam Zheng
2017-05-02  8:18 ` [Qemu-devel] [PATCH v16 20/22] file-posix: Add image locking to perm operations Fam Zheng
2017-05-02  8:18 ` [Qemu-devel] [PATCH v16 21/22] qemu-iotests: Add test case 153 for image locking Fam Zheng
2017-05-02 14:59   ` Kevin Wolf [this message]
2017-05-02 15:49     ` Fam Zheng
2017-05-02  8:18 ` [Qemu-devel] [PATCH v16 22/22] tests: Add POSIX image locking test case 182 Fam Zheng
2017-05-02 14:06 ` [Qemu-devel] [PATCH v16 00/22] block: Image locking series Kevin Wolf
2017-05-02 15:04 ` Kevin Wolf

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=20170502145936.GF5805@noname.redhat.com \
    --to=kwolf@redhat.com \
    --cc=eblake@redhat.com \
    --cc=famz@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).