Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk
This commit is contained in:
commit
1f3c757320
|
@ -1073,8 +1073,9 @@ zio_taskq_dispatch(zio_t *zio, enum zio_taskq_type q, boolean_t cutinline)
|
|||
q++;
|
||||
|
||||
ASSERT3U(q, <, ZIO_TASKQ_TYPES);
|
||||
(void) taskq_dispatch(spa->spa_zio_taskq[t][q],
|
||||
(task_func_t *)zio_execute, zio, flags);
|
||||
|
||||
while (taskq_dispatch(spa->spa_zio_taskq[t][q],
|
||||
(task_func_t *)zio_execute, zio, flags) == 0); /* do nothing */
|
||||
}
|
||||
|
||||
static boolean_t
|
||||
|
|
|
@ -120,7 +120,7 @@ zconfig_test3() {
|
|||
TMP_FILE1=`mktemp`
|
||||
TMP_CACHE=`mktemp -p /tmp zpool.cache.XXXXXXXX`
|
||||
|
||||
echo -n "test 3 - ZVOL sanity: "
|
||||
echo -n "test 3 - zvol+ext3 sanity: "
|
||||
|
||||
# Create a pool and volume.
|
||||
${ZFS_SH} zfs="spa_config_path=${TMP_CACHE}" || fail 1
|
||||
|
@ -129,7 +129,7 @@ zconfig_test3() {
|
|||
|
||||
# Partition the volume, for a 400M volume there will be
|
||||
# 812 cylinders, 16 heads, and 63 sectors per track.
|
||||
/sbin/sfdisk -q /dev/${FULL_NAME} << EOF &>${TMP_FILE1} || fail 4
|
||||
/sbin/sfdisk -q /dev/zvol/${FULL_NAME} << EOF &>${TMP_FILE1} || fail 4
|
||||
,812
|
||||
;
|
||||
;
|
||||
|
@ -137,11 +137,11 @@ zconfig_test3() {
|
|||
EOF
|
||||
|
||||
# Format the partition with ext3.
|
||||
/sbin/mkfs.ext3 /dev/${FULL_NAME}1 &>${TMP_FILE1} || fail 5
|
||||
/sbin/mkfs.ext3 /dev/zvol/${FULL_NAME}1 &>${TMP_FILE1} || fail 5
|
||||
|
||||
# Mount the ext3 filesystem and copy some data to it.
|
||||
mkdir -p /tmp/${ZVOL_NAME} || fail 6
|
||||
mount /dev/${FULL_NAME}1 /tmp/${ZVOL_NAME} || fail 7
|
||||
mount /dev/zvol/${FULL_NAME}1 /tmp/${ZVOL_NAME} || fail 7
|
||||
cp -RL ${SRC_DIR} /tmp/${ZVOL_NAME} || fail 8
|
||||
|
||||
# Verify the copied files match the original files.
|
||||
|
@ -159,4 +159,122 @@ EOF
|
|||
}
|
||||
zconfig_test3
|
||||
|
||||
# zpool import/export device check (1 volume, 1 snapshot, 1 clone)
|
||||
zconfig_test4() {
|
||||
POOL_NAME=tank
|
||||
ZVOL_NAME=volume
|
||||
SNAP_NAME=snapshot
|
||||
CLONE_NAME=clone
|
||||
FULL_ZVOL_NAME=${POOL_NAME}/${ZVOL_NAME}
|
||||
FULL_SNAP_NAME=${POOL_NAME}/${ZVOL_NAME}@${SNAP_NAME}
|
||||
FULL_CLONE_NAME=${POOL_NAME}/${CLONE_NAME}
|
||||
TMP_CACHE=`mktemp -p /tmp zpool.cache.XXXXXXXX`
|
||||
|
||||
echo -n "test 4 - zpool import/export device: "
|
||||
|
||||
# Create a pool, volume, snapshot, and clone
|
||||
${ZFS_SH} zfs="spa_config_path=${TMP_CACHE}" || fail 1
|
||||
${ZPOOL_CREATE_SH} -p ${POOL_NAME} -c lo-raidz2 || fail 2
|
||||
${ZFS} create -V 100M ${FULL_ZVOL_NAME} || fail 3
|
||||
${ZFS} snapshot ${FULL_SNAP_NAME} || fail 4
|
||||
${ZFS} clone ${FULL_SNAP_NAME} ${FULL_CLONE_NAME} || fail 5
|
||||
|
||||
# Verify the devices were created
|
||||
stat /dev/zvol/${POOL_NAME} &>/dev/null || fail 6
|
||||
stat /dev/zvol/${FULL_ZVOL_NAME} &>/dev/null || fail 7
|
||||
stat /dev/zvol/${FULL_SNAP_NAME} &>/dev/null || fail 8
|
||||
stat /dev/zvol/${FULL_CLONE_NAME} &>/dev/null || fail 9
|
||||
|
||||
# Export the pool
|
||||
${ZPOOL} export ${POOL_NAME} || fail 10
|
||||
|
||||
# Verify the devices were removed
|
||||
stat /dev/zvol/${POOL_NAME} &>/dev/null && fail 11
|
||||
stat /dev/zvol/${FULL_ZVOL_NAME} &>/dev/null && fail 12
|
||||
stat /dev/zvol/${FULL_SNAP_NAME} &>/dev/null && fail 13
|
||||
stat /dev/zvol/${FULL_CLONE_NAME} &>/dev/null && fail 14
|
||||
|
||||
# Import the pool, wait 1 second for udev
|
||||
${ZPOOL} import ${POOL_NAME} && sleep 1 || fail 15
|
||||
|
||||
# Verify the devices were created
|
||||
stat /dev/zvol/${POOL_NAME} &>/dev/null || fail 16
|
||||
stat /dev/zvol/${FULL_ZVOL_NAME} &>/dev/null || fail 17
|
||||
stat /dev/zvol/${FULL_SNAP_NAME} &>/dev/null || fail 18
|
||||
stat /dev/zvol/${FULL_CLONE_NAME} &>/dev/null || fail 19
|
||||
|
||||
# Destroy the pool and consequently the devices
|
||||
${ZPOOL_CREATE_SH} -p ${POOL_NAME} -c lo-raidz2 -d || fail 20
|
||||
|
||||
# Verify the devices were removed
|
||||
stat /dev/zvol/${POOL_NAME} &>/dev/null && fail 21
|
||||
stat /dev/zvol/${FULL_ZVOL_NAME} &>/dev/null && fail 22
|
||||
stat /dev/zvol/${FULL_SNAP_NAME} &>/dev/null && fail 23
|
||||
stat /dev/zvol/${FULL_CLONE_NAME} &>/dev/null && fail 24
|
||||
|
||||
${ZFS_SH} -u || fail 25
|
||||
|
||||
pass
|
||||
}
|
||||
zconfig_test4
|
||||
|
||||
# zpool insmod/rmmod device check (1 volume, 1 snapshot, 1 clone)
|
||||
zconfig_test5() {
|
||||
POOL_NAME=tank
|
||||
ZVOL_NAME=volume
|
||||
SNAP_NAME=snapshot
|
||||
CLONE_NAME=clone
|
||||
FULL_ZVOL_NAME=${POOL_NAME}/${ZVOL_NAME}
|
||||
FULL_SNAP_NAME=${POOL_NAME}/${ZVOL_NAME}@${SNAP_NAME}
|
||||
FULL_CLONE_NAME=${POOL_NAME}/${CLONE_NAME}
|
||||
TMP_CACHE=`mktemp -p /tmp zpool.cache.XXXXXXXX`
|
||||
|
||||
echo -n "test 5 - zpool insmod/rmmod device: "
|
||||
|
||||
# Create a pool, volume, snapshot, and clone
|
||||
${ZFS_SH} zfs="spa_config_path=${TMP_CACHE}" || fail 1
|
||||
${ZPOOL_CREATE_SH} -p ${POOL_NAME} -c lo-raidz2 || fail 2
|
||||
${ZFS} create -V 100M ${FULL_ZVOL_NAME} || fail 3
|
||||
${ZFS} snapshot ${FULL_SNAP_NAME} || fail 4
|
||||
${ZFS} clone ${FULL_SNAP_NAME} ${FULL_CLONE_NAME} || fail 5
|
||||
|
||||
# Verify the devices were created
|
||||
stat /dev/zvol/${POOL_NAME} &>/dev/null || fail 6
|
||||
stat /dev/zvol/${FULL_ZVOL_NAME} &>/dev/null || fail 7
|
||||
stat /dev/zvol/${FULL_SNAP_NAME} &>/dev/null || fail 8
|
||||
stat /dev/zvol/${FULL_CLONE_NAME} &>/dev/null || fail 9
|
||||
|
||||
# Unload the modules
|
||||
${ZFS_SH} -u || fail 10
|
||||
|
||||
# Verify the devices were removed
|
||||
stat /dev/zvol/${POOL_NAME} &>/dev/null && fail 11
|
||||
stat /dev/zvol/${FULL_ZVOL_NAME} &>/dev/null && fail 12
|
||||
stat /dev/zvol/${FULL_SNAP_NAME} &>/dev/null && fail 13
|
||||
stat /dev/zvol/${FULL_CLONE_NAME} &>/dev/null && fail 14
|
||||
|
||||
# Load the modules, wait 1 second for udev
|
||||
${ZFS_SH} zfs="spa_config_path=${TMP_CACHE}" && sleep 1 || fail 15
|
||||
|
||||
# Verify the devices were created
|
||||
stat /dev/zvol/${POOL_NAME} &>/dev/null || fail 16
|
||||
stat /dev/zvol/${FULL_ZVOL_NAME} &>/dev/null || fail 17
|
||||
stat /dev/zvol/${FULL_SNAP_NAME} &>/dev/null || fail 18
|
||||
stat /dev/zvol/${FULL_CLONE_NAME} &>/dev/null || fail 19
|
||||
|
||||
# Destroy the pool and consequently the devices
|
||||
${ZPOOL_CREATE_SH} -p ${POOL_NAME} -c lo-raidz2 -d || fail 20
|
||||
|
||||
# Verify the devices were removed
|
||||
stat /dev/zvol/${POOL_NAME} &>/dev/null && fail 21
|
||||
stat /dev/zvol/${FULL_ZVOL_NAME} &>/dev/null && fail 22
|
||||
stat /dev/zvol/${FULL_SNAP_NAME} &>/dev/null && fail 23
|
||||
stat /dev/zvol/${FULL_CLONE_NAME} &>/dev/null && fail 24
|
||||
|
||||
${ZFS_SH} -u || fail 25
|
||||
|
||||
pass
|
||||
}
|
||||
zconfig_test5
|
||||
|
||||
exit 0
|
||||
|
|
|
@ -12,8 +12,8 @@ zpool_create() {
|
|||
for FILE in ${FILES}; do
|
||||
msg "Creating ${FILE}"
|
||||
rm -f ${FILE} || exit 1
|
||||
dd if=/dev/zero of=${FILE} bs=1024k count=256 &>/dev/null ||
|
||||
die "Error $? creating ${FILE}"
|
||||
dd if=/dev/zero of=${FILE} bs=1024k count=0 seek=256 \
|
||||
&>/dev/null || die "Error $? creating ${FILE}"
|
||||
done
|
||||
|
||||
msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${FILES}
|
||||
|
|
|
@ -13,8 +13,8 @@ zpool_create() {
|
|||
for FILE in ${FILES}; do
|
||||
msg "Creating ${FILE}"
|
||||
rm -f ${FILE} || exit 1
|
||||
dd if=/dev/zero of=${FILE} bs=1024k count=256 &>/dev/null ||
|
||||
die "Error $? creating ${FILE}"
|
||||
dd if=/dev/zero of=${FILE} bs=1024k count=0 seek=256 \
|
||||
&>/dev/null || die "Error $? creating ${FILE}"
|
||||
done
|
||||
|
||||
msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} \
|
||||
|
|
|
@ -12,8 +12,8 @@ zpool_create() {
|
|||
for FILE in ${FILES}; do
|
||||
msg "Creating ${FILE}"
|
||||
rm -f ${FILE} || exit 1
|
||||
dd if=/dev/zero of=${FILE} bs=1024k count=256 &>/dev/null ||
|
||||
die "Error $? creating ${FILE}"
|
||||
dd if=/dev/zero of=${FILE} bs=1024k count=0 seek=256 \
|
||||
&>/dev/null || die "Error $? creating ${FILE}"
|
||||
done
|
||||
|
||||
msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} raidz ${FILES}
|
||||
|
|
|
@ -12,8 +12,8 @@ zpool_create() {
|
|||
for FILE in ${FILES}; do
|
||||
msg "Creating ${FILE}"
|
||||
rm -f ${FILE} || exit 1
|
||||
dd if=/dev/zero of=${FILE} bs=1024k count=256 &>/dev/null ||
|
||||
die "Error $? creating ${FILE}"
|
||||
dd if=/dev/zero of=${FILE} bs=1024k count=0 seek=256 \
|
||||
&>/dev/null || die "Error $? creating ${FILE}"
|
||||
done
|
||||
|
||||
msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} raidz2 ${FILES}
|
||||
|
|
|
@ -14,8 +14,8 @@ zpool_create() {
|
|||
DEVICE=`unused_loop_device`
|
||||
msg "Creating ${FILE} using loopback device ${DEVICE}"
|
||||
rm -f ${FILE} || exit 1
|
||||
dd if=/dev/zero of=${FILE} bs=1024k count=256 &>/dev/null ||
|
||||
die "Error $? creating ${FILE}"
|
||||
dd if=/dev/zero of=${FILE} bs=1024k count=0 seek=256 \
|
||||
&>/dev/null || die "Error $? creating ${FILE}"
|
||||
${LOSETUP} ${DEVICE} ${FILE} ||
|
||||
die "Error $? creating ${FILE} -> ${DEVICE} loopback"
|
||||
DEVICES="${DEVICES} ${DEVICE}"
|
||||
|
|
|
@ -16,8 +16,8 @@ zpool_create() {
|
|||
DEVICE=`unused_loop_device`
|
||||
msg "Creating ${FILE} using loopback device ${DEVICE}"
|
||||
rm -f ${FILE} || exit 1
|
||||
dd if=/dev/zero of=${FILE} bs=1024k count=256 &>/dev/null ||
|
||||
die "Error $? creating ${FILE}"
|
||||
dd if=/dev/zero of=${FILE} bs=1024k count=0 seek=256 \
|
||||
&>/dev/null || die "Error $? creating ${FILE}"
|
||||
${LOSETUP} ${DEVICE} ${FILE} ||
|
||||
die "Error $? creating ${FILE} -> ${DEVICE} loopback"
|
||||
DEVICES_M1="${DEVICES_M1} ${DEVICE}"
|
||||
|
@ -27,8 +27,8 @@ zpool_create() {
|
|||
DEVICE=`unused_loop_device`
|
||||
msg "Creating ${FILE} using loopback device ${DEVICE}"
|
||||
rm -f ${FILE} || exit 1
|
||||
dd if=/dev/zero of=${FILE} bs=1024k count=256 &>/dev/null ||
|
||||
die "Error $? creating ${FILE}"
|
||||
dd if=/dev/zero of=${FILE} bs=1024k count=0 seek=256 \
|
||||
&>/dev/null || die "Error $? creating ${FILE}"
|
||||
${LOSETUP} ${DEVICE} ${FILE} ||
|
||||
die "Error $? creating ${FILE} -> ${DEVICE} loopback"
|
||||
DEVICES_M2="${DEVICES_M2} ${DEVICE}"
|
||||
|
|
|
@ -14,8 +14,8 @@ zpool_create() {
|
|||
DEVICE=`unused_loop_device`
|
||||
msg "Creating ${FILE} using loopback device ${DEVICE}"
|
||||
rm -f ${FILE} || exit 1
|
||||
dd if=/dev/zero of=${FILE} bs=1024k count=256 &>/dev/null ||
|
||||
die "Error $? creating ${FILE}"
|
||||
dd if=/dev/zero of=${FILE} bs=1024k count=0 seek=256 \
|
||||
&>/dev/null || die "Error $? creating ${FILE}"
|
||||
${LOSETUP} ${DEVICE} ${FILE} ||
|
||||
die "Error $? creating ${FILE} -> ${DEVICE} loopback"
|
||||
DEVICES="${DEVICES} ${DEVICE}"
|
||||
|
|
|
@ -14,8 +14,8 @@ zpool_create() {
|
|||
DEVICE=`unused_loop_device`
|
||||
msg "Creating ${FILE} using loopback device ${DEVICE}"
|
||||
rm -f ${FILE} || exit 1
|
||||
dd if=/dev/zero of=${FILE} bs=1024k count=256 &>/dev/null ||
|
||||
die "Error $? creating ${FILE}"
|
||||
dd if=/dev/zero of=${FILE} bs=1024k count=0 seek=256 \
|
||||
&>/dev/null || die "Error $? creating ${FILE}"
|
||||
${LOSETUP} ${DEVICE} ${FILE} ||
|
||||
die "Error $? creating ${FILE} -> ${DEVICE} loopback"
|
||||
DEVICES="${DEVICES} ${DEVICE}"
|
||||
|
|
Loading…
Reference in New Issue