#!/bin/bash - # libguestfs # Copyright (C) 2018 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, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # Test guestfish finds: # 1. md device created from physical block device and LV, # 2. md device created from LVs # 3. LV created on md device # # raid0 is used for md device because it is inoperable if one of its components # is inaccessible so it is easy observable that md device is missing (raid1 in # this case will be operable but in degraded state). source ./functions.sh set -e set -x skip_if_skipped disk1=md-and-lvm-devices-1.img disk2=md-and-lvm-devices-2.img rm -f $disk1 $disk2 # Clean up if the script is killed or exits early cleanup () { status=$? set +e # Don't delete the output files if non-zero exit if [ "$status" -eq 0 ]; then rm -f $disk1 $disk2; fi exit $status } trap cleanup INT QUIT TERM EXIT # Create 2 disks partitioned as: # sda1: 20M MD (md127) # sda2: 20M PV (vg1) # sda3: 20M MD (md125) # # sdb1: 24M PV (vg0) [*] # sdb2: 20M PV (vg2) # sdb3: 20M MD (md125) # # lv0 : LV (vg0) # lv1 : LV (vg1) # lv2 : LV (vg2) # md127 : md (sda1, lv0) # md126 : md (lv1, lv2) # md125 : md (sda3, sdb3) # vg3 : VG (md125) # lv3 : LV (vg3) # # [*] The reason for making sdb1 4M larger than sda1 is that the LVM metadata # will consume one 4MB extent, and we need lv0 to offer exactly as much space # as sda1 does, for combining them in md127. Refer to RHBZ#2005485. guestfish <