3 # 4 Device Loopback Raid-0 Configuration
6 FILES_M1="/tmp/zpool-vdev0 \
8 FILES_M2="/tmp/zpool-vdev2 \
10 FILES="${FILES_M1} ${FILES_M2}"
17 for FILE in ${FILES_M1}; do
18 DEVICE=`unused_loop_device`
19 msg "Creating ${FILE} using loopback device ${DEVICE}"
20 rm -f ${FILE} || exit 1
21 dd if=/dev/zero of=${FILE} bs=1024k count=0 seek=256 \
22 &>/dev/null || die "Error $? creating ${FILE}"
23 ${LOSETUP} ${DEVICE} ${FILE} ||
24 die "Error $? creating ${FILE} -> ${DEVICE} loopback"
25 DEVICES_M1="${DEVICES_M1} ${DEVICE}"
28 for FILE in ${FILES_M2}; do
29 DEVICE=`unused_loop_device`
30 msg "Creating ${FILE} using loopback device ${DEVICE}"
31 rm -f ${FILE} || exit 1
32 dd if=/dev/zero of=${FILE} bs=1024k count=0 seek=256 \
33 &>/dev/null || die "Error $? creating ${FILE}"
34 ${LOSETUP} ${DEVICE} ${FILE} ||
35 die "Error $? creating ${FILE} -> ${DEVICE} loopback"
36 DEVICES_M2="${DEVICES_M2} ${DEVICE}"
39 msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} \
40 mirror ${DEVICES_M1} mirror ${DEVICES_M2}
41 ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} \
42 mirror ${DEVICES_M1} mirror ${DEVICES_M2}
46 msg ${ZPOOL} destroy ${ZPOOL_NAME}
47 ${ZPOOL} destroy ${ZPOOL_NAME}
49 # Delay to ensure device is closed before removing loop device
52 for FILE in ${FILES}; do
53 DEVICE=`${LOSETUP} -a | grep ${FILE} | head -n1|cut -f1 -d:`
54 msg "Removing ${FILE} using loopback device ${DEVICE}"
55 ${LOSETUP} -d ${DEVICE} ||
56 die "Error $? destroying ${FILE} -> ${DEVICE} loopback"
57 rm -f ${FILE} || exit 1