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_009_pos.sh
          +++ new/usr/src/test/zfs-tests/tests/functional/reservation/reservation_009_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 2009 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 another filesystem with a reservation
  39   39  # setting the reservation on the second filesystem to 'none' should allow more
↓ open down ↓ 9 lines elided ↑ open up ↑
  49   49  # 6) Verify we can write more data to the first filesystem
  50   50  #
  51   51  
  52   52  verify_runnable "both"
  53   53  
  54   54  log_assert "Setting top level dataset reservation to 'none' allows more data "
  55   55      "to be written to top level filesystem"
  56   56  
  57   57  function cleanup
  58   58  {
  59      -        log_must $RM -rf $TESTDIR/$TESTFILE1
  60      -        log_must $RM -rf $TESTDIR/$TESTFILE2
  61      -        log_must $ZFS destroy -f $TESTPOOL/$TESTFS1
       59 +        log_must rm -rf $TESTDIR/$TESTFILE1
       60 +        log_must rm -rf $TESTDIR/$TESTFILE2
       61 +        log_must zfs destroy -f $TESTPOOL/$TESTFS1
  62   62  }
  63   63  
  64   64  log_onexit cleanup
  65   65  
  66      -log_must $ZFS create $TESTPOOL/$TESTFS1
       66 +log_must zfs create $TESTPOOL/$TESTFS1
  67   67  
  68   68  space_avail=`get_prop available $TESTPOOL`
  69   69  
  70   70  #
  71   71  # To make sure this test doesn't take too long to execute on
  72   72  # large pools, we calculate a reservation setting which when
  73   73  # applied to the dataset will ensure we have RESV_FREE_SPACE
  74   74  # left free in the pool which we can quickly fill.
  75   75  #
  76   76  ((resv_size_set = space_avail - RESV_FREE_SPACE))
  77   77  
  78      -log_must $ZFS set reservation=$resv_size_set $TESTPOOL/$TESTFS1
       78 +log_must zfs set reservation=$resv_size_set $TESTPOOL/$TESTFS1
  79   79  
  80   80  space_avail_still=`get_prop available $TESTPOOL`
  81   81  
  82   82  fill_size=`expr $space_avail_still + $RESV_TOLERANCE`
  83   83  write_count=`expr $fill_size / $BLOCK_SIZE`
  84   84  
  85   85  # Now fill up the filesystem (which doesn't have a reservation set
  86   86  # and thus will use up whatever free space is left in the pool).
  87      -$FILE_WRITE -o create -f $TESTDIR/$TESTFILE1 -b $BLOCK_SIZE \
       87 +file_write -o create -f $TESTDIR/$TESTFILE1 -b $BLOCK_SIZE \
  88   88          -c $write_count -d 0
  89   89  ret=$?
  90   90  if (($ret != $ENOSPC)); then
  91   91          log_fail "Did not get ENOSPC as expected (got $ret)."
  92   92  fi
  93   93  
  94      -log_must $ZFS set reservation=none $TESTPOOL/$TESTFS1
       94 +log_must zfs set reservation=none $TESTPOOL/$TESTFS1
  95   95  
  96      -log_must $FILE_WRITE -o create -f $TESTDIR/$TESTFILE2 -b $PAGESIZE \
       96 +log_must file_write -o create -f $TESTDIR/$TESTFILE2 -b pagesize \
  97   97      -c 1000 -d 0
  98   98  
  99   99  log_pass "Setting top level dataset reservation to 'none' allows more " \
 100  100      "data to be written to the top level filesystem"
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX