6e61293c0b9c93e3c68f6aaa0c6744357396f67f
[zfs.git] / scripts / zpool-config / lo-raidz2.sh
1 #!/bin/bash
2 #
3 # 4 Device Loopback Raid-0 Configuration
4 #
5
6 FILES="/tmp/zpool-vdev0  \
7        /tmp/zpool-vdev1  \
8        /tmp/zpool-vdev2  \
9        /tmp/zpool-vdev3"
10 DEVICES=""
11
12 zpool_create() {
13         for FILE in ${FILES}; do
14                 DEVICE=`unused_loop_device`
15                 msg "Creating ${FILE} using loopback device ${DEVICE}"
16                 rm -f ${FILE} || exit 1
17                 dd if=/dev/zero of=${FILE} bs=1024k count=0 seek=256 \
18                         &>/dev/null || die "Error $? creating ${FILE}"
19                 ${LOSETUP} ${DEVICE} ${FILE} ||
20                         die "Error $? creating ${FILE} -> ${DEVICE} loopback"
21                 DEVICES="${DEVICES} ${DEVICE}"
22         done
23
24         msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} raidz2 ${DEVICES}
25         ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} raidz2 ${DEVICES} || exit 1
26 }
27
28 zpool_destroy() {
29         msg ${ZPOOL} destroy ${ZPOOL_NAME}
30         ${ZPOOL} destroy ${ZPOOL_NAME}
31
32         for FILE in ${FILES}; do
33                 DEVICE=`${LOSETUP} -a | grep ${FILE} | head -n1|cut -f1 -d:`
34                 msg "Removing ${FILE} using loopback device ${DEVICE}"
35                 ${LOSETUP} -d ${DEVICE} ||
36                         die "Error $? destroying ${FILE} -> ${DEVICE} loopback"
37                 rm -f ${FILE} || exit 1
38         done
39 }