1eda14cbcSMatt Macy#!/bin/ksh -p 2eda14cbcSMatt Macy# 3eda14cbcSMatt Macy# CDDL HEADER START 4eda14cbcSMatt Macy# 5eda14cbcSMatt Macy# The contents of this file are subject to the terms of the 6eda14cbcSMatt Macy# Common Development and Distribution License (the "License"). 7eda14cbcSMatt Macy# You may not use this file except in compliance with the License. 8eda14cbcSMatt Macy# 9eda14cbcSMatt Macy# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10*271171e0SMartin Matuska# or https://opensource.org/licenses/CDDL-1.0. 11eda14cbcSMatt Macy# See the License for the specific language governing permissions 12eda14cbcSMatt Macy# and limitations under the License. 13eda14cbcSMatt Macy# 14eda14cbcSMatt Macy# When distributing Covered Code, include this CDDL HEADER in each 15eda14cbcSMatt Macy# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16eda14cbcSMatt Macy# If applicable, add the following below this CDDL HEADER, with the 17eda14cbcSMatt Macy# fields enclosed by brackets "[]" replaced with your own identifying 18eda14cbcSMatt Macy# information: Portions Copyright [yyyy] [name of copyright owner] 19eda14cbcSMatt Macy# 20eda14cbcSMatt Macy# CDDL HEADER END 21eda14cbcSMatt Macy# 22eda14cbcSMatt Macy 23eda14cbcSMatt Macy# 24eda14cbcSMatt Macy# Copyright 2008 Sun Microsystems, Inc. All rights reserved. 25eda14cbcSMatt Macy# Use is subject to license terms. 26eda14cbcSMatt Macy# 27eda14cbcSMatt Macy 28eda14cbcSMatt Macy# 29eda14cbcSMatt Macy# Copyright (c) 2013, 2016 by Delphix. All rights reserved. 30eda14cbcSMatt Macy# Copyright 2016 Nexenta Systems, Inc. 31eda14cbcSMatt Macy# 32eda14cbcSMatt Macy 33eda14cbcSMatt Macy. $STF_SUITE/include/libtest.shlib 34eda14cbcSMatt Macy. $STF_SUITE/tests/functional/zvol/zvol_common.shlib 35eda14cbcSMatt Macy 36eda14cbcSMatt Macy# 37eda14cbcSMatt Macy# DESCRIPTION: 38eda14cbcSMatt Macy# Verify creating a storage pool or running newfs on a zvol used as a 39eda14cbcSMatt Macy# dump device is denied. 40eda14cbcSMatt Macy# 41eda14cbcSMatt Macy# STRATEGY: 42eda14cbcSMatt Macy# 1. Create a ZFS volume 43eda14cbcSMatt Macy# 2. Use dumpadm to set the volume as dump device 44eda14cbcSMatt Macy# 3. Verify creating a pool & running newfs on the zvol returns an error. 45eda14cbcSMatt Macy# 46eda14cbcSMatt Macy 47eda14cbcSMatt Macyverify_runnable "global" 48eda14cbcSMatt Macy 49eda14cbcSMatt Macyif ! is_physical_device $DISKS; then 50eda14cbcSMatt Macy log_unsupported "This directory cannot be run on raw files." 51eda14cbcSMatt Macyfi 52eda14cbcSMatt Macy 53eda14cbcSMatt Macyvolsize=$(zfs get -H -o value volsize $TESTPOOL/$TESTVOL) 54eda14cbcSMatt Macy 55eda14cbcSMatt Macyfunction cleanup 56eda14cbcSMatt Macy{ 57eda14cbcSMatt Macy typeset dumpdev=$(get_dumpdevice) 58eda14cbcSMatt Macy if [[ $dumpdev != $savedumpdev ]] ; then 59eda14cbcSMatt Macy safe_dumpadm $savedumpdev 60eda14cbcSMatt Macy fi 61eda14cbcSMatt Macy 62eda14cbcSMatt Macy if poolexists $TESTPOOL1 ; then 63eda14cbcSMatt Macy destroy_pool $TESTPOOL1 64eda14cbcSMatt Macy fi 65eda14cbcSMatt Macy zfs set volsize=$volsize $TESTPOOL/$TESTVOL 66eda14cbcSMatt Macy} 67eda14cbcSMatt Macy 68eda14cbcSMatt Macylog_assert "Verify zpool creation and newfs on dump zvol is denied." 69eda14cbcSMatt Macylog_onexit cleanup 70eda14cbcSMatt Macy 71eda14cbcSMatt Macyvoldev=${ZVOL_DEVDIR}/$TESTPOOL/$TESTVOL 72eda14cbcSMatt Macysavedumpdev=$(get_dumpdevice) 73eda14cbcSMatt Macy 74eda14cbcSMatt Macysafe_dumpadm $voldev 75eda14cbcSMatt Macy 76eda14cbcSMatt Macyunset NOINUSE_CHECK 77eda14cbcSMatt Macylog_mustnot eval "new_fs $voldev > /dev/null 2>&1" 78eda14cbcSMatt Macy 79eda14cbcSMatt Macylog_mustnot zpool create $TESTPOOL1 $voldev 80eda14cbcSMatt Macy 81eda14cbcSMatt Macylog_pass "Verify zpool creation and newfs on dump zvol is denied." 82