Re: [PATCH v2 2/5] lib: Add support for max_kver to struct tst_test and tst_fs
Petr Vorel <[email protected]> Wed, 29 Jul 2026 15:36:40 +0200
| Newsgroups | gmane.linux.ltp |
|---|---|
| Message-ID | <20260729133640.GA36478@pevik> |
Hi Avinesh, > Hi Petr, > few comments below Thanks! > On 7/29/26 11:57 AM, Petr Vorel wrote: > > Signed-off-by: Petr Vorel <[email protected]> > > --- > > The same as v1. > > include/tst_test.h | 9 ++++++++- > > lib/tst_test.c | 39 +++++++++++++++++++++++++++++++++++++++ > > 2 files changed, 47 insertions(+), 1 deletion(-) > > diff --git a/include/tst_test.h b/include/tst_test.h > > index c69362485e..0910660827 100644 > > --- a/include/tst_test.h > > +++ b/include/tst_test.h > > @@ -280,6 +280,9 @@ struct tst_ulimit_val { > > * > > * @min_kver: A minimum kernel version supporting the filesystem which has been > > * created with mkfs. > > + * > > + * @max_kver: A maximum kernel version supporting the filesystem which has been > > + * created with mkfs. > > */ > > struct tst_fs { > > const char *type; > > @@ -292,6 +295,7 @@ struct tst_fs { > > const void *mnt_data; > > const char *min_kver; > > + const char *max_kver; > > }; > > /** > > @@ -301,7 +305,9 @@ struct tst_fs { > > * and each time passed an increasing counter value. > > * @options: An NULL optstr terminated array of struct tst_option. > > * > > - * @min_kver: A minimal kernel version the test can run on. e.g. "3.10". > > + * @min_kver: A minimal kernel version the test can run on. e.g. "4.4". > s/minimal/minimum You spotted more grammar errors so I trust you :). But can you please double check that it'đ really correct? Minimal is an adjective, minimum is an adjective but also a noun and an adverb. When googling I even found use of both in the same document :) https://kubernetes.io/docs/reference/node/kernel-version-requirements/ "have minimum kernel version requirements" "minimal kernel version requirement" > > + * > > + * @max_kver: A maximal kernel version the test can run on. e.g. "7.2". > s/maximal/maximum dtto > Also, I assume test will *not be skipped* on kernel versions > 7.1.1, 7.1.2 etc just with > .max_kver="7.1" Good point, thanks => v3 (sigh). check_max_kver() needs to have this condition to take an account the sublevel. -if (tst_kvercmp(v1, v2, v3) > 0) { +if (tst_kvercmp(v1, v2, v3) >= 1024) { msg = "The test requires kernel %s or older"; ... Sublevel can be above 255 since 4.4.256 https://lwn.net/ml/linux-kernel/20210208145805.898658055-hQyY1W1yCW8ekmWlsbkhG8Xa4x6EXUF0@public.gmane.orgg/ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9b82f13e7ef3 But it should be below 1024 (practically the highest sublevel has been 337). Kind regards, Petr > maybe we should clarify. > > * > > * @supported_archs: A NULL terminated array of architectures the test runs on > > * e.g. {"x86_64, "x86", NULL}. Calls tst_is_on_arch() to > > @@ -551,6 +557,7 @@ struct tst_fs { > > struct tst_option *options; > > const char *min_kver; > > + const char *max_kver; > > const char *const *supported_archs; > > diff --git a/lib/tst_test.c b/lib/tst_test.c > > index 778a1fed40..fa38b3a7a3 100644 > > --- a/lib/tst_test.c > > +++ b/lib/tst_test.c > > @@ -1087,6 +1087,36 @@ static bool check_min_kver(const char *min_kver, const int brk_nosupp) > > return true; > > } > > +/* > > + * Check for the maximal required kernel version. > > + * > > + * return: true if the kernel version is low enough, false otherwise. > This sounds a bit confusing. How about- > Check the running kernel against the last version the test applies to. Makes sense. Based on check_min_kver(), which was renamed from check_kver() in the previous commit. Could you have look on these as well. Anyway, if you have time, having a look on docs wording as a separate effort would help. > return: true if the kernel is old enough, false otherwise. +1 > > + */ > > +static bool check_max_kver(const char *max_kver, const int brk_nosupp) > > +{ > > + char *msg; > > + int v1, v2, v3; > > + > > + if (tst_parse_kver(max_kver, &v1, &v2, &v3)) { > > + tst_res(TWARN, > > + "Invalid kernel version %s, expected %%d.%%d.%%d", > I wouldn't say 'kernel version is invalid'. maybe test isn't > supported/applicable on.. tst_parse_kver() returns 1 on error => this is really an error check. Other thing is that the same error handling is on both places, but that's very minor. Kind regards, Petr ... > Thanks, > Avinesh -- Mailing list info: https://lists.linux.it/listinfo/ltp