[LTP] [PATCH v4 4/9] tst_supported_fs: Support skip list when query single fs
Petr Vorel
pvorel@suse.cz
Fri Sep 9 16:22:15 CEST 2022
> On 09. 09. 22 13:33, Petr Vorel wrote:
> > > Hi!
> > > > > > +++ b/lib/tst_supported_fs_types.c
> > > > > > @@ -134,6 +134,24 @@ enum tst_fs_impl tst_fs_is_supported(const char *fs_type)
> > > > > > return TST_FS_UNSUPPORTED;
> > > > > > }
> > > > > > +enum tst_fs_impl tst_fs_is_supported_skiplist(const char *fs_type, const char
> > > > > > + *const *skiplist)
> > > > > > +{
> > > > > > + int ret;
> > > > > > +
> > > > > > + ret = tst_fs_is_supported(fs_type);
> > > > > > +
> > > > > > + if (!ret)
> > > > > > + return ret;
> > > > > > +
> > > > > > + if (tst_fs_in_skiplist(fs_type, skiplist)) {
> > > > > > + tst_brk(TCONF, "%s is not supported by the test",
> > > > > > + fs_type);
> > > > > I would expect to return TST_FS_UNSUPPORTED here. It's a bit hacky
> > > > > solution to exit a library call with tst_brk(TCONF, "");
> I agree with that. Return a status code from tst_fs_is_supported_skiplist()
> and raise TCONF somewhere higher in the call chain.
Martin, thanks for your input! Done in v5 (just sent).
> > > > +++ b/include/tst_fs.h
> > > > @@ -171,7 +171,8 @@ int tst_fill_file(const char *path, char pattern, size_t bs, size_t bcount);
> > > > int tst_prealloc_file(const char *path, size_t bs, size_t bcount);
> > > > enum tst_fs_impl {
> > > > - TST_FS_UNSUPPORTED = 0,
> > > > + TST_FS_UNSUPPORTED = -2,
> > > > + TST_FS_SKIPPED_BY_TEST = -1,
> > > Maybe just TST_FS_SKIPPED
> > > > TST_FS_KERNEL = 1,
> > > > TST_FS_FUSE = 2,
> > > > };
> > > I wonder though if we really care about the difference between
> > > unsupported and skipped. Maybe just print TINFO message in case of the
> > > skipped filesystem and return zero in both cases? And maybe rename
> > > TST_FS_UNSUPPORTED to TST_FSNOT_USED.
> > I thought being precise why there is TCONF would help, but users will just read
> > previous TINFO messages.
> > Having just single "error" enum constant, I'm OK to keep TST_FS_UNSUPPORTED
> > (unless anybody really think renaming it to TST_FS_NOT_USED would be better).
> I'd like to see why exactly a filesystem was skipped so I prefer two enum
> values. Though I'd name them TST_FS_UNAVAILABLE (missing mkfs or kernel
> support) and TST_FS_UNSUPPORTED (disabled by test skiplist).
OK, this is not in v5. I don't mind to send v6 on Monday, if we agree this
is wanted. Implementation detail: should I use for -2 and -1 for these two values?
(code < 0 would be error, code > 0 would be OK, 0 itself skipped)
Kind regards,
Petr
More information about the ltp
mailing list