GitHub

@@ -5,9 +5,11 @@ fs_setup()

55

MOUNTOPTS="${3:-}"

6677

export PATH=/sbin:/usr/sbin:$PATH

8-

if ! which mkfs.$FSTYPE; then

9-

echo "Cannot find mkfs.$FSTYPE"

10-

exit 1

8+

if [ "$FSTYPE" != "zfs" ]; then

9+

if ! which mkfs.$FSTYPE; then

10+

echo "Cannot find mkfs.$FSTYPE"

11+

exit 1

12+

fi

1113

fi

12141315

mkdir -p /tmp /mnt/tmp

@@ -33,7 +35,7 @@ fs_setup()

3335

BLOCKS_KB=2

3436

BLOCKS_MB=$((1024*2))

3537

# Total looback dev size to allocate

36-

TOTSZ=$((100 * $BLOCKS_MB))

38+

TOTSZ=$((200 * $BLOCKS_MB))

3739

# Amount of loopback device to map before bad range. Move the end of this

3840

# around to make sure the error region doesn't make fs creation fail.

3941

STARTSZ=$(( 58 * $BLOCKS_MB ))

@@ -74,7 +76,11 @@ __END__

74767577

dmsetup mknodes errdev1

767877-

sudo mkfs.$FSTYPE $MKFSOPTS /dev/mapper/errdev1

79+

if [ "$FSTYPE" == "zfs" ]; then

80+

sudo zpool create pool0 /dev/mapper/errdev1

81+

else

82+

sudo mkfs.$FSTYPE $MKFSOPTS /dev/mapper/errdev1

83+

fi

78847985

# make a FS on it and mount it

8086

mkdir -p /mnt/tmp

@@ -83,9 +89,14 @@ __END__

8389

else

8490

OPTSSTR="-o $MOUNTOPTS"

8591

fi

86-

mount /dev/mapper/errdev1 /mnt/tmp $OPTSSTR

92+

if [ "$FSTYPE" == "zfs" ]; then

93+

zfs set mountpoint=/mnt/tmp pool0

94+

trap "{ trap EXIT; zpool destroy pool0; dmsetup remove errdev1; losetup -d ${LOOPDEV}; }" EXIT

95+

else

96+

mount /dev/mapper/errdev1 /mnt/tmp $OPTSSTR

97+

trap "{ trap EXIT; umount /mnt/tmp; dmsetup remove errdev1; losetup -d ${LOOPDEV}; }" EXIT

98+

fi

879988-

trap "{ trap EXIT; umount /mnt/tmp; dmsetup remove errdev1; losetup -d ${LOOPDEV}; }" EXIT

89100

}

9010191102

fs_cleanup()

Read the original on github.com ↗