]> git.proxmox.com Git - mirror_zfs-debian.git/blob - tests/zfs-tests/tests/functional/cli_root/zfs_unmount/zfs_unmount.kshlib
New upstream version 0.7.2
[mirror_zfs-debian.git] / tests / zfs-tests / tests / functional / cli_root / zfs_unmount / zfs_unmount.kshlib
1 #
2 # CDDL HEADER START
3 #
4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
7 #
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
12 #
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
18 #
19 # CDDL HEADER END
20 #
21
22 #
23 # Copyright 2007 Sun Microsystems, Inc. All rights reserved.
24 # Use is subject to license terms.
25 #
26
27 #
28 # Copyright (c) 2012, 2016 by Delphix. All rights reserved.
29 #
30
31 . $STF_SUITE/tests/functional/cli_root/zfs_unmount/zfs_unmount.cfg
32
33 function do_unmount #cmd #opt #mnt #expect
34 {
35 typeset cmd=$1
36 typeset opt=$2
37 typeset mnt=$3
38 typeset -i expect=${4-0}
39 typeset -i ret
40 typeset -i wasmounted=1
41
42 mounted $mnt || wasmounted=0
43
44 if (( expect == 0 )) ; then
45 log_must zfs $cmd $opt $mnt
46
47 log_must unmounted $mnt
48
49 log_note "Successfully zfs $cmd $opt $mnt"
50
51 else
52 log_note "zfs $cmd $opt $mnt"
53
54 zfs $cmd $opt $mnt
55 ret=$?
56 if (( ret != expect)); then
57 log_fail "'zfs $cmd $opt $mnt' " \
58 "unexpected return code of $ret."
59 fi
60
61 if (( wasmounted == 1 )) ; then
62 log_must mounted $mnt
63 else
64 log_must unmounted $mnt
65 fi
66 log_note "Mount status of $mnt not changed."
67 fi
68 }
69
70 function cleanup
71 {
72 [[ -n $cwd ]] && cd $cwd
73
74 log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
75 mounted $TESTPOOL/$TESTFS || \
76 log_must zfs $mountcmd $TESTPOOL/$TESTFS
77 }