#!/bin/bash TS_TOPDIR="${0%/*}/../.." TS_DESC="umount" . "$TS_TOPDIR"/functions.sh ts_init "$*" ts_skip_nonroot ts_check_test_command "$TS_CMD_FDISK" ts_check_test_command "$TS_CMD_EJECT" ts_check_test_command "$TS_CMD_KILL" ts_check_test_command "$TS_CMD_MOUNT" ts_check_prog "mkfs.ext2" # scsi_debug could not eject for kernel >=3.19 and <4.4 if x=$(echo "3.19" && uname -r && echo "4.4") \ && test "$x" = "$(echo "$x" | sort --version-sort)" then ts_skip "3.19 <= $(uname -sr) < 4.4" fi # # Note that eject --force is required because scsi_debug is # not removable device. # # set global variable TS_DEVICE function init_device { ts_scsi_debug_init dev_size_mb=100 } function init_partitions { local dev=$1 ts_log "Create partitions" $TS_CMD_FDISK --noauto-pt $dev >> /dev/null 2>&1 < /dev/null udevadm settle $TS_CMD_EJECT --force $TS_DEVICE && ts_log "Success" deinit_device ts_finalize_subtest ts_init_subtest "by-disk-mounted-partition" init_device init_partitions $TS_DEVICE mkdir -p ${TS_MOUNTPOINT}1 mkdir -p ${TS_MOUNTPOINT}2 $TS_CMD_MOUNT ${TS_DEVICE}1 ${TS_MOUNTPOINT}1 &> /dev/null $TS_CMD_MOUNT ${TS_DEVICE}2 ${TS_MOUNTPOINT}2 &> /dev/null udevadm settle $TS_CMD_EJECT --force $TS_DEVICE && ts_log "Success" deinit_device ts_finalize_subtest ts_init_subtest "by-partition" init_device init_partitions $TS_DEVICE $TS_CMD_EJECT --force ${TS_DEVICE}1 && ts_log "Success" deinit_device ts_finalize_subtest ts_init_subtest "by-partition-mounted" init_device init_partitions $TS_DEVICE mkdir -p ${TS_MOUNTPOINT}1 mkdir -p ${TS_MOUNTPOINT}2 $TS_CMD_MOUNT ${TS_DEVICE}1 ${TS_MOUNTPOINT}1 &> /dev/null $TS_CMD_MOUNT ${TS_DEVICE}2 ${TS_MOUNTPOINT}2 &> /dev/null udevadm settle $TS_CMD_EJECT --force ${TS_DEVICE}1 && ts_log "Success" deinit_device ts_finalize_subtest ts_finalize