Print this page
7290 ZFS test suite needs to control what utilities it can run
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/test/zfs-tests/tests/functional/bootfs/bootfs_006_pos.ksh
          +++ new/usr/src/test/zfs-tests/tests/functional/bootfs/bootfs_006_pos.ksh
↓ open down ↓ 18 lines elided ↑ open up ↑
  19   19  #
  20   20  # CDDL HEADER END
  21   21  #
  22   22  
  23   23  #
  24   24  # Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
  25   25  # Use is subject to license terms.
  26   26  #
  27   27  
  28   28  #
  29      -# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
       29 +# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
  30   30  #
  31   31  
  32   32  . $STF_SUITE/include/libtest.shlib
  33   33  
  34   34  #
  35   35  # DESCRIPTION:
  36   36  #
  37   37  # Pools of correct vdev types accept boot property
  38   38  #
  39   39  # STRATEGY:
  40   40  # 1. create pools of each vdev type (raid, raidz, raidz2, mirror + hotspares)
  41   41  # 2. verify we can set bootfs on each pool type according to design
  42   42  #
  43   43  
  44   44  verify_runnable "global"
  45   45  
  46   46  
  47      -$ZPOOL set 2>&1 | $GREP bootfs > /dev/null
       47 +zpool set 2>&1 | grep bootfs > /dev/null
  48   48  if [ $? -ne 0 ]
  49   49  then
  50   50          log_unsupported "bootfs pool property not supported on this release."
  51   51  fi
  52   52  
  53   53  VDEV1=/bootfs_006_pos_a.$$.dat
  54   54  VDEV2=/bootfs_006_pos_b.$$.dat
  55   55  VDEV3=/bootfs_006_pos_c.$$.dat
  56   56  VDEV4=/bootfs_006_pos_d.$$.dat
  57   57  
  58   58  function verify_bootfs { # $POOL
  59   59          POOL=$1
  60      -        log_must $ZFS create $POOL/$TESTFS
       60 +        log_must zfs create $POOL/$TESTFS
  61   61  
  62      -        log_must $ZPOOL set bootfs=$POOL/$TESTFS $POOL
  63      -        VAL=$($ZPOOL get bootfs $POOL | $TAIL -1 | $AWK '{print $3}' )
       62 +        log_must zpool set bootfs=$POOL/$TESTFS $POOL
       63 +        VAL=$(zpool get bootfs $POOL | tail -1 | awk '{print $3}' )
  64   64          if [ $VAL != "$POOL/$TESTFS" ]
  65   65          then
  66      -                log_must $ZPOOL status -v $POOL
       66 +                log_must zpool status -v $POOL
  67   67                  log_fail \
  68   68                      "set/get failed on $POOL - expected $VAL == $POOL/$TESTFS"
  69   69          fi
  70      -        log_must $ZPOOL destroy $POOL
       70 +        log_must zpool destroy $POOL
  71   71  }
  72   72  
  73   73  function verify_no_bootfs { # $POOL
  74   74          POOL=$1
  75      -        log_must $ZFS create $POOL/$TESTFS
  76      -        log_mustnot $ZPOOL set bootfs=$POOL/$TESTFS $POOL
  77      -        VAL=$($ZPOOL get bootfs $POOL | $TAIL -1 | $AWK '{print $3}' )
       75 +        log_must zfs create $POOL/$TESTFS
       76 +        log_mustnot zpool set bootfs=$POOL/$TESTFS $POOL
       77 +        VAL=$(zpool get bootfs $POOL | tail -1 | awk '{print $3}' )
  78   78          if [ $VAL == "$POOL/$TESTFS" ]
  79   79          then
  80      -                log_must $ZPOOL status -v $POOL
       80 +                log_must zpool status -v $POOL
  81   81                  log_fail "set/get unexpectedly failed $VAL != $POOL/$TESTFS"
  82   82          fi
  83      -        log_must $ZPOOL destroy $POOL
       83 +        log_must zpool destroy $POOL
  84   84  }
  85   85  
  86   86  function cleanup {
  87   87          if poolexists $TESTPOOL
  88   88          then
  89      -                log_must $ZPOOL destroy $TESTPOOL
       89 +                log_must zpool destroy $TESTPOOL
  90   90          fi
  91      -        log_must $RM $VDEV1 $VDEV2 $VDEV3 $VDEV4
       91 +        log_must rm $VDEV1 $VDEV2 $VDEV3 $VDEV4
  92   92  }
  93   93  
  94   94  log_assert "Pools of correct vdev types accept boot property"
  95   95  
  96   96  
  97   97  
  98   98  log_onexit cleanup
  99      -log_must $MKFILE $MINVDEVSIZE $VDEV1 $VDEV2 $VDEV3 $VDEV4
       99 +log_must mkfile $MINVDEVSIZE $VDEV1 $VDEV2 $VDEV3 $VDEV4
 100  100  
 101  101  
 102  102  ## the following configurations are supported bootable pools
 103  103  
 104  104  # normal
 105      -log_must $ZPOOL create $TESTPOOL $VDEV1
      105 +log_must zpool create $TESTPOOL $VDEV1
 106  106  verify_bootfs $TESTPOOL
 107  107  
 108  108  # normal + hotspare
 109      -log_must $ZPOOL create $TESTPOOL $VDEV1 spare $VDEV2
      109 +log_must zpool create $TESTPOOL $VDEV1 spare $VDEV2
 110  110  verify_bootfs $TESTPOOL
 111  111  
 112  112  # mirror
 113      -log_must $ZPOOL create $TESTPOOL mirror $VDEV1 $VDEV2
      113 +log_must zpool create $TESTPOOL mirror $VDEV1 $VDEV2
 114  114  verify_bootfs $TESTPOOL
 115  115  
 116  116  # mirror + hotspare
 117      -log_must $ZPOOL create $TESTPOOL mirror $VDEV1 $VDEV2 spare $VDEV3
      117 +log_must zpool create $TESTPOOL mirror $VDEV1 $VDEV2 spare $VDEV3
 118  118  verify_bootfs $TESTPOOL
 119  119  
 120  120  ## the following configurations are not supported as bootable pools
 121  121  
 122  122  # stripe
 123      -log_must $ZPOOL create $TESTPOOL $VDEV1 $VDEV2
      123 +log_must zpool create $TESTPOOL $VDEV1 $VDEV2
 124  124  verify_no_bootfs $TESTPOOL
 125  125  
 126  126  # stripe + hotspare
 127      -log_must $ZPOOL create $TESTPOOL $VDEV1 $VDEV2 spare $VDEV3
      127 +log_must zpool create $TESTPOOL $VDEV1 $VDEV2 spare $VDEV3
 128  128  verify_no_bootfs $TESTPOOL
 129  129  
 130  130  # raidz
 131      -log_must $ZPOOL create $TESTPOOL raidz $VDEV1 $VDEV2
      131 +log_must zpool create $TESTPOOL raidz $VDEV1 $VDEV2
 132  132  verify_no_bootfs $TESTPOOL
 133  133  
 134  134  # raidz + hotspare
 135      -log_must $ZPOOL create $TESTPOOL raidz $VDEV1 $VDEV2 spare $VDEV3
      135 +log_must zpool create $TESTPOOL raidz $VDEV1 $VDEV2 spare $VDEV3
 136  136  verify_no_bootfs $TESTPOOL
 137  137  
 138  138  # raidz2
 139      -log_must $ZPOOL create $TESTPOOL raidz2 $VDEV1 $VDEV2 $VDEV3
      139 +log_must zpool create $TESTPOOL raidz2 $VDEV1 $VDEV2 $VDEV3
 140  140  verify_no_bootfs $TESTPOOL
 141  141  
 142  142  # raidz2 + hotspare
 143      -log_must $ZPOOL create $TESTPOOL raidz2 $VDEV1 $VDEV2 $VDEV3 spare $VDEV4
      143 +log_must zpool create $TESTPOOL raidz2 $VDEV1 $VDEV2 $VDEV3 spare $VDEV4
 144  144  verify_no_bootfs $TESTPOOL
 145  145  
 146  146  log_pass "Pools of correct vdev types accept boot property"
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX