X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=scripts%2Fzpool-config%2Flo-raidz.sh;fp=scripts%2Fzpool-config%2Flo-raidz.sh;h=509f6ee1d73cc1b0b1ea2ae4ab37d2cdd13b71ed;hb=c9c0d073da561bcbefbdf09c87fc75b227415619;hp=0000000000000000000000000000000000000000;hpb=40b84e7aec6392187722e61e5a4a853b530bf60f;p=zfs.git diff --git a/scripts/zpool-config/lo-raidz.sh b/scripts/zpool-config/lo-raidz.sh new file mode 100644 index 0000000..509f6ee --- /dev/null +++ b/scripts/zpool-config/lo-raidz.sh @@ -0,0 +1,39 @@ +#!/bin/bash +# +# 4 Device Loopback Raid-0 Configuration +# + +FILES="/tmp/zpool-vdev0 \ + /tmp/zpool-vdev1 \ + /tmp/zpool-vdev2 \ + /tmp/zpool-vdev3" +DEVICES="" + +zpool_create() { + for FILE in ${FILES}; do + DEVICE=`unused_loop_device` + msg "Creating ${FILE} using loopback device ${DEVICE}" + rm -f ${FILE} || exit 1 + dd if=/dev/zero of=${FILE} bs=1024k count=0 seek=256 \ + &>/dev/null || die "Error $? creating ${FILE}" + ${LOSETUP} ${DEVICE} ${FILE} || + die "Error $? creating ${FILE} -> ${DEVICE} loopback" + DEVICES="${DEVICES} ${DEVICE}" + done + + msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} raidz ${DEVICES} + ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} raidz ${DEVICES} || exit 1 +} + +zpool_destroy() { + msg ${ZPOOL} destroy ${ZPOOL_NAME} + ${ZPOOL} destroy ${ZPOOL_NAME} + + for FILE in ${FILES}; do + DEVICE=`${LOSETUP} -a | grep ${FILE} | head -n1|cut -f1 -d:` + msg "Removing ${FILE} using loopback device ${DEVICE}" + ${LOSETUP} -d ${DEVICE} || + die "Error $? destroying ${FILE} -> ${DEVICE} loopback" + rm -f ${FILE} || exit 1 + done +}