X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=scripts%2Fcommon.sh.in;h=3c1182016836558efb181f130c402d971bb2c745;hb=6cb7ab069d9079a5b4b955da883d5ab804c91319;hp=56706194ccb7875a8e20a0bfea152e433c75873d;hpb=5cbf6db937a304c4d2b60878a2405a1e2900abdf;p=zfs.git diff --git a/scripts/common.sh.in b/scripts/common.sh.in index 5670619..3c11820 100644 --- a/scripts/common.sh.in +++ b/scripts/common.sh.in @@ -263,7 +263,7 @@ check_loop_utils() { # Find and return an unused loopback device. # unused_loop_device() { - for DEVICE in `ls -1 /dev/loop* 2>/dev/null`; do + for DEVICE in `ls -1 /dev/loop[0-9]* 2>/dev/null`; do ${LOSETUP} ${DEVICE} &>/dev/null if [ $? -ne 0 ]; then echo ${DEVICE} @@ -308,6 +308,48 @@ destroy_loop_devices() { } # +# Create a device label. +# +label() { + local DEVICE=$1 + local LABEL=$2 + + ${PARTED} ${DEVICE} --script -- mklabel ${LABEL} || return 1 + + return 0 +} + +# +# Create a primary partition on a block device. +# +partition() { + local DEVICE=$1 + local TYPE=$2 + local START=$3 + local END=$4 + + ${PARTED} --align optimal ${DEVICE} --script -- \ + mkpart ${TYPE} ${START} ${END} || return 1 + udev_trigger + + return 0 +} + +# +# Create a filesystem on the block device +# +format() { + local DEVICE=$1 + local FSTYPE=$2 + + # Force 4K blocksize, else mkfs.ext2 tries to use 8K, which + # won't mount + /sbin/mkfs.${FSTYPE} -b 4096 -F -q ${DEVICE} || return 1 + + return 0 +} + +# # Check that the mdadm utilities are installed. # check_md_utils() {