1*dfc11533SChris Williamson#!/bin/ksh -p 2*dfc11533SChris Williamson# 3*dfc11533SChris Williamson# This file and its contents are supplied under the terms of the 4*dfc11533SChris Williamson# Common Development and Distribution License ("CDDL"), version 1.0. 5*dfc11533SChris Williamson# You may only use this file in accordance with the terms of version 6*dfc11533SChris Williamson# 1.0 of the CDDL. 7*dfc11533SChris Williamson# 8*dfc11533SChris Williamson# A full copy of the text of the CDDL should have accompanied this 9*dfc11533SChris Williamson# source. A copy of the CDDL is also available via the Internet at 10*dfc11533SChris Williamson# http://www.illumos.org/license/CDDL. 11*dfc11533SChris Williamson# 12*dfc11533SChris Williamson 13*dfc11533SChris Williamson# 14*dfc11533SChris Williamson# Copyright (c) 2016 by Delphix. All rights reserved. 15*dfc11533SChris Williamson# 16*dfc11533SChris Williamson 17*dfc11533SChris Williamson. $STF_SUITE/tests/functional/channel_program/channel_common.kshlib 18*dfc11533SChris Williamson. $STF_SUITE/tests/functional/userquota/userquota_common.kshlib 19*dfc11533SChris Williamson 20*dfc11533SChris Williamson# 21*dfc11533SChris Williamson# DESCRIPTION: 22*dfc11533SChris Williamson# "Getting {user,group}{quota,used}, should work correctly." 23*dfc11533SChris Williamson# 24*dfc11533SChris Williamson 25*dfc11533SChris Williamsonverify_runnable "global" 26*dfc11533SChris Williamson 27*dfc11533SChris Williamsonfs=$TESTPOOL/$TESTFS/testchild 28*dfc11533SChris Williamsonfs1=$TESTPOOL/$TESTFS/nextchild 29*dfc11533SChris Williamsonuserid='123' 30*dfc11533SChris Williamsongroupid='456' 31*dfc11533SChris Williamson 32*dfc11533SChris Williamsonfunction cleanup 33*dfc11533SChris Williamson{ 34*dfc11533SChris Williamson datasetexists $fs && log_must zfs destroy $fs 35*dfc11533SChris Williamson datasetexists $fs1 && log_must zfs destroy $fs1 36*dfc11533SChris Williamson} 37*dfc11533SChris Williamson 38*dfc11533SChris Williamsonlog_onexit cleanup 39*dfc11533SChris Williamson 40*dfc11533SChris Williamsonlog_must zfs create -o userquota@$userid=$UQUOTA_SIZE \ 41*dfc11533SChris Williamson -o groupquota@$groupid=$GQUOTA_SIZE $fs 42*dfc11533SChris Williamson 43*dfc11533SChris Williamsonlog_must_program $TESTPOOL - <<-EOF 44*dfc11533SChris Williamson ans, setpoint = zfs.get_prop("$fs", "userquota@$userid") 45*dfc11533SChris Williamson assert(ans == $UQUOTA_SIZE) 46*dfc11533SChris Williamson assert(setpoint == "$fs") 47*dfc11533SChris Williamson 48*dfc11533SChris Williamson ans, setpoint = zfs.get_prop("$fs", "userused@$userid") 49*dfc11533SChris Williamson assert(ans == 0) 50*dfc11533SChris Williamson assert(setpoint == "$fs") 51*dfc11533SChris Williamson 52*dfc11533SChris Williamson ans, setpoint = zfs.get_prop("$fs", "groupquota@$groupid") 53*dfc11533SChris Williamson assert(ans == $GQUOTA_SIZE) 54*dfc11533SChris Williamson assert(setpoint == "$fs") 55*dfc11533SChris Williamson 56*dfc11533SChris Williamson ans, setpoint = zfs.get_prop("$fs", "groupused@$groupid") 57*dfc11533SChris Williamson assert(ans == 0) 58*dfc11533SChris Williamson assert(setpoint == "$fs") 59*dfc11533SChris WilliamsonEOF 60*dfc11533SChris Williamson 61*dfc11533SChris Williamsonlog_must zfs create $fs1 62*dfc11533SChris Williamsonlog_must_program $TESTPOOL - <<-EOF 63*dfc11533SChris Williamson ans, setpoint = zfs.get_prop("$fs1", "userquota@$userid") 64*dfc11533SChris Williamson assert(ans == nil) 65*dfc11533SChris Williamson assert(setpoint == nil) 66*dfc11533SChris Williamson 67*dfc11533SChris Williamson ans, setpoint = zfs.get_prop("$fs1", "userused@$userid") 68*dfc11533SChris Williamson assert(ans == 0) 69*dfc11533SChris Williamson assert(setpoint == "$fs1") 70*dfc11533SChris Williamson 71*dfc11533SChris Williamson ans, setpoint = zfs.get_prop("$fs1", "groupquota@$groupid") 72*dfc11533SChris Williamson assert(ans == nil) 73*dfc11533SChris Williamson assert(setpoint == nil) 74*dfc11533SChris Williamson 75*dfc11533SChris Williamson ans, setpoint = zfs.get_prop("$fs1", "groupused@$groupid") 76*dfc11533SChris Williamson assert(ans == 0) 77*dfc11533SChris Williamson assert(setpoint == "$fs1") 78*dfc11533SChris WilliamsonEOF 79*dfc11533SChris Williamson 80*dfc11533SChris Williamsonlog_pass "Getting {user,group}{quota,used}, should work correctly." 81