@@ -74,10 +74,10 @@ create_test_files()
test_file_handles()
{
local dir=$1
- local opt=$2
+ shift
- echo test_file_handles $* | _filter_test_dir
- $here/src/open_by_handle $opt $dir $NUMFILES
+ echo test_file_handles $dir $* | _filter_test_dir | sed -e "s,$tmp\.,,g"
+ $here/src/open_by_handle $* $dir $NUMFILES
}
# Check stale handles to deleted files/dir
@@ -101,18 +101,25 @@ test_file_handles $testdir -ur
create_test_files $testdir
test_file_handles $testdir -mr
-# Check non-stale file handles after rename of parent
-create_test_files $testdir
-rm -rf $testdir.renamed
-mv $testdir $testdir.renamed/
-test_file_handles $testdir.renamed -rp
-
-# Check non-stale file handles after move to new parent
+# Check non-stale file handles of moved files
create_test_files $testdir
rm -rf $testdir.new
mkdir -p $testdir.new
+# Store file handles before move to new testdir
+test_file_handles $testdir -o $tmp.file_handles
mv $testdir/* $testdir.new/
-test_file_handles $testdir.new -rp
+# Check open and read from stored file handles
+# (testdir argument is the mount point and NOT the old nor new testdir)
+test_file_handles $TEST_DIR -r -i $tmp.file_handles
+
+# Check non-stale file handles of renamed dirs
+create_test_files $testdir
+rm -rf $testdir.renamed
+# Store file handles before rename of testdir
+test_file_handles $testdir -p -o $tmp.file_handles
+mv $testdir $testdir.renamed/
+# Check open, read and readdir from stored file handles
+test_file_handles $TEST_DIR -rp -i $tmp.file_handles
status=0
exit
@@ -5,5 +5,7 @@ test_file_handles TEST_DIR/467-dir -dkr
test_file_handles TEST_DIR/467-dir -lr
test_file_handles TEST_DIR/467-dir -ur
test_file_handles TEST_DIR/467-dir -mr
-test_file_handles TEST_DIR/467-dir.renamed -rp
-test_file_handles TEST_DIR/467-dir.new -rp
+test_file_handles TEST_DIR/467-dir -o file_handles
+test_file_handles TEST_DIR -r -i file_handles
+test_file_handles TEST_DIR/467-dir -p -o file_handles
+test_file_handles TEST_DIR -rp -i file_handles
For the test cases of renaming test directory and moving files to new test directory, encoding the file handles is done after files/dir have been renamed, so the test does not exercise decoding file hanldes that were exported before the rename. For those test cases, store the test set file handles to a temp file, then move the files/dir, then try to open test set by stored file handles. Signed-off-by: Amir Goldstein <amir73il@gmail.com> --- tests/generic/467 | 29 ++++++++++++++++++----------- tests/generic/467.out | 6 ++++-- 2 files changed, 22 insertions(+), 13 deletions(-)