5 # The contents of this file are subject to the terms of the
6 # Common Development and Distribution License (the "License").
7 # You may not use this file except in compliance with the License.
9 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 # or http://www.opensolaris.org/os/licensing.
11 # See the License for the specific language governing permissions
12 # and limitations under the License.
14 # When distributing Covered Code, include this CDDL HEADER in each
15 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 # If applicable, add the following below this CDDL HEADER, with the
17 # fields enclosed by brackets "[]" replaced with your own identifying
18 # information: Portions Copyright [yyyy] [name of copyright owner]
24 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
25 # Use is subject to license terms.
29 # Copyright (c) 2013, 2016 by Delphix. All rights reserved.
32 .
$STF_SUITE/include
/libtest.shlib
33 .
$STF_SUITE/tests
/functional
/userquota
/userquota_common.kshlib
37 # Check the invalid parameter of zfs set user|group quota
41 # 1. check the invalid zfs set user|group quota to fs
42 # 1. check the valid zfs set user|group quota to snapshots
47 if datasetexists
$snap_fs; then
48 log_must zfs destroy
$snap_fs
51 log_must cleanup_quota
56 log_assert
"Check the invalid parameter of zfs set user|group quota"
57 typeset snap_fs
=$QFS@snap
59 log_must zfs snapshot
$snap_fs
61 set -A no_users
"mms1234" "ss@#" "root-122"
62 for user
in "${no_users[@]}"; do
64 log_mustnot zfs
set userquota@
$user=100m
$QFS
67 log_note
"can set all numberic id even that id is not existed"
68 log_must zfs
set userquota@
12345678=100m
$QFS
69 log_mustnot zfs
set userquota@
12345678=100m
$snap_fs
71 set -A sizes
"100mfsd" "m0.12m" "GGM" "-1234-m" "123m-m"
73 for size
in "${sizes[@]}"; do
74 log_note
"can not set user quota with invalid size parameter"
75 log_mustnot zfs
set userquota@root
=$size $QFS
78 log_note
"can not set user quota to snapshot $snap_fs"
79 log_mustnot zfs
set userquota@root
=100m
$snap_fs
82 set -A no_groups
"aidsf@dfsd@" "123223-dsfds#sdfsd" "mss_#ss" "@@@@"
83 for group
in "${no_groups[@]}"; do
84 log_mustnot
eval "grep $group /etc/group"
85 log_mustnot zfs
set groupquota@
$group=100m
$QFS
88 log_note
"can not set group quota with invalid size parameter"
89 log_mustnot zfs
set groupquota@root
=100msfsd
$QFS
91 log_note
"can not set group quota to snapshot $snap_fs"
92 log_mustnot zfs
set groupquota@root
=100m
$snap_fs
94 log_pass
"Check the invalid parameter of zfs set user|group quota pas as expect"