xref: /openbmc/qemu/tests/qemu-iotests/192 (revision 42a5009d)
111a82d14SPhilippe Mathieu-Daudé#!/usr/bin/env bash
29dd003a9SVladimir Sementsov-Ogievskiy# group: rw auto quick
3dd7fdaadSFam Zheng#
4dd7fdaadSFam Zheng# Test NBD export with -incoming (non-shared storage migration use case from
5dd7fdaadSFam Zheng# libvirt)
6dd7fdaadSFam Zheng#
7dd7fdaadSFam Zheng# Copyright (C) 2017 Red Hat, Inc.
8dd7fdaadSFam Zheng#
9dd7fdaadSFam Zheng# This program is free software; you can redistribute it and/or modify
10dd7fdaadSFam Zheng# it under the terms of the GNU General Public License as published by
11dd7fdaadSFam Zheng# the Free Software Foundation; either version 2 of the License, or
12dd7fdaadSFam Zheng# (at your option) any later version.
13dd7fdaadSFam Zheng#
14dd7fdaadSFam Zheng# This program is distributed in the hope that it will be useful,
15dd7fdaadSFam Zheng# but WITHOUT ANY WARRANTY; without even the implied warranty of
16dd7fdaadSFam Zheng# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17dd7fdaadSFam Zheng# GNU General Public License for more details.
18dd7fdaadSFam Zheng#
19dd7fdaadSFam Zheng# You should have received a copy of the GNU General Public License
20dd7fdaadSFam Zheng# along with this program.  If not, see <http://www.gnu.org/licenses/>.
21dd7fdaadSFam Zheng#
22dd7fdaadSFam Zheng
23dd7fdaadSFam Zheng# creator
24*42a5009dSJohn Snowowner=fam@euphon.net
25dd7fdaadSFam Zheng
26dd7fdaadSFam Zhengseq=`basename $0`
27dd7fdaadSFam Zhengecho "QA output created by $seq"
28dd7fdaadSFam Zheng
29dd7fdaadSFam Zhengstatus=1	# failure is the default!
30dd7fdaadSFam Zheng
31dd7fdaadSFam Zheng_cleanup()
32dd7fdaadSFam Zheng{
334d231a38SKevin Wolf    _cleanup_qemu
34dd7fdaadSFam Zheng    _cleanup_test_img
357310e0bdSMax Reitz    rm -f "$SOCK_DIR/nbd"
36dd7fdaadSFam Zheng}
37dd7fdaadSFam Zhengtrap "_cleanup; exit \$status" 0 1 2 3 15
38dd7fdaadSFam Zheng
39dd7fdaadSFam Zheng# get standard environment, filters and checks
40dd7fdaadSFam Zheng. ./common.rc
41dd7fdaadSFam Zheng. ./common.filter
420127b79eSDaniel P. Berrange. ./common.qemu
43dd7fdaadSFam Zheng
44dd7fdaadSFam Zheng_supported_fmt generic
45dd7fdaadSFam Zheng_supported_proto file
46dd7fdaadSFam Zheng
47dd7fdaadSFam Zhengif [ "$QEMU_DEFAULT_MACHINE" != "pc" ]; then
48dd7fdaadSFam Zheng    _notrun "Requires a PC machine"
49dd7fdaadSFam Zhengfi
50dd7fdaadSFam Zheng
51dd7fdaadSFam Zhengsize=64M
52dd7fdaadSFam Zheng_make_test_img $size
53dd7fdaadSFam Zheng
540127b79eSDaniel P. Berrangeif test "$IMGOPTSSYNTAX" = "true"
550127b79eSDaniel P. Berrangethen
560127b79eSDaniel P. Berrange    DRIVE_ARG=if=ide,id=drive0,$TEST_IMG
570127b79eSDaniel P. Berrangeelse
580127b79eSDaniel P. Berrange    DRIVE_ARG=if=ide,id=drive0,format=$IMGFMT,file=$TEST_IMG
590127b79eSDaniel P. Berrangefi
600127b79eSDaniel P. Berrange
610127b79eSDaniel P. Berrangeqemu_comm_method="monitor"
620127b79eSDaniel P. Berrange_launch_qemu -drive $DRIVE_ARG -incoming defer
630127b79eSDaniel P. Berrangeh=$QEMU_HANDLE
64fbd1c378SAndrey Shinkevichif [ "${VALGRIND_QEMU}" == "y" ]; then
65fbd1c378SAndrey Shinkevich    QEMU_COMM_TIMEOUT=7
66fbd1c378SAndrey Shinkevichelse
670127b79eSDaniel P. Berrange    QEMU_COMM_TIMEOUT=1
68fbd1c378SAndrey Shinkevichfi
690127b79eSDaniel P. Berrange
707310e0bdSMax Reitz_send_qemu_cmd $h "nbd_server_start unix:$SOCK_DIR/nbd" "(qemu)"
710127b79eSDaniel P. Berrange_send_qemu_cmd $h "nbd_server_add -w drive0" "(qemu)"
720127b79eSDaniel P. Berrange_send_qemu_cmd $h "q" "(qemu)"
73dd7fdaadSFam Zheng
74dd7fdaadSFam Zheng# success, all done
75dd7fdaadSFam Zhengecho "*** done"
76dd7fdaadSFam Zhengrm -f $seq.full
77dd7fdaadSFam Zhengstatus=0
78