On Thu, May 8, 2025 at 9:38 PM Zorro Lang <zlang@xxxxxxxxxx> wrote: > > On Wed, Apr 09, 2025 at 01:52:20PM +0200, Amir Goldstein wrote: > > This is a variant of generic/477 with connectable file handles. > > This test uses load and store of file handles from a temp file to test > > decoding connectable file handles after cycle mount and after renames. > > Decoding connectable file handles after being moved to a new parent > > is expected to fail. > > > > Signed-off-by: Amir Goldstein <amir73il@xxxxxxxxx> > > --- > > Hi Amir, > > This test case fails on some filesystems, e.g. nfs [1] and tmpfs [2]. > Is this as your expected? No. I will look into this failure. Thanks for testing! Amir. > > Thanks, > Zorro > > [1] > generic/777 fails on nfs: > > --- /dev/fd/63 2025-05-07 02:44:24.150560533 -0400 > +++ generic/777.out.bad 2025-05-07 02:44:23.999734558 -0400 > @@ -1,7 +1,37 @@ > QA output created by 777 > test_file_handles after cycle mount > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000000) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000001) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000002) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000003) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000004) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000005) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000006) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000007) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000008) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000009) returned 116 incorrectly on a linked file! > test_file_handles after rename parent > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000000) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000001) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000002) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000003) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000004) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000005) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000006) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000007) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000008) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000009) returned 116 incorrectly on a linked file! > test_file_handles after rename grandparent > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000000) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000001) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000002) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000003) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000004) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000005) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000006) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000007) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000008) returned 116 incorrectly on a linked file! > +open_by_handle(/mnt/fstests/TEST_DIR/nfs-client/file000009) returned 116 incorrectly on a linked file! > test_file_handles after move to new parent > open_by_handle(TEST_DIR/file000000) returned 116 incorrectly on a linked file! > open_by_handle(TEST_DIR/file000001) returned 116 incorrectly on a linked file! > > [2] > generic/777 fails on tmpfs: > > --- /dev/fd/63 2025-05-07 07:53:26.265453903 -0400 > +++ generic/777.out.bad 2025-05-07 07:53:25.536434660 -0400 > @@ -3,13 +3,3 @@ > test_file_handles after rename parent > test_file_handles after rename grandparent > test_file_handles after move to new parent > -open_by_handle(TEST_DIR/file000000) returned 116 incorrectly on a linked file! > -open_by_handle(TEST_DIR/file000001) returned 116 incorrectly on a linked file! > -open_by_handle(TEST_DIR/file000002) returned 116 incorrectly on a linked file! > -open_by_handle(TEST_DIR/file000003) returned 116 incorrectly on a linked file! > -open_by_handle(TEST_DIR/file000004) returned 116 incorrectly on a linked file! > -open_by_handle(TEST_DIR/file000005) returned 116 incorrectly on a linked file! > -open_by_handle(TEST_DIR/file000006) returned 116 incorrectly on a linked file! > -open_by_handle(TEST_DIR/file000007) returned 116 incorrectly on a linked file! > -open_by_handle(TEST_DIR/file000008) returned 116 incorrectly on a linked file! > -open_by_handle(TEST_DIR/file000009) returned 116 incorrectly on a linked file! > > > > tests/generic/777 | 79 +++++++++++++++++++++++++++++++++++++++++++ > > tests/generic/777.out | 15 ++++++++ > > 2 files changed, 94 insertions(+) > > create mode 100755 tests/generic/777 > > create mode 100644 tests/generic/777.out > > > > diff --git a/tests/generic/777 b/tests/generic/777 > > new file mode 100755 > > index 00000000..52a461c3 > > --- /dev/null > > +++ b/tests/generic/777 > > @@ -0,0 +1,79 @@ > > +#! /bin/bash > > +# SPDX-License-Identifier: GPL-2.0 > > +# Copyright (C) 2018-2025 CTERA Networks. All Rights Reserved. > > +# > > +# FS QA Test No. 777 > > +# > > +# Check open by connectable file handle after cycle mount. > > +# > > +# This is a variant of test 477 with connectable file handles. > > +# This test uses load and store of file handles from a temp file to test > > +# decoding file handles after cycle mount and after directory renames. > > +# Decoding connectable file handles after being moved to a new parent > > +# is expected to fail. > > +# > > +. ./common/preamble > > +_begin_fstest auto quick exportfs > > + > > +# Import common functions. > > +. ./common/filter > > + > > + > > +# Modify as appropriate. > > +_require_test > > +# Require connectable file handles support > > +_require_open_by_handle -N > > + > > +NUMFILES=10 > > +testroot=$TEST_DIR/$seq-dir > > +testdir=$testroot/testdir > > + > > +# Create test dir and test files, encode connectable file handles and store to tmp file > > +create_test_files() > > +{ > > + rm -rf $testdir > > + mkdir -p $testdir > > + $here/src/open_by_handle -N -cwp -o $tmp.handles_file $testdir $NUMFILES > > +} > > + > > +# Decode connectable file handles loaded from tmp file > > +test_file_handles() > > +{ > > + local opt=$1 > > + local when=$2 > > + > > + echo test_file_handles after $when > > + $here/src/open_by_handle $opt -i $tmp.handles_file $TEST_DIR $NUMFILES > > +} > > + > > +# Decode file handles of files/dir after cycle mount > > +create_test_files > > +_test_cycle_mount > > +test_file_handles -rp "cycle mount" > > + > > +# Decode file handles of files/dir after rename of parent and cycle mount > > +create_test_files $testdir > > +rm -rf $testdir.renamed > > +mv $testdir $testdir.renamed/ > > +_test_cycle_mount > > +test_file_handles -rp "rename parent" > > + > > +# Decode file handles of files/dir after rename of grandparent and cycle mount > > +create_test_files $testdir > > +rm -rf $testroot.renamed > > +mv $testroot $testroot.renamed/ > > +_test_cycle_mount > > +test_file_handles -rp "rename grandparent" > > + > > +# Decode file handles of files/dir after move to new parent and cycle mount > > +# This is expected to fail because the conectable file handle encodes the > > +# old parent. > > +create_test_files $testdir > > +rm -rf $testdir.new > > +mkdir -p $testdir.new > > +mv $testdir/* $testdir.new/ > > +_test_cycle_mount > > +test_file_handles -r "move to new parent" | _filter_test_dir > > + > > +status=0 > > +exit > > diff --git a/tests/generic/777.out b/tests/generic/777.out > > new file mode 100644 > > index 00000000..648c480c > > --- /dev/null > > +++ b/tests/generic/777.out > > @@ -0,0 +1,15 @@ > > +QA output created by 777 > > +test_file_handles after cycle mount > > +test_file_handles after rename parent > > +test_file_handles after rename grandparent > > +test_file_handles after move to new parent > > +open_by_handle(TEST_DIR/file000000) returned 116 incorrectly on a linked file! > > +open_by_handle(TEST_DIR/file000001) returned 116 incorrectly on a linked file! > > +open_by_handle(TEST_DIR/file000002) returned 116 incorrectly on a linked file! > > +open_by_handle(TEST_DIR/file000003) returned 116 incorrectly on a linked file! > > +open_by_handle(TEST_DIR/file000004) returned 116 incorrectly on a linked file! > > +open_by_handle(TEST_DIR/file000005) returned 116 incorrectly on a linked file! > > +open_by_handle(TEST_DIR/file000006) returned 116 incorrectly on a linked file! > > +open_by_handle(TEST_DIR/file000007) returned 116 incorrectly on a linked file! > > +open_by_handle(TEST_DIR/file000008) returned 116 incorrectly on a linked file! > > +open_by_handle(TEST_DIR/file000009) returned 116 incorrectly on a linked file! > > -- > > 2.34.1 > > >