#! /bin/bash # SPDX-License-Identifier: GPL-2.0 # Copyright (C) 2017 CTERA Networks. All Rights Reserved. # # FS QA Test No. 426 # # Check stale handles pointing to unlinked files # and non-stale handles pointing to linked files # seq=`basename $0` seqres=$RESULT_DIR/$seq echo "QA output created by $seq" here=`pwd` tmp=/tmp/$$ status=1 # failure is the default! trap "_cleanup; exit \$status" 0 1 2 3 15 _cleanup() { cd / rm -f $tmp.* } # get standard environment, filters and checks . ./common/rc . ./common/filter # real QA test starts here # Modify as appropriate. _supported_fs generic _require_test # _require_exportfs already requires open_by_handle, but let's not count on it _require_test_program "open_by_handle" _require_exportfs NUMFILES=1024 testdir=$TEST_DIR/$seq-dir mkdir -p $testdir # Create empty test files in test dir create_test_files() { local dir=$1 mkdir -p $dir rm -f $dir/* $here/src/open_by_handle -c $dir $NUMFILES } # Test encode/decode file handles test_file_handles() { local dir=$1 local opt=$2 echo test_file_handles $* | _filter_test_dir $here/src/open_by_handle $opt $dir $NUMFILES } # Check stale handles to deleted files create_test_files $testdir test_file_handles $testdir -d # Check non-stale handles to linked files create_test_files $testdir test_file_handles $testdir # Check non-stale handles to files that were hardlinked and original deleted create_test_files $testdir test_file_handles $testdir -l test_file_handles $testdir -u status=0 exit