c6381eaffa62e028af2b60d36b5266745877491a
[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         check_loop_utils
14
15         for FILE in ${FILES}; do
16                 DEVICE=`unused_loop_device`
17                 msg "Creating ${FILE} using loopback device ${DEVICE}"
18                 rm -f ${FILE} || exit 1
19                 dd if=/dev/zero of=${FILE} bs=1024k count=0 seek=256 \
20                         &>/dev/null || die "Error $? creating ${FILE}"
21                 ${LOSETUP} ${DEVICE} ${FILE} ||
22                         die "Error $? creating ${FILE} -> ${DEVICE} loopback"
23                 DEVICES="${DEVICES} ${DEVICE}"
24         done
25
26         msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} raidz2 ${DEVICES}
27         ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} raidz2 ${DEVICES} || exit 1
28 }
29
30 zpool_destroy() {
31         msg ${ZPOOL} destroy ${ZPOOL_NAME}
32         ${ZPOOL} destroy ${ZPOOL_NAME}
33
34         for FILE in ${FILES}; do
35                 DEVICE=`${LOSETUP} -a | grep ${FILE} | head -n1|cut -f1 -d:`
36                 msg "Removing ${FILE} using loopback device ${DEVICE}"
37                 ${LOSETUP} -d ${DEVICE} ||
38                         die "Error $? destroying ${FILE} -> ${DEVICE} loopback"
39                 rm -f ${FILE} || exit 1
40         done
41 }