[LTP] [PATCH 1/1] diotest4: Skip test 3 and 14 for tmpfs

Petr Vorel pvorel@suse.cz
Thu Nov 23 09:43:09 CET 2023


> On Wed, 22 Nov 2023, Petr Vorel wrote:

> > tmpfs in kernel v6.6 got support for O_DIRECT in e88e0d366f9c ("tmpfs:
> > trivial support for direct IO"). There is no reason for tmpfs to reject
> > direct IO of any size therefore follow the approach already used for
> > Btrfs, NFS and FUSE: skipping test 3 (odd count of read and write)
> > and 14 (read, write with non-aligned buffer).

> > Suggested-by: Jan Kara <jack@suse.cz>
> > Signed-off-by: Petr Vorel <pvorel@suse.cz>

> Acked-by: Hugh Dickins <hughd@google.com>

> Great, thanks a lot. I've never minded tmpfs failing those LTP tests,
> but had never looked at them closely enough to notice that there is
> this established way to avoid the failures...

I was surprised as well, Jan Kara noticed.

> ... but hold on: I can't look at the LTP source at the moment,
> but records tell me that the two tests failing were dio04 and dio10,
> whereas you say test 3 and test 14 - please clarify or correct, thanks.

These 2 tests are both running diotest4.c, just with different block size:

$ git grep -e ^dio04 -e ^dio10 runtest/
runtest/dio:dio04 diotest4
runtest/dio:dio10 diotest4 -b 65536

NOTE: dio tests are currently being rewritten, but diotest4.c have not been done
yet. Thus the code is using legacy LTP API and needs cleanup.

Kind regards,
Petr

> > ---
> >  testcases/kernel/io/direct_io/diotest4.c | 2 ++
> >  1 file changed, 2 insertions(+)

> > diff --git a/testcases/kernel/io/direct_io/diotest4.c b/testcases/kernel/io/direct_io/diotest4.c
> > index 45c677b5b..ad00fa3e0 100644
> > --- a/testcases/kernel/io/direct_io/diotest4.c
> > +++ b/testcases/kernel/io/direct_io/diotest4.c
> > @@ -270,6 +270,7 @@ int main(int argc, char *argv[])
> >  	case TST_NFS_MAGIC:
> >  	case TST_BTRFS_MAGIC:
> >  	case TST_FUSE_MAGIC:
> > +	case TST_TMPFS_MAGIC:
> >  		tst_resm(TCONF, "%s supports odd count IO",
> >  			 tst_fs_type_name(fs_type));
> >  	break;
> > @@ -443,6 +444,7 @@ int main(int argc, char *argv[])
> >  	case TST_NFS_MAGIC:
> >  	case TST_BTRFS_MAGIC:
> >  	case TST_FUSE_MAGIC:
> > +	case TST_TMPFS_MAGIC:
> >  		tst_resm(TCONF, "%s supports non-aligned buffer",
> >  			 tst_fs_type_name(fs_type));
> >  	break;
> > -- 
> > 2.42.0


More information about the ltp mailing list