export PATH=$PWD/$SRCDIR:$SRCDIR:$PWD/$SRCDIR/utils:$PATH:/sbin:/usr/sbin
ONLY=${ONLY:-"$*"}
-# bug number for skipped test: 3815 3939
-ALWAYS_EXCEPT="$SANITY_HSM_EXCEPT 34 35 36 40"
+# bug number for skipped test: 3815
+ALWAYS_EXCEPT="$SANITY_HSM_EXCEPT 34 35 36"
# bug number for skipped test:4178 4176
ALWAYS_EXCEPT="$ALWAYS_EXCEPT 200 221 223b 31a"
# UPDATE THE COMMENT ABOVE WITH BUG NUMBERS WHEN CHANGING ALWAYS_EXCEPT!
local facet=${1:-$SINGLEAGT}
local lustre_mntpnt=${2:-$MOUNT}
local arc_id=$3
- local hsm_root=$(copytool_device $facet)
+ local hsm_root=${4:-$(copytool_device $facet)}
local agent=$(facet_active_host $facet)
if [[ -z "$arc_id" ]] &&
path2fid $1 || error "cannot get fid on $1"
}
+make_small_sync() {
+ dd if=/dev/urandom of=$1 count=1 bs=1M conv=sync ||
+ error "cannot create $1"
+ path2fid $1 || error "cannot get fid on $1"
+}
+
cleanup_large_files() {
local ratio=$(df -P $MOUNT | tail -1 | awk '{print $5}' |
sed 's/%//g')
local fid=$(make_small $f)
check_hsm_flags $f "0x00000000"
+ # LU-4388/LU-4389 - ZFS does not report full number of blocks
+ # used until file is flushed to disk
+ if [ $(facet_fstype ost1) == "zfs" ]; then
+ # this causes an OST_SYNC rpc to be sent
+ dd if=/dev/zero of=$f bs=512 count=1 oflag=sync conv=notrunc,fsync
+ # clear locks to reread file data
+ cancel_lru_locks osc
+ fi
+
local orig_size=$(stat -c "%s" $f)
local orig_blocks=$(stat -c "%b" $f)
fid=$(copy_file /etc/hosts $f.$p.$i)
done
done
- copytool_setup
+ # force copytool to use a local/temp archive dir to ensure best
+ # performance vs remote/NFS mounts used in auto-tests
+ if df --local $HSM_ARCHIVE >/dev/null 2>&1 ; then
+ copytool_setup
+ else
+ copytool_setup $SINGLEAGT $MOUNT $HSM_ARCHIVE_NUMBER $TMP/$tdir
+ fi
# to be sure wait_all_done will not be mislead by previous tests
cdt_purge
wait_for_grace_delay
# test needs a running copytool
copytool_setup
- dd if=/dev/urandom of=$DIR/$tfile bs=1M count=1 conv=sync ||
- error "creating $DIR/$tfile"
+ local fid=$(make_small_sync $DIR/$tfile)
$LFS hsm_archive --archive $HSM_ARCHIVE_NUMBER $DIR/$tfile
- wait_request_state $(path2fid $DIR/$tfile) ARCHIVE SUCCEED
+ wait_request_state $fid ARCHIVE SUCCEED
$LFS hsm_release $DIR/$tfile
check_hsm_flags $DIR/$tfile "0x0000000d"
$LFS hsm_release $DIR/$tfile
check_hsm_flags $DIR/$tfile "0x0000000d"
- mkdir $DIR/$tdir
+ mkdir -p $DIR/$tdir || error "mkdir $tdir failed"
tar cf - --sparse $DIR/$tfile | tar xvf - -C $DIR/$tdir ||
error "tar failed"
cmp $DIR/$tfile $DIR/$tdir/$DIR/$tfile ||
error "comparing untarred $DIR/$tfile"
+ rm -f $DIR/$tfile $DIR/$tfile.2 ||
+ error "rm $DIR/$tfile or $DIR/$tfile.2 failed"
copytool_cleanup
}
run_test 228 "On released file, return extend to FIEMAP. For [cp,tar] --sparse"