}
run_test 12o "Layout-swap failure during Restore leaves file released"
+test_12p() {
+ # test needs a running copytool
+ copytool_setup
+
+ mkdir $DIR/$tdir
+ local f=$DIR/$tdir/$tfile
+ local fid=$(copy_file /etc/hosts $f)
+
+ $LFS hsm_archive --archive $HSM_ARCHIVE_NUMBER $f
+ wait_request_state $fid ARCHIVE SUCCEED
+ do_facet $SINGLEAGT cat $f > /dev/null || error "cannot cat $f"
+ $LFS hsm_release $f || error "cannot release $f"
+ do_facet $SINGLEAGT cat $f > /dev/null || error "cannot cat $f"
+ $LFS hsm_release $f || error "cannot release $f"
+ do_facet $SINGLEAGT cat $f > /dev/null || error "cannot cat $f"
+
+ copytool_cleanup
+}
+run_test 12p "implicit restore of a file on copytool mount point"
+
test_13() {
# test needs a running copytool
copytool_setup
mkdir -p $DIR/$tdir
local f=$DIR/$tdir/SLEEP
+ local slp_sum1=$(md5sum /bin/sleep)
local fid=$(copy_file /bin/sleep $f)
chmod 755 $f
$LFS hsm_archive --archive $HSM_ARCHIVE_NUMBER $f
wait $pid
[[ $? == 0 ]] || error "Execution failed during run"
cmp /bin/sleep $f
- [[ $? == 0 ]] || error "Binary overwritten during exec"
+ if [[ $? != 0 ]]; then
+ local slp_sum2=$(md5sum /bin/sleep)
+ # in case sleep file is modified during the test
+ [[ $slp_sum1 == $slp_sum2 ]] &&
+ error "Binary overwritten during exec"
+ fi
# cleanup
# remove no try action mode
set_hsm_param loop_period 2
cdt_enable
+ # clear locks to avoid extra delay caused by flush/cancel
+ # and thus prevent early copytool death to timeout.
+ cancel_lru_locks osc
+
$LFS hsm_archive --archive $HSM_ARCHIVE_NUMBER $f
wait_request_state $fid ARCHIVE STARTED
sleep 5