nbd patches for 2018-11-19

Add iotest coverage for NBD connections using TLS, including
 a couple of code fixes that it pointed out
 
 - Mao Zhongyi: 0/3 Do some cleaning work in qemu-iotests
 - Daniel P. Berrangé: io: return 0 for EOF in TLS session read after shutdown
 - Daniel P. Berrangé: 0/6 Misc fixes to NBD
 - Eric Blake: iotests: Drop use of bash keyword 'function'
 -----BEGIN PGP SIGNATURE-----
 Comment: Public key at http://people.redhat.com/eblake/eblake.gpg
 
 iQEcBAABCAAGBQJb8vZEAAoJEKeha0olJ0NqaFoH/1tCmzPb/EqjaK+AtXvy5f62
 dpxWmZKweVBoWTxMMG23gK+0Xzeji5PBCfsuByZQNniJnEeXMSyMpK5rAgstSENd
 9kxVmGB3w/76StqIgvnYL3yS+uf30+U6TP0Zc+2Y1gi3oy+Y46OClQG7+mAMRMRf
 fD96zXwpjESvNQYlON1a7vyTeKFRo534zC/L5aLzD8z/4DGThKHtH1fnju1/samx
 y2Gak2agVGcXqV6J8kDMDRtaQ42RgILoUSoBFyMeX+rABjU3IWXhAnsYrisW74qN
 giqugyJE2NVJuQNPW/mg0wSKXEMCD5neL4ZQCfxzXyJtIvPsz52PjS+yXXIS0Xg=
 =B/uF
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/ericb/tags/pull-nbd-2018-11-19' into staging

nbd patches for 2018-11-19

Add iotest coverage for NBD connections using TLS, including
a couple of code fixes that it pointed out

- Mao Zhongyi: 0/3 Do some cleaning work in qemu-iotests
- Daniel P. Berrangé: io: return 0 for EOF in TLS session read after shutdown
- Daniel P. Berrangé: 0/6 Misc fixes to NBD
- Eric Blake: iotests: Drop use of bash keyword 'function'

# gpg: Signature made Mon 19 Nov 2018 17:43:32 GMT
# gpg:                using RSA key A7A16B4A2527436A
# gpg: Good signature from "Eric Blake <eblake@redhat.com>"
# gpg:                 aka "Eric Blake (Free Software Programmer) <ebb9@byu.net>"
# gpg:                 aka "[jpeg image of size 6874]"
# Primary key fingerprint: 71C2 CC22 B1C4 6029 27D2  F3AA A7A1 6B4A 2527 436A

* remotes/ericb/tags/pull-nbd-2018-11-19:
  iotests: Drop use of bash keyword 'function'
  iotests: Also test I/O over NBD TLS
  tests: exercise NBD server in TLS mode
  tests: add iotests helpers for dealing with TLS certificates
  tests: check if qemu-nbd is still alive before waiting
  tests: pull qemu-nbd iotest helpers into common.nbd file
  io: return 0 for EOF in TLS session read after shutdown
  nbd/server: Ignore write errors when replying to NBD_OPT_ABORT
  nbd: fix whitespace in server error message
  qemu-iotests: Modern shell scripting (use $() instead of ``)
  qemu-iotests: convert `pwd` and $(pwd) to $PWD
  qemu-iotests: remove unused variable 'here'

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2018-11-19 18:11:10 +00:00
commit 393aac1629
188 changed files with 542 additions and 333 deletions

2
configure vendored
View File

@ -878,7 +878,7 @@ Linux)
vhost_crypto="yes" vhost_crypto="yes"
vhost_scsi="yes" vhost_scsi="yes"
vhost_vsock="yes" vhost_vsock="yes"
QEMU_INCLUDES="-I\$(SRC_PATH)/linux-headers -I$(pwd)/linux-headers $QEMU_INCLUDES" QEMU_INCLUDES="-I\$(SRC_PATH)/linux-headers -I$PWD/linux-headers $QEMU_INCLUDES"
supported_os="yes" supported_os="yes"
libudev="yes" libudev="yes"
;; ;;

View File

@ -473,6 +473,9 @@ qcrypto_tls_session_read(QCryptoTLSSession *session,
case GNUTLS_E_INTERRUPTED: case GNUTLS_E_INTERRUPTED:
errno = EINTR; errno = EINTR;
break; break;
case GNUTLS_E_PREMATURE_TERMINATION:
errno = ECONNABORTED;
break;
default: default:
errno = EIO; errno = EIO;
break; break;

View File

@ -48,6 +48,7 @@ struct QIOChannelTLS {
QIOChannel parent; QIOChannel parent;
QIOChannel *master; QIOChannel *master;
QCryptoTLSSession *session; QCryptoTLSSession *session;
QIOChannelShutdown shutdown;
}; };
/** /**

View File

@ -51,9 +51,9 @@ enum QIOChannelFeature {
typedef enum QIOChannelShutdown QIOChannelShutdown; typedef enum QIOChannelShutdown QIOChannelShutdown;
enum QIOChannelShutdown { enum QIOChannelShutdown {
QIO_CHANNEL_SHUTDOWN_BOTH, QIO_CHANNEL_SHUTDOWN_READ = 1,
QIO_CHANNEL_SHUTDOWN_READ, QIO_CHANNEL_SHUTDOWN_WRITE = 2,
QIO_CHANNEL_SHUTDOWN_WRITE, QIO_CHANNEL_SHUTDOWN_BOTH = 3,
}; };
typedef gboolean (*QIOChannelFunc)(QIOChannel *ioc, typedef gboolean (*QIOChannelFunc)(QIOChannel *ioc,

View File

@ -275,6 +275,9 @@ static ssize_t qio_channel_tls_readv(QIOChannel *ioc,
} else { } else {
return QIO_CHANNEL_ERR_BLOCK; return QIO_CHANNEL_ERR_BLOCK;
} }
} else if (errno == ECONNABORTED &&
(tioc->shutdown & QIO_CHANNEL_SHUTDOWN_READ)) {
return 0;
} }
error_setg_errno(errp, errno, error_setg_errno(errp, errno,
@ -357,6 +360,8 @@ static int qio_channel_tls_shutdown(QIOChannel *ioc,
{ {
QIOChannelTLS *tioc = QIO_CHANNEL_TLS(ioc); QIOChannelTLS *tioc = QIO_CHANNEL_TLS(ioc);
tioc->shutdown |= how;
return qio_channel_shutdown(tioc->master, how, errp); return qio_channel_shutdown(tioc->master, how, errp);
} }

View File

@ -1134,12 +1134,16 @@ static int nbd_negotiate_options(NBDClient *client, uint16_t myflags,
return -EINVAL; return -EINVAL;
default: default:
ret = nbd_opt_drop(client, NBD_REP_ERR_TLS_REQD, errp,
"Option 0x%" PRIx32
"not permitted before TLS", option);
/* Let the client keep trying, unless they asked to /* Let the client keep trying, unless they asked to
* quit. In this mode, we've already sent an error, so * quit. Always try to give an error back to the
* we can't ack the abort. */ * client; but when replying to OPT_ABORT, be aware
* that the client may hang up before receiving the
* error, in which case we are fine ignoring the
* resulting EPIPE. */
ret = nbd_opt_drop(client, NBD_REP_ERR_TLS_REQD,
option == NBD_OPT_ABORT ? NULL : errp,
"Option 0x%" PRIx32
" not permitted before TLS", option);
if (option == NBD_OPT_ABORT) { if (option == NBD_OPT_ABORT) {
return 1; return 1;
} }

View File

@ -17,7 +17,7 @@
// --keep-comments --in-place \ // --keep-comments --in-place \
// --use-gitgrep --dir target // --use-gitgrep --dir target
// //
// $ docker run --rm -v `pwd`:`pwd` -w `pwd` philmd/coccinelle \ // $ docker run --rm -v $PWD:$PWD -w $PWD philmd/coccinelle \
// --macro-file scripts/cocci-macro-file.h \ // --macro-file scripts/cocci-macro-file.h \
// --sp-file scripts/coccinelle/tcg_gen_extract.cocci \ // --sp-file scripts/coccinelle/tcg_gen_extract.cocci \
// --keep-comments --in-place \ // --keep-comments --in-place \

View File

@ -5,9 +5,9 @@ if [ "$#" -ne 0 ]; then
FORMAT_LIST="$@" FORMAT_LIST="$@"
fi fi
export QEMU_PROG="$(pwd)/x86_64-softmmu/qemu-system-x86_64" export QEMU_PROG="$PWD/x86_64-softmmu/qemu-system-x86_64"
export QEMU_IMG_PROG="$(pwd)/qemu-img" export QEMU_IMG_PROG="$PWD/qemu-img"
export QEMU_IO_PROG="$(pwd)/qemu-io" export QEMU_IO_PROG="$PWD/qemu-io"
if [ ! -x $QEMU_PROG ]; then if [ ! -x $QEMU_PROG ]; then
echo "'make check-block' requires qemu-system-x86_64" echo "'make check-block' requires qemu-system-x86_64"

View File

@ -24,7 +24,6 @@ owner=hch@lst.de
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=hch@lst.de
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=hch@lst.de
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=hch@lst.de
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -27,7 +27,6 @@ owner=hch@lst.de
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=hch@lst.de
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -26,7 +26,6 @@ owner=hch@lst.de
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -26,7 +26,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -26,7 +26,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=hch@lst.de
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -26,7 +26,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=stefanha@linux.vnet.ibm.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=stefanha@linux.vnet.ibm.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -27,7 +27,6 @@ owner=stefanha@linux.vnet.ibm.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -26,7 +26,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=pbonzini@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -25,7 +25,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()
@ -50,7 +49,7 @@ echo
echo "creating image" echo "creating image"
_make_test_img $size _make_test_img $size
function generate_requests() { generate_requests() {
for i in $(seq 0 63); do for i in $(seq 0 63); do
echo "aio_write ${i}M 512" echo "aio_write ${i}M 512"
echo "aio_write ${i}M 512" echo "aio_write ${i}M 512"

View File

@ -27,7 +27,6 @@ owner=stefanha@linux.vnet.ibm.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()
@ -55,7 +54,7 @@ TEST_IMG="$TEST_IMG.base"
_make_test_img $size _make_test_img $size
function backing_io() backing_io()
{ {
local offset=$1 local offset=$1
local sectors=$2 local sectors=$2

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()
@ -52,7 +51,7 @@ TEST_IMG="$TEST_IMG.base"
_make_test_img $size _make_test_img $size
function backing_io() backing_io()
{ {
local offset=$1 local offset=$1
local sectors=$2 local sectors=$2
@ -77,7 +76,7 @@ _make_test_img -b "$TEST_IMG.base" 6G
echo echo
echo "== Some concurrent requests touching the same cluster ==" echo "== Some concurrent requests touching the same cluster =="
function overlay_io() overlay_io()
{ {
# Start with a request touching two clusters # Start with a request touching two clusters
echo aio_write -P 0x80 2020k 80k echo aio_write -P 0x80 2020k 80k
@ -103,7 +102,7 @@ overlay_io | $QEMU_IO "$TEST_IMG" | _filter_qemu_io |\
echo echo
echo "== Verify image content ==" echo "== Verify image content =="
function verify_io() verify_io()
{ {
echo read -P 31 2016k 4k echo read -P 31 2016k 4k
echo read -P 0x80 2020k 80k echo read -P 0x80 2020k 80k

View File

@ -27,7 +27,6 @@ owner=stefanha@linux.vnet.ibm.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=stefanha@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()
@ -49,7 +48,7 @@ echo "== creating backing file for COW tests =="
_make_test_img $size _make_test_img $size
function backing_io() backing_io()
{ {
local offset=$1 local offset=$1
local sectors=$2 local sectors=$2
@ -74,7 +73,7 @@ _make_test_img -b "$TEST_IMG.base" 6G
echo echo
echo "== Some concurrent requests touching the same cluster ==" echo "== Some concurrent requests touching the same cluster =="
function overlay_io() overlay_io()
{ {
# Allocate middle of cluster 1, then write to somewhere before and after it # Allocate middle of cluster 1, then write to somewhere before and after it
cat <<EOF cat <<EOF
@ -190,7 +189,7 @@ overlay_io | $QEMU_IO blkdebug::"$TEST_IMG" | _filter_qemu_io |\
echo echo
echo "== Verify image content ==" echo "== Verify image content =="
function verify_io() verify_io()
{ {
if ($QEMU_IMG info -U -f "$IMGFMT" "$TEST_IMG" | grep "compat: 0.10" > /dev/null); then if ($QEMU_IMG info -U -f "$IMGFMT" "$TEST_IMG" | grep "compat: 0.10" > /dev/null); then
# For v2 images, discarded clusters are read from the backing file # For v2 images, discarded clusters are read from the backing file

View File

@ -25,7 +25,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()
@ -46,7 +45,7 @@ size=128M
_make_test_img $size _make_test_img $size
function qemu_io_cmds() qemu_io_cmds()
{ {
cat <<EOF cat <<EOF
write -P 0x66 0 320k write -P 0x66 0 320k

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()
@ -41,13 +40,13 @@ _supported_fmt qcow2
_supported_proto file _supported_proto file
_supported_os Linux _supported_os Linux
function filter_test_dir() filter_test_dir()
{ {
sed -e "s#$IMGPROTO:$TEST_DIR#TEST_DIR#g" \ sed -e "s#$IMGPROTO:$TEST_DIR#TEST_DIR#g" \
-e "s#$TEST_DIR#TEST_DIR#g" -e "s#$TEST_DIR#TEST_DIR#g"
} }
function test_qemu_img() test_qemu_img()
{ {
echo qemu-img "$@" | filter_test_dir echo qemu-img "$@" | filter_test_dir
$QEMU_IMG "$@" 2>&1 | filter_test_dir $QEMU_IMG "$@" 2>&1 | filter_test_dir

View File

@ -24,7 +24,6 @@ owner=pbonzini@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()
@ -44,7 +43,7 @@ _supported_os Linux
# other than refcount_bits=16 # other than refcount_bits=16
_unsupported_imgopts 'refcount_bits=\([^1]\|.\([^6]\|$\)\)' _unsupported_imgopts 'refcount_bits=\([^1]\|.\([^6]\|$\)\)'
function do_run_qemu() do_run_qemu()
{ {
echo Testing: "$@" echo Testing: "$@"
( (
@ -58,7 +57,7 @@ function do_run_qemu()
echo echo
} }
function run_qemu() run_qemu()
{ {
do_run_qemu "$@" 2>&1 | _filter_testdir | _filter_qemu | do_run_qemu "$@" 2>&1 | _filter_testdir | _filter_qemu |
_filter_generated_node_ids | _filter_hmp _filter_generated_node_ids | _filter_hmp

View File

@ -24,7 +24,6 @@ owner=stefanha@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=stefanha@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -26,58 +26,21 @@ owner=xiawenc@linux.vnet.ibm.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
nbd_unix_socket=$TEST_DIR/test_qemu_nbd_socket
nbd_snapshot_img="nbd:unix:$nbd_unix_socket"
rm -f "${TEST_DIR}/qemu-nbd.pid"
_cleanup_nbd()
{
local NBD_SNAPSHOT_PID
if [ -f "${TEST_DIR}/qemu-nbd.pid" ]; then
read NBD_SNAPSHOT_PID < "${TEST_DIR}/qemu-nbd.pid"
rm -f "${TEST_DIR}/qemu-nbd.pid"
if [ -n "$NBD_SNAPSHOT_PID" ]; then
kill "$NBD_SNAPSHOT_PID"
fi
fi
rm -f "$nbd_unix_socket"
}
_wait_for_nbd()
{
for ((i = 0; i < 300; i++))
do
if [ -r "$nbd_unix_socket" ]; then
return
fi
sleep 0.1
done
echo "Failed in check of unix socket created by qemu-nbd"
exit 1
}
converted_image=$TEST_IMG.converted
_export_nbd_snapshot() _export_nbd_snapshot()
{ {
_cleanup_nbd nbd_server_start_unix_socket "$TEST_IMG" -l $1
$QEMU_NBD -v -t -k "$nbd_unix_socket" "$TEST_IMG" -l $1 &
_wait_for_nbd
} }
_export_nbd_snapshot1() _export_nbd_snapshot1()
{ {
_cleanup_nbd nbd_server_start_unix_socket "$TEST_IMG" -l snapshot.name=$1
$QEMU_NBD -v -t -k "$nbd_unix_socket" "$TEST_IMG" -l snapshot.name=$1 &
_wait_for_nbd
} }
_cleanup() _cleanup()
{ {
_cleanup_nbd nbd_server_stop
_cleanup_test_img _cleanup_test_img
rm -f "$converted_image" rm -f "$converted_image"
} }
@ -87,6 +50,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
. ./common.rc . ./common.rc
. ./common.filter . ./common.filter
. ./common.pattern . ./common.pattern
. ./common.nbd
_supported_fmt qcow2 _supported_fmt qcow2
_supported_proto file _supported_proto file
@ -95,6 +59,10 @@ _require_command QEMU_NBD
# Internal snapshots are (currently) impossible with refcount_bits=1 # Internal snapshots are (currently) impossible with refcount_bits=1
_unsupported_imgopts 'refcount_bits=1[^0-9]' _unsupported_imgopts 'refcount_bits=1[^0-9]'
nbd_snapshot_img="nbd:unix:$nbd_unix_socket"
converted_image=$TEST_IMG.converted
# Use -f raw instead of -f $IMGFMT for the NBD connection # Use -f raw instead of -f $IMGFMT for the NBD connection
QEMU_IO_NBD="$QEMU_IO -f raw --cache=$CACHEMODE" QEMU_IO_NBD="$QEMU_IO -f raw --cache=$CACHEMODE"

View File

@ -24,7 +24,6 @@ owner=famz@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=mreitz@redhat.com
seq="$(basename $0)" seq="$(basename $0)"
echo "QA output created by $seq" echo "QA output created by $seq"
here="$PWD"
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=mreitz@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -25,7 +25,6 @@ owner=mreitz@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -25,7 +25,6 @@ owner=alex@alex.org.uk
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=jcody@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=mreitz@redhat.com
seq="$(basename $0)" seq="$(basename $0)"
echo "QA output created by $seq" echo "QA output created by $seq"
here="$PWD"
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
# get standard environment, filters and checks # get standard environment, filters and checks
@ -37,7 +36,7 @@ _supported_os Linux
# Because anything other than 16 would change the output of query-block # Because anything other than 16 would change the output of query-block
_unsupported_imgopts 'refcount_bits=\([^1]\|.\([^6]\|$\)\)' _unsupported_imgopts 'refcount_bits=\([^1]\|.\([^6]\|$\)\)'
function do_run_qemu() do_run_qemu()
{ {
echo Testing: "$@" echo Testing: "$@"
$QEMU -nographic -qmp-pretty stdio -serial none "$@" $QEMU -nographic -qmp-pretty stdio -serial none "$@"
@ -53,7 +52,7 @@ _filter_qmp_events()
| tr '\t' '\n' | tr '\t' '\n'
} }
function run_qemu() run_qemu()
{ {
do_run_qemu "$@" 2>&1 | _filter_testdir | _filter_qmp | _filter_qemu \ do_run_qemu "$@" 2>&1 | _filter_testdir | _filter_qmp | _filter_qemu \
| _filter_actual_image_size \ | _filter_actual_image_size \

View File

@ -24,7 +24,6 @@ owner=mreitz@redhat.com
seq="$(basename $0)" seq="$(basename $0)"
echo "QA output created by $seq" echo "QA output created by $seq"
here="$PWD"
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=mreitz@redhat.com
seq="$(basename $0)" seq="$(basename $0)"
echo "QA output created by $seq" echo "QA output created by $seq"
here="$PWD"
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -25,7 +25,6 @@ owner=jcody@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=mreitz@redhat.com
seq="$(basename $0)" seq="$(basename $0)"
echo "QA output created by $seq" echo "QA output created by $seq"
here="$PWD"
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()
@ -41,14 +40,14 @@ _supported_fmt qcow2
_supported_proto file _supported_proto file
_supported_os Linux _supported_os Linux
function do_run_qemu() do_run_qemu()
{ {
echo Testing: "$@" | _filter_imgfmt echo Testing: "$@" | _filter_imgfmt
$QEMU -nographic -qmp stdio -serial none "$@" $QEMU -nographic -qmp stdio -serial none "$@"
echo echo
} }
function run_qemu() run_qemu()
{ {
do_run_qemu "$@" 2>&1 | _filter_testdir | _filter_qemu | _filter_qmp | _filter_qemu_io do_run_qemu "$@" 2>&1 | _filter_testdir | _filter_qemu | _filter_qmp | _filter_qemu_io
} }

View File

@ -24,7 +24,6 @@ owner=mreitz@redhat.com
seq="$(basename $0)" seq="$(basename $0)"
echo "QA output created by $seq" echo "QA output created by $seq"
here="$PWD"
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=stefanha@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()
@ -49,7 +48,7 @@ _make_test_img $size
echo echo
echo "== Some concurrent requests involving RMW ==" echo "== Some concurrent requests involving RMW =="
function test_io() test_io()
{ {
echo "open -o driver=$IMGFMT,file.align=4k blkdebug::$TEST_IMG" echo "open -o driver=$IMGFMT,file.align=4k blkdebug::$TEST_IMG"
# A simple RMW request # A simple RMW request
@ -194,7 +193,7 @@ test_io | $QEMU_IO | _filter_qemu_io | \
echo echo
echo "== Verify image content ==" echo "== Verify image content =="
function verify_io() verify_io()
{ {
# A simple RMW request # A simple RMW request
echo read -P 0 0 0x200 echo read -P 0 0 0x200

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=hutao@cn.fujitsu.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=benoit@irqsave.net
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()
@ -43,14 +42,14 @@ _supported_fmt raw
_supported_proto file _supported_proto file
_supported_os Linux _supported_os Linux
function do_run_qemu() do_run_qemu()
{ {
echo Testing: "$@" | _filter_imgfmt echo Testing: "$@" | _filter_imgfmt
$QEMU -nographic -qmp stdio -serial none "$@" $QEMU -nographic -qmp stdio -serial none "$@"
echo echo
} }
function run_qemu() run_qemu()
{ {
do_run_qemu "$@" 2>&1 | _filter_testdir | _filter_qemu | _filter_qmp\ do_run_qemu "$@" 2>&1 | _filter_testdir | _filter_qemu | _filter_qmp\
| _filter_qemu_io | _filter_generated_node_ids | _filter_qemu_io | _filter_generated_node_ids

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()
@ -41,7 +40,7 @@ _supported_fmt qcow2
_supported_proto file nfs _supported_proto file nfs
_supported_os Linux _supported_os Linux
function run_qemu_img() run_qemu_img()
{ {
echo echo
echo Testing: "$@" | _filter_testdir echo Testing: "$@" | _filter_testdir

View File

@ -24,7 +24,6 @@ owner=stefanha@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -25,7 +25,6 @@ owner=jcody@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -29,7 +29,6 @@ owner=jcody@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
snapshot_virt0="snapshot-v0.qcow2" snapshot_virt0="snapshot-v0.qcow2"
@ -61,7 +60,7 @@ _supported_os Linux
# ${1}: unique identifier for the snapshot filename # ${1}: unique identifier for the snapshot filename
function create_single_snapshot() create_single_snapshot()
{ {
cmd="{ 'execute': 'blockdev-snapshot-sync', cmd="{ 'execute': 'blockdev-snapshot-sync',
'arguments': { 'device': 'virtio0', 'arguments': { 'device': 'virtio0',
@ -71,7 +70,7 @@ function create_single_snapshot()
} }
# ${1}: unique identifier for the snapshot filename # ${1}: unique identifier for the snapshot filename
function create_group_snapshot() create_group_snapshot()
{ {
cmd="{ 'execute': 'transaction', 'arguments': cmd="{ 'execute': 'transaction', 'arguments':
{'actions': [ {'actions': [
@ -89,7 +88,7 @@ function create_group_snapshot()
# ${1}: unique identifier for the snapshot filename # ${1}: unique identifier for the snapshot filename
# ${2}: extra_params to the blockdev-add command # ${2}: extra_params to the blockdev-add command
# ${3}: filename # ${3}: filename
function do_blockdev_add() do_blockdev_add()
{ {
cmd="{ 'execute': 'blockdev-add', 'arguments': cmd="{ 'execute': 'blockdev-add', 'arguments':
{ 'driver': 'qcow2', 'node-name': 'snap_${1}', ${2} { 'driver': 'qcow2', 'node-name': 'snap_${1}', ${2}
@ -100,7 +99,7 @@ function do_blockdev_add()
} }
# ${1}: unique identifier for the snapshot filename # ${1}: unique identifier for the snapshot filename
function add_snapshot_image() add_snapshot_image()
{ {
base_image="${TEST_DIR}/$((${1}-1))-${snapshot_virt0}" base_image="${TEST_DIR}/$((${1}-1))-${snapshot_virt0}"
snapshot_file="${TEST_DIR}/${1}-${snapshot_virt0}" snapshot_file="${TEST_DIR}/${1}-${snapshot_virt0}"
@ -111,7 +110,7 @@ function add_snapshot_image()
# ${1}: unique identifier for the snapshot filename # ${1}: unique identifier for the snapshot filename
# ${2}: expected response, defaults to 'return' # ${2}: expected response, defaults to 'return'
function blockdev_snapshot() blockdev_snapshot()
{ {
cmd="{ 'execute': 'blockdev-snapshot', cmd="{ 'execute': 'blockdev-snapshot',
'arguments': { 'node': 'virtio0', 'arguments': { 'node': 'virtio0',

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()
@ -41,7 +40,7 @@ _supported_fmt qcow2 raw
_supported_proto file _supported_proto file
_supported_os Linux _supported_os Linux
function run_qemu_img() run_qemu_img()
{ {
echo echo
echo Testing: "$@" | _filter_testdir echo Testing: "$@" | _filter_testdir

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
# get standard environment, filters and checks # get standard environment, filters and checks
@ -35,14 +34,14 @@ _supported_fmt qcow2
_supported_proto file _supported_proto file
_supported_os Linux _supported_os Linux
function do_run_qemu() do_run_qemu()
{ {
echo Testing: "$@" echo Testing: "$@"
$QEMU -nographic -qmp stdio -serial none "$@" $QEMU -nographic -qmp stdio -serial none "$@"
echo echo
} }
function run_qemu() run_qemu()
{ {
do_run_qemu "$@" 2>&1 | _filter_testdir | _filter_qmp \ do_run_qemu "$@" 2>&1 | _filter_testdir | _filter_qmp \
| _filter_qemu | _filter_imgfmt \ | _filter_qemu | _filter_imgfmt \
@ -103,7 +102,7 @@ echo === aio=native without O_DIRECT ===
echo echo
# Skip this test if AIO is not enabled in this build # Skip this test if AIO is not enabled in this build
function run_qemu_filter_aio() run_qemu_filter_aio()
{ {
run_qemu "$@" | \ run_qemu "$@" | \
sed -e 's/is not supported in this build/it requires cache.direct=on, which was not specified/' sed -e 's/is not supported in this build/it requires cache.direct=on, which was not specified/'

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=mreitz@redhat.com
seq="$(basename $0)" seq="$(basename $0)"
echo "QA output created by $seq" echo "QA output created by $seq"
here="$PWD"
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=mreitz@redhat.com
seq="$(basename $0)" seq="$(basename $0)"
echo "QA output created by $seq" echo "QA output created by $seq"
here="$PWD"
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -26,7 +26,6 @@ owner=jcody@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
MIG_FIFO="${TEST_DIR}/migrate" MIG_FIFO="${TEST_DIR}/migrate"

View File

@ -24,7 +24,6 @@ owner=kwolf@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=mreitz@redhat.com
seq="$(basename $0)" seq="$(basename $0)"
echo "QA output created by $seq" echo "QA output created by $seq"
here="$PWD"
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -27,7 +27,6 @@ owner=jcody@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -25,7 +25,6 @@ owner=mreitz@redhat.com
seq="$(basename $0)" seq="$(basename $0)"
echo "QA output created by $seq" echo "QA output created by $seq"
here="$PWD"
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=mreitz@redhat.com
seq="$(basename $0)" seq="$(basename $0)"
echo "QA output created by $seq" echo "QA output created by $seq"
here="$PWD"
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -25,7 +25,6 @@ owner=mreitz@redhat.com
seq="$(basename $0)" seq="$(basename $0)"
echo "QA output created by $seq" echo "QA output created by $seq"
here="$PWD"
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()
@ -46,12 +45,12 @@ _supported_os Linux
_unsupported_imgopts "subformat=monolithicFlat" "subformat=twoGbMaxExtentFlat" \ _unsupported_imgopts "subformat=monolithicFlat" "subformat=twoGbMaxExtentFlat" \
"subformat=twoGbMaxExtentSparse" "subformat=twoGbMaxExtentSparse"
function do_run_qemu() do_run_qemu()
{ {
$QEMU -nographic -qmp stdio -serial none "$@" $QEMU -nographic -qmp stdio -serial none "$@"
} }
function run_qemu() run_qemu()
{ {
# Get the "file": "foo" entry ($foo may only contain escaped double quotes, # Get the "file": "foo" entry ($foo may only contain escaped double quotes,
# which is how we can extract it) # which is how we can extract it)
@ -60,7 +59,7 @@ function run_qemu()
| sed -e 's/^.*"file": "\(\(\\"\|[^"]\)*\)".*$/\1/' -e 's/\\"/"/g' | sed -e 's/^.*"file": "\(\(\\"\|[^"]\)*\)".*$/\1/' -e 's/\\"/"/g'
} }
function test_qemu() test_qemu()
{ {
run_qemu -drive "if=none,id=drv0,$1" <<EOF run_qemu -drive "if=none,id=drv0,$1" <<EOF
{ 'execute': 'qmp_capabilities' } { 'execute': 'qmp_capabilities' }

View File

@ -24,7 +24,6 @@ owner=stefanha@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=mreitz@redhat.com
seq=$(basename $0) seq=$(basename $0)
echo "QA output created by $seq" echo "QA output created by $seq"
here=$PWD
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=mreitz@redhat.com
seq=$(basename $0) seq=$(basename $0)
echo "QA output created by $seq" echo "QA output created by $seq"
here=$PWD
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=hutao@cn.fujitsu.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
trap "exit \$status" 0 1 2 3 15 trap "exit \$status" 0 1 2 3 15

View File

@ -24,7 +24,6 @@ owner=famz@redhat.com
seq=`basename $0` seq=`basename $0`
echo "QA output created by $seq" echo "QA output created by $seq"
here=`pwd`
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=mreitz@redhat.com
seq=$(basename $0) seq=$(basename $0)
echo "QA output created by $seq" echo "QA output created by $seq"
here=$PWD
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -24,7 +24,6 @@ owner=mreitz@redhat.com
seq="$(basename $0)" seq="$(basename $0)"
echo "QA output created by $seq" echo "QA output created by $seq"
here="$PWD"
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

View File

@ -25,7 +25,6 @@ owner=mreitz@redhat.com
seq="$(basename $0)" seq="$(basename $0)"
echo "QA output created by $seq" echo "QA output created by $seq"
here="$PWD"
status=1 # failure is the default! status=1 # failure is the default!
_cleanup() _cleanup()

Some files were not shown because too many files have changed in this diff Show More