]> git.proxmox.com Git - mirror_zfs-debian.git/blame - scripts/zpool-config/lo-raidz.sh
Imported Upstream version 0.6.5.9
[mirror_zfs-debian.git] / scripts / zpool-config / lo-raidz.sh
CommitLineData
c9c0d073
BB
1#!/bin/bash
2#
3# 4 Device Loopback Raid-0 Configuration
4#
ea04106b
AX
5FILEDIR=${FILEDIR:-/var/tmp}
6FILES=${FILES:-"$FILEDIR/file-vdev0 $FILEDIR/file-vdev1 \
7 $FILEDIR/file-vdev2 $FILEDIR/file-vdev3"}
c9c0d073
BB
8DEVICES=""
9
10zpool_create() {
0ee8118b
BB
11 check_loop_utils
12
c9c0d073
BB
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
ea04106b
AX
24 msg ${ZPOOL} create ${ZPOOL_FLAGS} ${ZPOOL_NAME} raidz ${DEVICES}
25 ${ZPOOL} create ${ZPOOL_FLAGS} ${ZPOOL_NAME} raidz ${DEVICES} || exit 1
c9c0d073
BB
26}
27
28zpool_destroy() {
29 msg ${ZPOOL} destroy ${ZPOOL_NAME}
30 ${ZPOOL} destroy ${ZPOOL_NAME}
31
608860b6
BB
32 # Delay to ensure device is closed before removing loop device
33 sleep 1
34
c9c0d073
BB
35 for FILE in ${FILES}; do
36 DEVICE=`${LOSETUP} -a | grep ${FILE} | head -n1|cut -f1 -d:`
37 msg "Removing ${FILE} using loopback device ${DEVICE}"
38 ${LOSETUP} -d ${DEVICE} ||
39 die "Error $? destroying ${FILE} -> ${DEVICE} loopback"
40 rm -f ${FILE} || exit 1
41 done
42}