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 2006 Sun Microsystems, Inc.  All rights reserved.
  24 # Use is subject to license terms.
  25 #
  26 #
  27 # Test ASSERTIONs for NFSv4 server namespace
  28 
  29 
  30 # Section name: NFS Server Name Space
  31 # Description:  Test NFS v4 server name space implementation
  32 # RFC 3010: Section 7
  33 #
  34 #T  Key Index                                                           Expected
  35 #y  (filename)              Assertion brief description                   Result
  36 #-------------------------------------------------------------------------------
  37 A srvnspc_pos01{a}  Readdir on rootFH, only see pseudo nodes                    OK
  38 A srvnspc_pos01{b}  Readdir on exported node, can see whole dir                 OK
  39 A srvnspc_pos01{c}  Readdir on pseudo node has same results w/Lookupp           OK
  40 
  41 A srvnspc_pos02{a}  Walk down the path thru pseudo & exported nodes         OK
  42 A srvnspc_pos02{b}  Verify mount point crossing                                 OK
  43 A srvnspc_pos02{c}  Check fsid for crossing filesystems                         OK
  44 
  45 A srvnspc_pos03{a}  pseudo node's attrs are subset of supported_attrs           OK
  46 A srvnspc_pos03{b}  Getattr unsupported_attr(named_attr) in pseudo node         OK
  47 
  48 A srvnspc_pos04{a}  Verify LOOKUPP across mount point                           OK
  49 A srvnspc_pos04{b}  Verify LOOKUPP backward thru mnt/export/pseudo nodes        OK
  50 A srvnspc_pos04{c}  Verify LOOKUPP of FS unshared sees underlying dir           OK
  51 A srvnspc_pos04{d}  Verify SECINFO of FS unshared OK with underlying dir        OK
  52 
  53 A srvnspc_neg01{a}  Verify not able to Create dir in pseudo node                ROFS 
  54 A srvnspc_neg01{b}  Verify not able Setattr in pseudo node                      ROFS 
  55 
  56 A clntspc_mnt01{a} Verify v4 mount of server's exported point                   successful
  57 A clntspc_mnt01{b} Verify v4 mount of dir below exported point                  successful
  58 A clntspc_mnt01{c} Verify v4 mount of dir above exported point                  successful
  59 
  60 A clntspc_mnt02{a} Verify v2 mount of server's exported point                   successful
  61 A clntspc_mnt02{b} Verify v3 mount of dir below exported point                  successful
  62 A clntspc_mnt02{c} Verify v3 mount of dir above exported point                  fail
  63 A clntspc_mnt02{d} Verify v3 public mount of dir below exported point           successful
  64 A clntspc_mnt02{e} Verify v3 public mount of dir above exported point           fail
  65 
  66 A clntspc_mnt03{a} Verify pseudo path still work if mid-node is unshared        successful
  67 
  68 A clntspc_mnt04{a} Verify v4 NFS url mount of server's exported FS              successful
  69 A clntspc_mnt04{b} Verify v4 NFS url mount of a file below exported FS          successful
  70 A clntspc_mnt04{c} Verify v4 NFS url mount of ..                                successful
  71 
  72 A clntspc_mnt05{a} Verify client can mount '/'                                  successful
  73 A clntspc_mnt05{b} Verify client can mount '/' with public                      successful
  74 
  75 A clntspc_mnt06{a} Verify mounting symlink dir in a shared FS                   succeed
  76 A clntspc_mnt06{b} Verify mounting symlink file (w/no perm) in a shared FS      succeed
  77 A clntspc_mnt06{c} Verify mounting symlink to nosuchdir                         fail
  78 A clntspc_mnt06{d} Verify mounting symlink to out-of namespace dir(usr/lib)     fail
  79 A clntspc_mnt06{e} Verify mounting symlink to file in unshared cross-mount      fail
  80 A clntspc_mnt06{h} Verify mounting symlink to another shared FS                 succeed
  81 A clntspc_mnt06{i} Verify mounting symlink to a non-shared FS w/in shared node  succeed
  82 A clntspc_mnt06{m} Verify mounting symlink dir w/relative path                  succeed
  83 A clntspc_mnt06{n} Verify mounting symlink file w/relative path (. & ..)    succeed
  84 A clntspc_mnt06{o} Verify mounting symlink dir w/.. of shared inside shared FS  succeed
  85 A clntspc_mnt06{p} Verify mounting symlink to an absolute syml in shared FS     succeed
  86 
  87 A srvnspc_share01{a} Server share/unshare a file                                succeed
  88 A srvnspc_share01{f} Server share/unshare a file mount it w/v3&4            succeed
  89 A srvnspc_share01{g} Server share/unshare a file mount it w/v4&2            succeed
  90 A srvnspc_share01{i} Server share dir under shared FS and unshare               fail
  91 A srvnspc_share01{m} Server share/unshare a symlinked dir in namespace          succeed
  92 A srvnspc_share01{n} Server share/unshare a symlinked dir outside namespace     fail
  93