1eda14cbcSMatt Macy#!/bin/ksh 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) 2016 by Delphix. All rights reserved. 30eda14cbcSMatt Macy# 31eda14cbcSMatt Macy 32eda14cbcSMatt Macy. $STF_SUITE/include/libtest.shlib 33eda14cbcSMatt Macy. $STF_SUITE/tests/functional/cli_root/zfs_copies/zfs_copies.kshlib 34eda14cbcSMatt Macy 35eda14cbcSMatt Macy# 36eda14cbcSMatt Macy# DESCRIPTION: 37eda14cbcSMatt Macy# Verify that copies cannot be set with pool version 1 38eda14cbcSMatt Macy# 39eda14cbcSMatt Macy# STRATEGY: 40eda14cbcSMatt Macy# 1. Create filesystems with copies set in a pool with version 1 41eda14cbcSMatt Macy# 2. Verify that the create operations fail 42eda14cbcSMatt Macy# 43eda14cbcSMatt Macy 44eda14cbcSMatt Macyverify_runnable "global" 45eda14cbcSMatt Macy 46eda14cbcSMatt Macyfunction cleanup 47eda14cbcSMatt Macy{ 48eda14cbcSMatt Macy if poolexists $ZPOOL_VERSION_1_NAME; then 49eda14cbcSMatt Macy destroy_pool $ZPOOL_VERSION_1_NAME 50eda14cbcSMatt Macy fi 51eda14cbcSMatt Macy 52eda14cbcSMatt Macy if [[ -f $TEST_BASE_DIR/$ZPOOL_VERSION_1_FILES ]]; then 53eda14cbcSMatt Macy rm -f $TEST_BASE_DIR/$ZPOOL_VERSION_1_FILES 54eda14cbcSMatt Macy fi 55eda14cbcSMatt Macy 56eda14cbcSMatt Macy if [[ -f $TEST_BASE_DIR/${ZPOOL_VERSION_1_FILES%.*} ]]; then 57eda14cbcSMatt Macy rm -f $TEST_BASE_DIR/${ZPOOL_VERSION_1_FILES%.*} 58eda14cbcSMatt Macy fi 59eda14cbcSMatt Macy} 60eda14cbcSMatt Macy 61eda14cbcSMatt Macylog_assert "Verify that copies cannot be set with pool version 1" 62eda14cbcSMatt Macylog_onexit cleanup 63eda14cbcSMatt Macy 64eda14cbcSMatt Macylog_must cp $STF_SUITE/tests/functional/cli_root/zpool_upgrade/blockfiles/$ZPOOL_VERSION_1_FILES $TEST_BASE_DIR 65eda14cbcSMatt Macylog_must bunzip2 $TEST_BASE_DIR/$ZPOOL_VERSION_1_FILES 66eda14cbcSMatt Macylog_must zpool import -d $TEST_BASE_DIR $ZPOOL_VERSION_1_NAME 67eda14cbcSMatt Macylog_must zfs create $ZPOOL_VERSION_1_NAME/$TESTFS 68eda14cbcSMatt Macylog_must zfs create -V 1m $ZPOOL_VERSION_1_NAME/$TESTVOL 69eda14cbcSMatt Macyblock_device_wait 70eda14cbcSMatt Macy 71eda14cbcSMatt Macyfor val in 3 2 1; do 72eda14cbcSMatt Macy for ds in $ZPOOL_VERSION_1_NAME/$TESTFS $ZPOOL_VERSION_1_NAME/$TESTVOL; do 73eda14cbcSMatt Macy log_mustnot zfs set copies=$val $ds 74eda14cbcSMatt Macy done 75eda14cbcSMatt Macy for ds in $ZPOOL_VERSION_1_NAME/$TESTFS1 $ZPOOL_VERSION_1_NAME/$TESTVOL1; do 76eda14cbcSMatt Macy log_mustnot zfs create -o copies=$val $ds 77eda14cbcSMatt Macy done 78eda14cbcSMatt Macydone 79eda14cbcSMatt Macy 80eda14cbcSMatt Macylog_pass "Verification pass: copies cannot be set with pool version 1. " 81