mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-01-13 19:50:25 +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 2014 Nexenta Systems, Inc.
|
||||
#
|
||||
|
||||
. $STF_SUITE/include/libtest.shlib
|
||||
@ -34,35 +35,35 @@
|
||||
#
|
||||
# DESCRIPTION:
|
||||
#
|
||||
# the zfs rootpool can not be destroyed
|
||||
# the zfs rootpool/rootfs can not be destroyed
|
||||
#
|
||||
# STRATEGY:
|
||||
# 1) check if the current system is installed as zfs root
|
||||
# 2) get the rootpool
|
||||
# 3) try to destroy the rootpool, which should fail.
|
||||
# 4) try to destroy the rootpool filesystem, which should fail.
|
||||
# 3) try to destroy the rootpool, which should fail
|
||||
# 4) try to destroy the rootpool filesystem, which should fail
|
||||
#
|
||||
|
||||
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 tmpfile="/tmp/mounted-datasets.$$"
|
||||
|
||||
# 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
|
||||
# some filesystems can become unmounted in the process, and aren't automatically
|
||||
# remounted.
|
||||
mount -p | awk '{if ($4 == "zfs") print $1" "$3}' > $tmpfile
|
||||
# damage done by the attempted pool destroy. The destroy itself should fail,
|
||||
# but some filesystems can become unmounted in the process, and aren't
|
||||
# automatically remounted.
|
||||
mount -p | awk '{if ($4 == "zfs") print $1}' > $tmpfile
|
||||
|
||||
log_mustnot zpool destroy $rootpool
|
||||
|
||||
# Remount any filesystems that the destroy attempt unmounted.
|
||||
while read ds mntpt; do
|
||||
mounted $ds || log_must mount -Fzfs $ds $mntpt
|
||||
while read ds; do
|
||||
mounted $ds || log_must zfs mount $ds
|
||||
done < $tmpfile
|
||||
rm -f $tmpfile
|
||||
|
||||
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