]> git.proxmox.com Git - mirror_zfs.git/blob - scripts/zpool-config/lo-raid10.sh
Add build system
[mirror_zfs.git] / scripts / zpool-config / lo-raid10.sh
1 #!/bin/bash
2 #
3 # 4 Device Loopback Raid-0 Configuration
4 #
5
6 FILES_M1="/tmp/zpool-vdev0 \
7 /tmp/zpool-vdev1"
8 FILES_M2="/tmp/zpool-vdev2 \
9 /tmp/zpool-vdev3"
10 FILES="${FILES_M1} ${FILES_M2}"
11 DEVICES_M1=""
12 DEVICES_M2=""
13
14 zpool_create() {
15 for FILE in ${FILES_M1}; 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_M1="${DEVICES_M1} ${DEVICE}"
24 done
25
26 for FILE in ${FILES_M2}; do
27 DEVICE=`unused_loop_device`
28 msg "Creating ${FILE} using loopback device ${DEVICE}"
29 rm -f ${FILE} || exit 1
30 dd if=/dev/zero of=${FILE} bs=1024k count=0 seek=256 \
31 &>/dev/null || die "Error $? creating ${FILE}"
32 ${LOSETUP} ${DEVICE} ${FILE} ||
33 die "Error $? creating ${FILE} -> ${DEVICE} loopback"
34 DEVICES_M2="${DEVICES_M2} ${DEVICE}"
35 done
36
37 msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} \
38 mirror ${DEVICES_M1} mirror ${DEVICES_M2}
39 ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} \
40 mirror ${DEVICES_M1} mirror ${DEVICES_M2}
41 }
42
43 zpool_destroy() {
44 msg ${ZPOOL} destroy ${ZPOOL_NAME}
45 ${ZPOOL} destroy ${ZPOOL_NAME}
46
47 for FILE in ${FILES}; do
48 DEVICE=`${LOSETUP} -a | grep ${FILE} | head -n1|cut -f1 -d:`
49 msg "Removing ${FILE} using loopback device ${DEVICE}"
50 ${LOSETUP} -d ${DEVICE} ||
51 die "Error $? destroying ${FILE} -> ${DEVICE} loopback"
52 rm -f ${FILE} || exit 1
53 done
54 }