#!/usr/bin/env bash # Copyright (C) 2008-2014 Red Hat, Inc. All rights reserved. # # This copyrighted material is made available to anyone wishing to use, # modify, copy, or redistribute it subject to the terms and conditions # of the GNU General Public License v.2. # # 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_description='Exercise fsadm filesystem resize' SKIP_WITH_LVMLOCKD=1 SKIP_WITH_LVMPOLLD=1 . lib/inittest aux prepare_vg 1 100 # set to "skip" to avoid testing given fs and test warning result # i.e. check_reiserfs=skip check_ext2= check_ext3= check_xfs= check_reiserfs= which mkfs.ext2 || check_ext2=${check_ext2:-mkfs.ext2} which mkfs.ext3 || check_ext3=${check_ext3:-mkfs.ext3} which fsck.ext3 || check_ext3=${check_ext3:-fsck.ext3} which mkfs.xfs || check_xfs=${check_xfs:-mkfs.xfs} which xfs_check || { which xfs_repair || check_xfs=${check_xfs:-xfs_repair} } grep xfs /proc/filesystems || check_xfs=${check_xfs:-no_xfs} which mkfs.reiserfs || check_reiserfs=${check_reiserfs:-mkfs.reiserfs} which reiserfsck || check_reiserfs=${check_reiserfs:-reiserfsck} modprobe reiserfs || true grep reiserfs /proc/filesystems || check_reiserfs=${check_reiserfs:-no_reiserfs} vg_lv=$vg/$lv1 vg_lv2=$vg/${lv1}bar dev_vg_lv="$DM_DEV_DIR/$vg_lv" dev_vg_lv2="$DM_DEV_DIR/$vg_lv2" mount_dir="mnt" mount_space_dir="mnt space dir" # for recursive call LVM_BINARY=$(which lvm) export LVM_BINARY test ! -d "$mount_dir" && mkdir "$mount_dir" test ! -d "$mount_space_dir" && mkdir "$mount_space_dir" cleanup_mounted_and_teardown() { umount "$mount_dir" || true umount "$mount_space_dir" || true aux teardown } fscheck_ext3() { fsck.ext3 -p -F -f "$dev_vg_lv" } fscheck_xfs() { if which xfs_repair ; then xfs_repair -n "$dev_vg_lv" else xfs_check "$dev_vg_lv" fi } fscheck_reiserfs() { reiserfsck --check -p -f "$dev_vg_lv"