mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-01-14 20:20:26 +03:00
OpenZFS 8076 - zfs-tests suite fails rootpool_002_neg
Authored by: Yuri Pankov <yuri.pankov@nexenta.com> Reviewed by: John Kennedy <jwk404@gmail.com> Reviewed by: Prakash Surya <prakash.surya@delphix.com> Approved by: Richard Lowe <richlowe@richlowe.net> Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Ported-by: bunder2015 <omfgbunder@gmail.com> OpenZFS-issue: https://www.illumos.org/issues/8076 OpenZFS-commit: https://github.com/openzfs/openzfs/commit/ab3407e Closes #6162
This commit is contained in:
parent
ea8c83fdda
commit
ff77013053
@ -27,6 +27,7 @@
|
|||||||
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
|
# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
|
||||||
|
# Copyright 2014 Nexenta Systems, Inc.
|
||||||
#
|
#
|
||||||
|
|
||||||
. $STF_SUITE/include/libtest.shlib
|
. $STF_SUITE/include/libtest.shlib
|
||||||
@ -34,35 +35,35 @@
|
|||||||
#
|
#
|
||||||
# DESCRIPTION:
|
# DESCRIPTION:
|
||||||
#
|
#
|
||||||
# the zfs rootpool can not be destroyed
|
# the zfs rootpool/rootfs can not be destroyed
|
||||||
#
|
#
|
||||||
# STRATEGY:
|
# STRATEGY:
|
||||||
# 1) check if the current system is installed as zfs root
|
# 1) check if the current system is installed as zfs root
|
||||||
# 2) get the rootpool
|
# 2) get the rootpool
|
||||||
# 3) try to destroy the rootpool, which should fail.
|
# 3) try to destroy the rootpool, which should fail
|
||||||
# 4) try to destroy the rootpool filesystem, which should fail.
|
# 4) try to destroy the rootpool filesystem, which should fail
|
||||||
#
|
#
|
||||||
|
|
||||||
verify_runnable "global"
|
verify_runnable "global"
|
||||||
log_assert "zpool/zfs destory <rootpool> should return error"
|
log_assert "zpool/zfs destroy <rootpool> should fail"
|
||||||
|
|
||||||
typeset rootpool=$(get_rootpool)
|
typeset rootpool=$(get_rootpool)
|
||||||
typeset tmpfile="/tmp/mounted-datasets.$$"
|
typeset tmpfile="/tmp/mounted-datasets.$$"
|
||||||
|
|
||||||
# Collect the currently mounted ZFS filesystems, so that we can repair any
|
# Collect the currently mounted ZFS filesystems, so that we can repair any
|
||||||
# damage done by the attempted pool destroy. The destroy itself should fail, but
|
# damage done by the attempted pool destroy. The destroy itself should fail,
|
||||||
# some filesystems can become unmounted in the process, and aren't automatically
|
# but some filesystems can become unmounted in the process, and aren't
|
||||||
# remounted.
|
# automatically remounted.
|
||||||
mount -p | awk '{if ($4 == "zfs") print $1" "$3}' > $tmpfile
|
mount -p | awk '{if ($4 == "zfs") print $1}' > $tmpfile
|
||||||
|
|
||||||
log_mustnot zpool destroy $rootpool
|
log_mustnot zpool destroy $rootpool
|
||||||
|
|
||||||
# Remount any filesystems that the destroy attempt unmounted.
|
# Remount any filesystems that the destroy attempt unmounted.
|
||||||
while read ds mntpt; do
|
while read ds; do
|
||||||
mounted $ds || log_must mount -Fzfs $ds $mntpt
|
mounted $ds || log_must zfs mount $ds
|
||||||
done < $tmpfile
|
done < $tmpfile
|
||||||
rm -f $tmpfile
|
rm -f $tmpfile
|
||||||
|
|
||||||
log_mustnot zfs destroy $rootpool
|
log_mustnot zfs destroy $rootpool
|
||||||
|
|
||||||
log_pass "rootpool can not be destroyed"
|
log_pass "rootpool/rootfs can not be destroyed"
|
||||||
|
Loading…
Reference in New Issue
Block a user