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