On Thu, Aug 24, 2023 at 01:28:26PM -0400, Jeff Layton wrote: > On Thu, 2023-08-24 at 10:09 -0700, Darrick J. Wong wrote: > > On Thu, Aug 24, 2023 at 12:44:19PM -0400, Jeff Layton wrote: > > > Some filesystems (e.g. NFS) don't support FIEMAP. Limit generic/578 to > > > filesystems that do. > > > > > > Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> > > > --- > > > common/rc | 13 +++++++++++++ > > > tests/generic/578 | 1 + > > > 2 files changed, 14 insertions(+) > > > > > > diff --git a/common/rc b/common/rc > > > index 33e74d20c28b..98d27890f6f7 100644 > > > --- a/common/rc > > > +++ b/common/rc > > > @@ -3885,6 +3885,19 @@ _require_metadata_journaling() > > > fi > > > } > > > > > > +_require_fiemap() > > > +{ > > > + local testfile=$TEST_DIR/fiemaptest.$$ > > > + > > > + touch $testfile > > > + $XFS_IO_PROG -r -c "fiemap" $testfile 1>$testfile.out 2>&1 > > > + if grep -q 'Operation not supported' $testfile.out; then > > > + _notrun "FIEMAP is not supported by this filesystem" > > > + fi > > > + > > > + rm -f $testfile $testfile.out > > > +} > > > > _require_xfs_io_command "fiemap" ? > > > > > > Ok, I figured we'd probably do this test after testing for that > separately, but you're correct that we do require it here. > > If we add that, should we also do this, at least in all of the general > tests? > > s/_require_xfs_io_command "fiemap"/_require_fiemap/ > > I think we end up excluding some of those tests on NFS for other > reasons, but other filesystems that don't support fiemap might still try > to run these tests. We have lots of cases contains _require_xfs_io_command "fiemap", so I think we can keep this "tradition", don't bring a new _require_fiemap for now, so ... > > > > + > > > _count_extents() > > > { > > > $XFS_IO_PROG -r -c "fiemap" $1 | tail -n +2 | grep -v hole | wc -l > > > diff --git a/tests/generic/578 b/tests/generic/578 > > > index b024f6ff90b4..903055b2ca58 100755 > > > --- a/tests/generic/578 > > > +++ b/tests/generic/578 > > > @@ -26,6 +26,7 @@ _require_test_program "mmap-write-concurrent" > > > _require_command "$FILEFRAG_PROG" filefrag > > > _require_test_reflink > > > _require_cp_reflink > > > +_require_fiemap _require_xfs_io_command "fiemap" > > > > > > compare() { > > > for i in $(seq 1 8); do > > > > > > -- > > > 2.41.0 > > > > > -- > Jeff Layton <jlayton@xxxxxxxxxx> >