1*de9efdb3SFam Zheng#!/bin/bash 2*de9efdb3SFam Zheng# 3*de9efdb3SFam Zheng# Test image locking for POSIX locks 4*de9efdb3SFam Zheng# 5*de9efdb3SFam Zheng# Copyright 2017 Red Hat, Inc. 6*de9efdb3SFam Zheng# 7*de9efdb3SFam Zheng# This program is free software; you can redistribute it and/or modify 8*de9efdb3SFam Zheng# it under the terms of the GNU General Public License as published by 9*de9efdb3SFam Zheng# the Free Software Foundation; either version 2 of the License, or 10*de9efdb3SFam Zheng# (at your option) any later version. 11*de9efdb3SFam Zheng# 12*de9efdb3SFam Zheng# This program is distributed in the hope that it will be useful, 13*de9efdb3SFam Zheng# but WITHOUT ANY WARRANTY; without even the implied warranty of 14*de9efdb3SFam Zheng# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15*de9efdb3SFam Zheng# GNU General Public License for more details. 16*de9efdb3SFam Zheng# 17*de9efdb3SFam Zheng# You should have received a copy of the GNU General Public License 18*de9efdb3SFam Zheng# along with this program. If not, see <http://www.gnu.org/licenses/>. 19*de9efdb3SFam Zheng# 20*de9efdb3SFam Zheng 21*de9efdb3SFam Zheng# creator 22*de9efdb3SFam Zhengowner=famz@redhat.com 23*de9efdb3SFam Zheng 24*de9efdb3SFam Zhengseq="$(basename $0)" 25*de9efdb3SFam Zhengecho "QA output created by $seq" 26*de9efdb3SFam Zheng 27*de9efdb3SFam Zhenghere="$PWD" 28*de9efdb3SFam Zhengtmp=/tmp/$$ 29*de9efdb3SFam Zhengstatus=1 # failure is the default! 30*de9efdb3SFam Zheng 31*de9efdb3SFam Zheng_cleanup() 32*de9efdb3SFam Zheng{ 33*de9efdb3SFam Zheng _cleanup_test_img 34*de9efdb3SFam Zheng} 35*de9efdb3SFam Zhengtrap "_cleanup; exit \$status" 0 1 2 3 15 36*de9efdb3SFam Zheng 37*de9efdb3SFam Zheng# get standard environment, filters and checks 38*de9efdb3SFam Zheng. ./common.rc 39*de9efdb3SFam Zheng. ./common.filter 40*de9efdb3SFam Zheng. ./common.qemu 41*de9efdb3SFam Zheng 42*de9efdb3SFam Zheng_supported_fmt qcow2 43*de9efdb3SFam Zheng_supported_proto file 44*de9efdb3SFam Zheng_supported_os Linux 45*de9efdb3SFam Zheng 46*de9efdb3SFam Zhengsize=32M 47*de9efdb3SFam Zheng 48*de9efdb3SFam Zheng_make_test_img $size 49*de9efdb3SFam Zheng 50*de9efdb3SFam Zhengecho "Starting QEMU" 51*de9efdb3SFam Zheng_launch_qemu -drive file=$TEST_IMG,if=none,id=drive0,file.locking=on \ 52*de9efdb3SFam Zheng -device virtio-blk-pci,drive=drive0 53*de9efdb3SFam Zheng 54*de9efdb3SFam Zhengecho 55*de9efdb3SFam Zhengecho "Starting a second QEMU using the same image should fail" 56*de9efdb3SFam Zhengecho 'quit' | $QEMU -monitor stdio \ 57*de9efdb3SFam Zheng -drive file=$TEST_IMG,if=none,id=drive0,file.locking=on \ 58*de9efdb3SFam Zheng -device virtio-blk-pci,drive=drive0 2>&1 | _filter_testdir 2>&1 | 59*de9efdb3SFam Zheng _filter_qemu | 60*de9efdb3SFam Zheng sed -e '/falling back to POSIX file/d' \ 61*de9efdb3SFam Zheng -e '/locks can be lost unexpectedly/d' 62*de9efdb3SFam Zheng 63*de9efdb3SFam Zheng_cleanup_qemu 64*de9efdb3SFam Zheng 65*de9efdb3SFam Zheng# success, all done 66*de9efdb3SFam Zhengecho "*** done" 67*de9efdb3SFam Zhengrm -f $seq.full 68*de9efdb3SFam Zhengstatus=0 69