1*eda14cbcSMatt Macy#!/bin/ksh -p 2*eda14cbcSMatt Macy# 3*eda14cbcSMatt Macy# This file and its contents are supplied under the terms of the 4*eda14cbcSMatt Macy# Common Development and Distribution License ("CDDL"), version 1.0. 5*eda14cbcSMatt Macy# You may only use this file in accordance with the terms of version 6*eda14cbcSMatt Macy# 1.0 of the CDDL. 7*eda14cbcSMatt Macy# 8*eda14cbcSMatt Macy# A full copy of the text of the CDDL should have accompanied this 9*eda14cbcSMatt Macy# source. A copy of the CDDL is also available via the Internet at 10*eda14cbcSMatt Macy# http://www.illumos.org/license/CDDL. 11*eda14cbcSMatt Macy# 12*eda14cbcSMatt Macy 13*eda14cbcSMatt Macy# 14*eda14cbcSMatt Macy# Copyright (c) 2016 by Delphix. All rights reserved. 15*eda14cbcSMatt Macy# 16*eda14cbcSMatt Macy 17*eda14cbcSMatt Macy. $STF_SUITE/tests/functional/channel_program/channel_common.kshlib 18*eda14cbcSMatt Macy. $STF_SUITE/tests/functional/zvol/zvol_common.shlib 19*eda14cbcSMatt Macy 20*eda14cbcSMatt Macy# 21*eda14cbcSMatt Macy# DESCRIPTION: 22*eda14cbcSMatt Macy# Getting filesystem and snapshot count/limit props should work correctly. 23*eda14cbcSMatt Macy# 24*eda14cbcSMatt Macy 25*eda14cbcSMatt Macyverify_runnable "global" 26*eda14cbcSMatt Macy 27*eda14cbcSMatt Macyfs=$TESTPOOL/testchild 28*eda14cbcSMatt Macysnap=$fs@$TESTSNAP 29*eda14cbcSMatt Macy 30*eda14cbcSMatt Macyfunction cleanup 31*eda14cbcSMatt Macy{ 32*eda14cbcSMatt Macy destroy_dataset $fs "-R" 33*eda14cbcSMatt Macy log_must rm -rf $fs/foo 34*eda14cbcSMatt Macy log_must rm -rf $fs/bar 35*eda14cbcSMatt Macy} 36*eda14cbcSMatt Macy 37*eda14cbcSMatt Macylog_onexit cleanup 38*eda14cbcSMatt Macy 39*eda14cbcSMatt Macylog_must zfs create $fs 40*eda14cbcSMatt Macylog_must zfs create $fs/foo 41*eda14cbcSMatt Macycreate_snapshot $fs $TESTSNAP 42*eda14cbcSMatt Macy 43*eda14cbcSMatt Macylog_must_program $TESTPOOL - <<-EOF 44*eda14cbcSMatt Macy ans, src = zfs.get_prop("$fs", "snapshot_limit") 45*eda14cbcSMatt Macy assert(ans == -1) 46*eda14cbcSMatt Macy assert(src == 'default') 47*eda14cbcSMatt Macy 48*eda14cbcSMatt Macy ans, src = zfs.get_prop("$fs", "snapshot_count") 49*eda14cbcSMatt Macy assert(ans == nil) 50*eda14cbcSMatt Macy assert(src == nil) 51*eda14cbcSMatt MacyEOF 52*eda14cbcSMatt Macy 53*eda14cbcSMatt Macylog_must_program $TESTPOOL - <<-EOF 54*eda14cbcSMatt Macy ans, src = zfs.get_prop("$fs", "filesystem_limit") 55*eda14cbcSMatt Macy assert(ans == -1) 56*eda14cbcSMatt Macy assert(src == 'default') 57*eda14cbcSMatt Macy 58*eda14cbcSMatt Macy ans, src = zfs.get_prop("$fs", "filesystem_count") 59*eda14cbcSMatt Macy assert(ans == nil) 60*eda14cbcSMatt Macy assert(src == nil) 61*eda14cbcSMatt MacyEOF 62*eda14cbcSMatt Macy 63*eda14cbcSMatt Macylog_must zfs set snapshot_limit=10 $fs 64*eda14cbcSMatt Macy 65*eda14cbcSMatt Macylog_must_program $TESTPOOL - <<-EOF 66*eda14cbcSMatt Macy ans, src = zfs.get_prop("$fs", "snapshot_limit") 67*eda14cbcSMatt Macy assert(ans == 10) 68*eda14cbcSMatt Macy assert(src == '$fs') 69*eda14cbcSMatt Macy 70*eda14cbcSMatt Macy ans, src = zfs.get_prop("$fs", "snapshot_count") 71*eda14cbcSMatt Macy assert(ans == 1) 72*eda14cbcSMatt Macy assert(src == nil) 73*eda14cbcSMatt MacyEOF 74*eda14cbcSMatt Macy 75*eda14cbcSMatt Macylog_must zfs set filesystem_limit=8 $fs 76*eda14cbcSMatt Macy 77*eda14cbcSMatt Macylog_must zfs create $fs/bar 78*eda14cbcSMatt Macy 79*eda14cbcSMatt Macylog_must_program $TESTPOOL - <<-EOF 80*eda14cbcSMatt Macy ans, src = zfs.get_prop("$fs", "filesystem_limit") 81*eda14cbcSMatt Macy assert(ans == 8) 82*eda14cbcSMatt Macy assert(src == '$fs') 83*eda14cbcSMatt Macy 84*eda14cbcSMatt Macy ans, src = zfs.get_prop("$fs", "filesystem_count") 85*eda14cbcSMatt Macy assert(ans == 2) 86*eda14cbcSMatt Macy assert(src == nil) 87*eda14cbcSMatt MacyEOF 88*eda14cbcSMatt Macy 89*eda14cbcSMatt Macylog_pass "Getting filesystem and snapshot count/limit props should work correctly." 90