1*f38cb554SJohn Wren Kennedy#!/bin/ksh -p
2*f38cb554SJohn Wren Kennedy#
3*f38cb554SJohn Wren Kennedy# CDDL HEADER START
4*f38cb554SJohn Wren Kennedy#
5*f38cb554SJohn Wren Kennedy# The contents of this file are subject to the terms of the
6*f38cb554SJohn Wren Kennedy# Common Development and Distribution License (the "License").
7*f38cb554SJohn Wren Kennedy# You may not use this file except in compliance with the License.
8*f38cb554SJohn Wren Kennedy#
9*f38cb554SJohn Wren Kennedy# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*f38cb554SJohn Wren Kennedy# or http://www.opensolaris.org/os/licensing.
11*f38cb554SJohn Wren Kennedy# See the License for the specific language governing permissions
12*f38cb554SJohn Wren Kennedy# and limitations under the License.
13*f38cb554SJohn Wren Kennedy#
14*f38cb554SJohn Wren Kennedy# When distributing Covered Code, include this CDDL HEADER in each
15*f38cb554SJohn Wren Kennedy# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*f38cb554SJohn Wren Kennedy# If applicable, add the following below this CDDL HEADER, with the
17*f38cb554SJohn Wren Kennedy# fields enclosed by brackets "[]" replaced with your own identifying
18*f38cb554SJohn Wren Kennedy# information: Portions Copyright [yyyy] [name of copyright owner]
19*f38cb554SJohn Wren Kennedy#
20*f38cb554SJohn Wren Kennedy# CDDL HEADER END
21*f38cb554SJohn Wren Kennedy#
22*f38cb554SJohn Wren Kennedy
23*f38cb554SJohn Wren Kennedy#
24*f38cb554SJohn Wren Kennedy# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
25*f38cb554SJohn Wren Kennedy# Use is subject to license terms.
26*f38cb554SJohn Wren Kennedy#
27*f38cb554SJohn Wren Kennedy
28*f38cb554SJohn Wren Kennedy#
29*f38cb554SJohn Wren Kennedy# Copyright (c) 2013 by Delphix. All rights reserved.
30*f38cb554SJohn Wren Kennedy#
31*f38cb554SJohn Wren Kennedy
32*f38cb554SJohn Wren Kennedy. $STF_SUITE/include/libtest.shlib
33*f38cb554SJohn Wren Kennedy. $STF_SUITE/tests/functional/devices/devices.cfg
34*f38cb554SJohn Wren Kennedy. $STF_SUITE/tests/functional/devices/devices_common.kshlib
35*f38cb554SJohn Wren Kennedy
36*f38cb554SJohn Wren Kennedy#
37*f38cb554SJohn Wren Kennedy# DESCRIPTION:
38*f38cb554SJohn Wren Kennedy# When set property devices=on on file system, devices files can be used in
39*f38cb554SJohn Wren Kennedy# this file system.
40*f38cb554SJohn Wren Kennedy#
41*f38cb554SJohn Wren Kennedy# STRATEGY:
42*f38cb554SJohn Wren Kennedy# 1. Create pool and file system.
43*f38cb554SJohn Wren Kennedy# 2. Set devices=on on this file system.
44*f38cb554SJohn Wren Kennedy# 3. Separately create block device file and character file.
45*f38cb554SJohn Wren Kennedy# 4. Separately read from those two device files.
46*f38cb554SJohn Wren Kennedy# 5. Check the return value, and make sure it succeeds.
47*f38cb554SJohn Wren Kennedy#
48*f38cb554SJohn Wren Kennedy
49*f38cb554SJohn Wren Kennedyverify_runnable "global"
50*f38cb554SJohn Wren Kennedy
51*f38cb554SJohn Wren Kennedylog_assert "Setting devices=on on file system, the devices files in this file" \
52*f38cb554SJohn Wren Kennedy	"system can be used."
53*f38cb554SJohn Wren Kennedylog_onexit cleanup
54*f38cb554SJohn Wren Kennedy
55*f38cb554SJohn Wren Kennedylog_must $ZFS set devices=on $TESTPOOL/$TESTFS
56*f38cb554SJohn Wren Kennedy
57*f38cb554SJohn Wren Kennedy#
58*f38cb554SJohn Wren Kennedy# Separately create block device file and character device file, then try to
59*f38cb554SJohn Wren Kennedy# open them and make sure it succeed.
60*f38cb554SJohn Wren Kennedy#
61*f38cb554SJohn Wren Kennedycreate_dev_file b $TESTDIR/$TESTFILE1
62*f38cb554SJohn Wren Kennedylog_must $DD if=$TESTDIR/$TESTFILE1 of=$TESTDIR/$TESTFILE1.out count=1
63*f38cb554SJohn Wren Kennedycreate_dev_file c $TESTDIR/$TESTFILE2
64*f38cb554SJohn Wren Kennedylog_must $DD if=$TESTDIR/$TESTFILE2 of=$TESTDIR/$TESTFILE2.out count=1
65*f38cb554SJohn Wren Kennedy
66*f38cb554SJohn Wren Kennedylog_pass "Setting devices=on on file system and testing it pass."
67