]> git.proxmox.com Git - mirror_zfs-debian.git/blob - scripts/zpool-config/lo-raid0.sh
Merge branch 'upstream'
[mirror_zfs-debian.git] / scripts / zpool-config / lo-raid0.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} ${DEVICES}
27 ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${DEVICES} || exit 1
28 }
29
30 zpool_destroy() {
31 msg ${ZPOOL} destroy ${ZPOOL_NAME}
32 ${ZPOOL} destroy ${ZPOOL_NAME}
33
34 # Delay to ensure device is closed before removing loop device
35 sleep 1
36
37 for FILE in ${FILES}; do
38 DEVICE=`${LOSETUP} -a | grep ${FILE} | head -n1|cut -f1 -d:`
39 msg "Removing ${FILE} using loopback device ${DEVICE}"
40 ${LOSETUP} -d ${DEVICE} ||
41 die "Error $? destroying ${FILE} -> ${DEVICE} loopback"
42 rm -f ${FILE} || exit 1
43 done
44 }