Message ID | 1492539444-25938-5-git-send-email-amir73il@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Apr 18, 2017 at 09:17:24PM +0300, Amir Goldstein wrote: > Cloned from xfs specific test xfs/238, which checks > stale file handles of deleted files. > > This test uses the generic open_by_handle_at() syscall > and also tests for non-stale file handles of linked files. > > Signed-off-by: Amir Goldstein <amir73il@gmail.com> > --- > tests/generic/426 | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++ > tests/generic/426.out | 2 ++ > tests/generic/group | 1 + > 3 files changed, 76 insertions(+) > create mode 100755 tests/generic/426 > create mode 100644 tests/generic/426.out > > diff --git a/tests/generic/426 b/tests/generic/426 > new file mode 100755 > index 0000000..62bb85e > --- /dev/null > +++ b/tests/generic/426 > @@ -0,0 +1,73 @@ > +#! /bin/bash > +# FS QA Test No. 426 > +# > +# Check stale handles pointing to unlinked files > +# and non-stale handles pointing to linked files > +# > +#----------------------------------------------------------------------- > +# Copyright (C) 2016 CTERA Networks. All Rights Reserved. ^^^^ 2017? > +# Author: Amir Goldstein <amir73il@gmail.com> > +# > +# This program is free software; you can redistribute it and/or > +# modify it under the terms of the GNU General Public License as > +# published by the Free Software Foundation. > +# > +# This program is distributed in the hope that it would be useful, > +# but WITHOUT ANY WARRANTY; without even the implied warranty of > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +# GNU General Public License for more details. > +# > +# You should have received a copy of the GNU General Public License > +# along with this program; if not, write the Free Software Foundation, > +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA > +#----------------------------------------------------------------------- > +# > + > +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 > +_supported_os Linux > +_require_scratch > +_require_exportfs > + > +echo "Silence is golden" > + > +_scratch_mkfs > /dev/null 2>&1 > +_scratch_mount > /dev/null 2>&1 > + > +numfiles=1024 > + > +# Check stale handles to deleted files > +src/open_by_handle -c $SCRATCH_MNT $numfiles > +src/open_by_handle -d $SCRATCH_MNT $numfiles > + > +# Check non-stale handles to linked files > +src/open_by_handle -c $SCRATCH_MNT $numfiles > +src/open_by_handle $SCRATCH_MNT $numfiles > + > +# Check non-stale handles to files that were hardlinked and original deleted > +src/open_by_handle -l $SCRATCH_MNT $numfiles > +src/open_by_handle -u $SCRATCH_MNT $numfiles This third test depends on test files created in second test, and I guess this could confuse people at debug time if any of the tests failed. So how about remove all the files and call "open_by_handle -c ..." before each test? e.g. (I use testdir and don't remove lost+found dir because extN needs it for fsck) testdir=$SCRATCH_MNT/testdir mkdir -p $testdir # Check stale handles to deleted files src/open_by_handle -c $testdir $numfiles src/open_by_handle -d $testdir $numfiles # Check non-stale handles to linked files rm -f $testdir/* ... # Check non-stale handles to files that were hardlinked and original # deleted rm -f $testdir/* src/open_by_handle -c $testdir $numfiles ... -l .. ... -u .. Thanks, Eryu > + > +status=$? > +exit > diff --git a/tests/generic/426.out b/tests/generic/426.out > new file mode 100644 > index 0000000..777cbcd > --- /dev/null > +++ b/tests/generic/426.out > @@ -0,0 +1,2 @@ > +QA output created by 426 > +Silence is golden > diff --git a/tests/generic/group b/tests/generic/group > index 6d6e4f6..f29009c 100644 > --- a/tests/generic/group > +++ b/tests/generic/group > @@ -428,3 +428,4 @@ > 423 auto quick > 424 auto quick > 425 auto quick attr > +426 auto quick exportfs > -- > 2.7.4 > -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, Apr 19, 2017 at 12:55 PM, Eryu Guan <eguan@redhat.com> wrote: > On Tue, Apr 18, 2017 at 09:17:24PM +0300, Amir Goldstein wrote: >> Cloned from xfs specific test xfs/238, which checks >> stale file handles of deleted files. >> >> This test uses the generic open_by_handle_at() syscall >> and also tests for non-stale file handles of linked files. >> >> Signed-off-by: Amir Goldstein <amir73il@gmail.com> >> --- >> tests/generic/426 | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++ >> tests/generic/426.out | 2 ++ >> tests/generic/group | 1 + >> 3 files changed, 76 insertions(+) >> create mode 100755 tests/generic/426 >> create mode 100644 tests/generic/426.out >> >> diff --git a/tests/generic/426 b/tests/generic/426 >> new file mode 100755 >> index 0000000..62bb85e >> --- /dev/null >> +++ b/tests/generic/426 >> @@ -0,0 +1,73 @@ >> +#! /bin/bash >> +# FS QA Test No. 426 >> +# >> +# Check stale handles pointing to unlinked files >> +# and non-stale handles pointing to linked files >> +# >> +#----------------------------------------------------------------------- >> +# Copyright (C) 2016 CTERA Networks. All Rights Reserved. > ^^^^ 2017? >> +# Author: Amir Goldstein <amir73il@gmail.com> >> +# >> +# This program is free software; you can redistribute it and/or >> +# modify it under the terms of the GNU General Public License as >> +# published by the Free Software Foundation. >> +# >> +# This program is distributed in the hope that it would be useful, >> +# but WITHOUT ANY WARRANTY; without even the implied warranty of >> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >> +# GNU General Public License for more details. >> +# >> +# You should have received a copy of the GNU General Public License >> +# along with this program; if not, write the Free Software Foundation, >> +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA >> +#----------------------------------------------------------------------- >> +# >> + >> +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 >> +_supported_os Linux >> +_require_scratch >> +_require_exportfs >> + >> +echo "Silence is golden" >> + >> +_scratch_mkfs > /dev/null 2>&1 >> +_scratch_mount > /dev/null 2>&1 >> + >> +numfiles=1024 >> + >> +# Check stale handles to deleted files >> +src/open_by_handle -c $SCRATCH_MNT $numfiles >> +src/open_by_handle -d $SCRATCH_MNT $numfiles >> + >> +# Check non-stale handles to linked files >> +src/open_by_handle -c $SCRATCH_MNT $numfiles >> +src/open_by_handle $SCRATCH_MNT $numfiles >> + >> +# Check non-stale handles to files that were hardlinked and original deleted >> +src/open_by_handle -l $SCRATCH_MNT $numfiles >> +src/open_by_handle -u $SCRATCH_MNT $numfiles > > This third test depends on test files created in second test, and I > guess this could confuse people at debug time if any of the tests > failed. > > So how about remove all the files and call "open_by_handle -c ..." > before each test? e.g. (I use testdir and don't remove lost+found dir > because extN needs it for fsck) > Sure. Makes sense. Going forward, as you might have guessed, I am going to add _scratch_cycle_mount to the mix. > testdir=$SCRATCH_MNT/testdir So I copied using SCRATCH_MNT from xfs/238, but I wonder if I should go with thsi instead: testdir=$TEST_DIR/$seq Maybe some fs is vulnerable to exporting handles from an ages fs who knows... Any opinion? > mkdir -p $testdir > > # Check stale handles to deleted files > src/open_by_handle -c $testdir $numfiles > src/open_by_handle -d $testdir $numfiles > > # Check non-stale handles to linked files > rm -f $testdir/* > ... > > # Check non-stale handles to files that were hardlinked and original > # deleted > rm -f $testdir/* > src/open_by_handle -c $testdir $numfiles > ... -l .. > ... -u .. > > Thanks, > Eryu > >> + >> +status=$? >> +exit >> diff --git a/tests/generic/426.out b/tests/generic/426.out >> new file mode 100644 >> index 0000000..777cbcd >> --- /dev/null >> +++ b/tests/generic/426.out >> @@ -0,0 +1,2 @@ >> +QA output created by 426 >> +Silence is golden >> diff --git a/tests/generic/group b/tests/generic/group >> index 6d6e4f6..f29009c 100644 >> --- a/tests/generic/group >> +++ b/tests/generic/group >> @@ -428,3 +428,4 @@ >> 423 auto quick >> 424 auto quick >> 425 auto quick attr >> +426 auto quick exportfs >> -- >> 2.7.4 >> -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, Apr 19, 2017 at 01:07:47PM +0300, Amir Goldstein wrote: ... > > So how about remove all the files and call "open_by_handle -c ..." > > before each test? e.g. (I use testdir and don't remove lost+found dir > > because extN needs it for fsck) > > > > Sure. Makes sense. > Going forward, as you might have guessed, I am going to add > _scratch_cycle_mount to the mix. > > > > testdir=$SCRATCH_MNT/testdir > > So I copied using SCRATCH_MNT from xfs/238, but I wonder if > I should go with thsi instead: > testdir=$TEST_DIR/$seq > > Maybe some fs is vulnerable to exporting handles from an ages fs > who knows... Any opinion? Hmm, I have no strong preference on this, seems TEST_DIR should be sufficient for the test and we can get rid of one test requirement. Thanks, Eryu -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/tests/generic/426 b/tests/generic/426 new file mode 100755 index 0000000..62bb85e --- /dev/null +++ b/tests/generic/426 @@ -0,0 +1,73 @@ +#! /bin/bash +# FS QA Test No. 426 +# +# Check stale handles pointing to unlinked files +# and non-stale handles pointing to linked files +# +#----------------------------------------------------------------------- +# Copyright (C) 2016 CTERA Networks. All Rights Reserved. +# Author: Amir Goldstein <amir73il@gmail.com> +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it would be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +#----------------------------------------------------------------------- +# + +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 +_supported_os Linux +_require_scratch +_require_exportfs + +echo "Silence is golden" + +_scratch_mkfs > /dev/null 2>&1 +_scratch_mount > /dev/null 2>&1 + +numfiles=1024 + +# Check stale handles to deleted files +src/open_by_handle -c $SCRATCH_MNT $numfiles +src/open_by_handle -d $SCRATCH_MNT $numfiles + +# Check non-stale handles to linked files +src/open_by_handle -c $SCRATCH_MNT $numfiles +src/open_by_handle $SCRATCH_MNT $numfiles + +# Check non-stale handles to files that were hardlinked and original deleted +src/open_by_handle -l $SCRATCH_MNT $numfiles +src/open_by_handle -u $SCRATCH_MNT $numfiles + +status=$? +exit diff --git a/tests/generic/426.out b/tests/generic/426.out new file mode 100644 index 0000000..777cbcd --- /dev/null +++ b/tests/generic/426.out @@ -0,0 +1,2 @@ +QA output created by 426 +Silence is golden diff --git a/tests/generic/group b/tests/generic/group index 6d6e4f6..f29009c 100644 --- a/tests/generic/group +++ b/tests/generic/group @@ -428,3 +428,4 @@ 423 auto quick 424 auto quick 425 auto quick attr +426 auto quick exportfs
Cloned from xfs specific test xfs/238, which checks stale file handles of deleted files. This test uses the generic open_by_handle_at() syscall and also tests for non-stale file handles of linked files. Signed-off-by: Amir Goldstein <amir73il@gmail.com> --- tests/generic/426 | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++ tests/generic/426.out | 2 ++ tests/generic/group | 1 + 3 files changed, 76 insertions(+) create mode 100755 tests/generic/426 create mode 100644 tests/generic/426.out