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/nopwrite/nopwrite_mtime.ksh
          +++ new/usr/src/test/zfs-tests/tests/functional/nopwrite/nopwrite_mtime.ksh
↓ open down ↓ 4 lines elided ↑ open up ↑
   5    5  # Common Development and Distribution License ("CDDL"), version 1.0.
   6    6  # You may only use this file in accordance with the terms of version
   7    7  # 1.0 of the CDDL.
   8    8  #
   9    9  # A full copy of the text of the CDDL should have accompanied this
  10   10  # source.  A copy of the CDDL is also available via the Internet at
  11   11  # http://www.illumos.org/license/CDDL.
  12   12  #
  13   13  
  14   14  #
  15      -# Copyright (c) 2012 by Delphix. All rights reserved.
       15 +# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
  16   16  #
  17   17  
  18   18  . $STF_SUITE/include/libtest.shlib
  19   19  . $STF_SUITE/tests/functional/nopwrite/nopwrite.shlib
  20   20  
  21   21  #
  22   22  # Description:
  23   23  # Verify that nopwrite still updates file metadata correctly
  24   24  #
  25   25  # Strategy:
↓ open down ↓ 1 lines elided ↑ open up ↑
  27   27  # 2. Write to the file in that clone and verify the mtime and ctime change,
  28   28  # but the atime does not.
  29   29  #
  30   30  
  31   31  verify_runnable "global"
  32   32  origin="$TESTPOOL/$TESTFS"
  33   33  log_onexit cleanup
  34   34  
  35   35  function cleanup
  36   36  {
  37      -        datasetexists $origin && log_must $ZFS destroy -R $origin
  38      -        log_must $ZFS create -o mountpoint=$TESTDIR $origin
       37 +        datasetexists $origin && log_must zfs destroy -R $origin
       38 +        log_must zfs create -o mountpoint=$TESTDIR $origin
  39   39  }
  40   40  
  41   41  log_assert "nopwrite updates file metadata correctly"
  42   42  
  43      -log_must $ZFS set compress=on $origin
  44      -log_must $ZFS set checksum=sha256 $origin
  45      -$DD if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS conv=notrunc \
       43 +log_must zfs set compress=on $origin
       44 +log_must zfs set checksum=sha256 $origin
       45 +dd if=/dev/urandom of=$TESTDIR/file bs=1024k count=$MEGS conv=notrunc \
  46   46      >/dev/null 2>&1 || log_fail "dd into $TESTDIR/file failed."
  47      -$ZFS snapshot $origin@a || log_fail "zfs snap failed"
  48      -log_must $ZFS clone $origin@a $origin/clone
       47 +zfs snapshot $origin@a || log_fail "zfs snap failed"
       48 +log_must zfs clone $origin@a $origin/clone
  49   49  
  50      -o_atime=$($LS -E% all $TESTDIR/clone/file | $AWK '/atime/ {print $4}')
  51      -o_ctime=$($LS -E% all $TESTDIR/clone/file | $AWK '/ctime/ {print $4}')
  52      -o_mtime=$($LS -E% all $TESTDIR/clone/file | $AWK '/mtime/ {print $4}')
  53      -$DD if=/$TESTDIR/file of=/$TESTDIR/clone/file bs=1024k count=$MEGS \
       50 +o_atime=$(ls -E% all $TESTDIR/clone/file | awk '/atime/ {print $4}')
       51 +o_ctime=$(ls -E% all $TESTDIR/clone/file | awk '/ctime/ {print $4}')
       52 +o_mtime=$(ls -E% all $TESTDIR/clone/file | awk '/mtime/ {print $4}')
       53 +dd if=/$TESTDIR/file of=/$TESTDIR/clone/file bs=1024k count=$MEGS \
  54   54      conv=notrunc >/dev/null 2>&1 || log_fail "dd failed."
  55      -atime=$($LS -E% all $TESTDIR/clone/file | $AWK '/atime/ {print $4}')
  56      -ctime=$($LS -E% all $TESTDIR/clone/file | $AWK '/ctime/ {print $4}')
  57      -mtime=$($LS -E% all $TESTDIR/clone/file | $AWK '/mtime/ {print $4}')
       55 +atime=$(ls -E% all $TESTDIR/clone/file | awk '/atime/ {print $4}')
       56 +ctime=$(ls -E% all $TESTDIR/clone/file | awk '/ctime/ {print $4}')
       57 +mtime=$(ls -E% all $TESTDIR/clone/file | awk '/mtime/ {print $4}')
  58   58  
  59   59  [[ $o_atime = $atime ]] || log_fail "atime changed: $o_atime $atime"
  60   60  [[ $o_ctime = $ctime ]] && log_fail "ctime unchanged: $o_ctime $ctime"
  61   61  [[ $o_mtime = $mtime ]] && log_fail "mtime unchanged: $o_mtime $mtime"
  62   62  
  63   63  log_must verify_nopwrite $origin $origin@a $origin/clone
  64   64  
  65   65  log_pass "nopwrite updates file metadata correctly"
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX