summaryrefslogtreecommitdiffstats
path: root/scripts/zpool-config/lo-raidz2.sh
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2010-08-26 11:22:58 -0700
committerBrian Behlendorf <[email protected]>2010-08-31 13:41:27 -0700
commitc9c0d073da561bcbefbdf09c87fc75b227415619 (patch)
tree7daee55ae61526107f421de48171573fa5a15d28 /scripts/zpool-config/lo-raidz2.sh
parent40b84e7aec6392187722e61e5a4a853b530bf60f (diff)
Add build system
Add autoconf style build infrastructure to the ZFS tree. This includes autogen.sh, configure.ac, m4 macros, some scripts/*, and makefiles for all the core ZFS components.
Diffstat (limited to 'scripts/zpool-config/lo-raidz2.sh')
-rw-r--r--scripts/zpool-config/lo-raidz2.sh39
1 files changed, 39 insertions, 0 deletions
diff --git a/scripts/zpool-config/lo-raidz2.sh b/scripts/zpool-config/lo-raidz2.sh
new file mode 100644
index 000000000..6e61293c0
--- /dev/null
+++ b/scripts/zpool-config/lo-raidz2.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} raidz2 ${DEVICES}
+ ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} raidz2 ${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
+}