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