1 #!/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 2010 Sun Microsystems, Inc. All rights reserved.
25 #
26
27 #
28 # ID: create_009
29 #
30 # DESCRIPTION:
31 # Verify can create 3G file on the smbfs
32 # (can go beyond 31-bit offsets)
33 #
34 # STRATEGY:
35 # 1. run "mount -F smbfs //server/public /export/mnt"
36 # 2. create and rm can get the right message
37 #
38
39 . $STF_SUITE/include/libtest.ksh
40
41 tc_id="create009"
42 tc_desc="Verify can create 3g files on the smbfs"
43 print_test_case $tc_id - $tc_desc
44
45 if [[ $STC_CIFS_CLIENT_DEBUG == 1 ]] || \
46 [[ *:${STC_CIFS_CLIENT_DEBUG}:* == *:$tc_id:* ]]; then
47 set -x
48 fi
49
50 size=3g
51 server=$(server_name) || return
52
53 testdir_init $TDIR
54 smbmount_clean $TMNT
55 smbmount_init $TMNT
56
57 cmd="mount -F smbfs //$TUSER:$TPASS@$server/public $TMNT"
58 cti_execute -i '' FAIL $cmd
59 if [[ $? != 0 ]]; then
60 cti_fail "FAIL: smbmount can't mount the public share"
61 return
62 else
63 cti_report "PASS: smbmount can mount the public share"
64 fi
65
66 # create file on the server
67 cmd="dd if=/dev/zero of=$TMNT/file oseek=3071 bs=1024k count=1"
68 cti_execute_cmd $cmd
69 if [[ $? != 0 ]]; then
70 cti_fail "FAIL: create $TDIR/test_file to test_file failed"
71 return
72 else
73 cti_report "PASS: create $TDIR/test_file to test_file succeeded"
74 fi
75
76 size=$(file_size $TMNT/file)
77 if [[ $size != 3221225472 ]] ; then
78 cti_fail "FAIL: file size is not 3G"
79 return
80 else
81 cti_report "PASS: file size if 3G"
82 fi
83
84 cti_execute_cmd "rm $TMNT/file"
85 if [[ $? != 0 ]]; then
86 cti_fail "FAIL: failed to delete the file"
87 return
88 else
89 cti_report "PASS: delete the file successfully"
90 fi
91
92 if [[ -f "$TMNT/file" ]]; then
93 cti_fail "FAIL: the file should not exist, but it exists"
94 return
95 else
96 cti_report "PASS: the file exists, it is right"
97 fi
98
99 cti_execute_cmd "rm $TDIR/file "
100
101 smbmount_clean $TMNT
102
103 cti_pass "${tc_id}: PASS"