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/reservation/reservation_016_pos.sh
          +++ new/usr/src/test/zfs-tests/tests/functional/reservation/reservation_016_pos.sh
↓ open down ↓ 18 lines elided ↑ open up ↑
  19   19  #
  20   20  # CDDL HEADER END
  21   21  #
  22   22  
  23   23  #
  24   24  # Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
  25   25  # Use is subject to license terms.
  26   26  #
  27   27  
  28   28  #
  29      -# Copyright (c) 2013 by Delphix. All rights reserved.
       29 +# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
  30   30  #
  31   31  
  32   32  . $STF_SUITE/include/libtest.shlib
  33   33  . $STF_SUITE/tests/functional/reservation/reservation.shlib
  34   34  
  35   35  #
  36   36  # DESCRIPTION:
  37   37  #
  38   38  # In pool with a full filesystem and a regular volume (with implicit
  39   39  # reservation) destroying the volume should allow more data to be written
↓ open down ↓ 9 lines elided ↑ open up ↑
  49   49  #
  50   50  
  51   51  verify_runnable "global"
  52   52  
  53   53  log_assert "Destroying a regular volume with reservation allows more data to" \
  54   54      " be written to top level filesystem"
  55   55  
  56   56  function cleanup
  57   57  {
  58   58          datasetexists $TESTPOOL/$TESTVOL && \
  59      -            log_must $ZFS destroy $TESTPOOL/$TESTVOL
       59 +            log_must zfs destroy $TESTPOOL/$TESTVOL
  60   60  
  61      -        [[ -e $TESTDIR/$TESTFILE1 ]] && log_must $RM -rf $TESTDIR/$TESTFILE1
  62      -        [[ -e $TESTDIR/$TESTFILE2 ]] && log_must $RM -rf $TESTDIR/$TESTFILE2
       61 +        [[ -e $TESTDIR/$TESTFILE1 ]] && log_must rm -rf $TESTDIR/$TESTFILE1
       62 +        [[ -e $TESTDIR/$TESTFILE2 ]] && log_must rm -rf $TESTDIR/$TESTFILE2
  63   63  }
  64   64  log_onexit cleanup
  65   65  
  66   66  space_avail=$(largest_volsize_from_pool $TESTPOOL)
  67   67  
  68   68  #
  69   69  # To make sure this test doesn't take too long to execute on
  70   70  # large pools, we calculate a volume size which will ensure we
  71   71  # have RESV_FREE_SPACE left free in the pool.
  72   72  #
  73   73  ((vol_set_size = space_avail - RESV_FREE_SPACE))
  74   74  vol_set_size=$(floor_volsize $vol_set_size)
  75   75  
  76   76  # Creating a regular volume implicitly sets its reservation
  77   77  # property to the same value.
  78      -log_must $ZFS create -V $vol_set_size $TESTPOOL/$TESTVOL
       78 +log_must zfs create -V $vol_set_size $TESTPOOL/$TESTVOL
  79   79  
  80   80  space_avail_still=$(get_prop available $TESTPOOL)
  81   81  fill_size=$((space_avail_still + $RESV_TOLERANCE))
  82   82  write_count=$((fill_size / BLOCK_SIZE))
  83   83  
  84   84  # Now fill up the filesystem (which doesn't have a reservation set
  85   85  # and thus will use up whatever free space is left in the pool).
  86      -$FILE_WRITE -o create -f $TESTDIR/$TESTFILE1 -b $BLOCK_SIZE -c $write_count -d 0
       86 +file_write -o create -f $TESTDIR/$TESTFILE1 -b $BLOCK_SIZE -c $write_count -d 0
  87   87  ret=$?
  88   88  if (($ret != $ENOSPC)); then
  89   89          log_fail "Did not get ENOSPC as expected (got $ret)."
  90   90  fi
  91   91  
  92      -log_must $ZFS destroy -f $TESTPOOL/$TESTVOL
       92 +log_must zfs destroy -f $TESTPOOL/$TESTVOL
  93   93  
  94      -log_must $FILE_WRITE -o create -f $TESTDIR/$TESTFILE2 -b $PAGESIZE \
       94 +log_must file_write -o create -f $TESTDIR/$TESTFILE2 -b pagesize \
  95   95      -c 1000 -d 0
  96   96  
  97   97  log_pass "Destroying volume with reservation allows more data to be written " \
  98   98      "to top level filesystem"
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX