1 #!/usr/bin/ksh -p
2 #
3 # CDDL HEADER START
4 #
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.
8 #
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.
13 #
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]
19 #
20 # CDDL HEADER END
21 #
22
23 #
24 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
25 # Use is subject to license terms.
26 #
27 # Copyright 2015 Nexenta Systems, Inc.
28 #
29
30 #
31 # Copyright (c) 2016 by Delphix. All rights reserved.
32 #
33
34 . $STF_SUITE/include/libtest.shlib
35
36 #
37 # DESCRIPTION:
38 #
39 # Setting bootfs on a pool which was configured with the whole disk
40 # (i.e. EFI) works.
41 #
42 # STRATEGY:
43 # 1. create a pool with a whole disk
44 # 2. create a filesystem on this pool
45 # 3. verify we can set bootfs on the filesystem we just created.
46 #
47
48 verify_runnable "global"
49
50 function cleanup {
51 if poolexists $TESTPOOL ; then
52 destroy_pool "$TESTPOOL"
53 fi
54 }
55
56 log_onexit cleanup
57
58 DISK=${DISKS%% *}
59 typeset EFI_BOOTFS=$TESTPOOL/efs
60 typeset assert_mesg="setting bootfs on a pool which was configured with the \
61 whole disk works"
62
63 log_assert $assert_mesg
64 create_pool "$TESTPOOL" "$DISK"
65 log_must zfs create $EFI_BOOTFS
66
67 log_must zpool set bootfs=$EFI_BOOTFS $TESTPOOL
68
69 log_pass $assert_mesg