[LTP] [PATCH 1/1] swapon01: Test on all filesystems

Petr Vorel pvorel@suse.cz
Mon Jan 22 07:22:39 CET 2024


> Hi!
> >  testcases/kernel/syscalls/swapon/swapon01.c | 21 +++++++++++++++------
> >  1 file changed, 15 insertions(+), 6 deletions(-)

> > diff --git a/testcases/kernel/syscalls/swapon/swapon01.c b/testcases/kernel/syscalls/swapon/swapon01.c
> > index e59fb20a1..ef4ebfdcf 100644
> > --- a/testcases/kernel/syscalls/swapon/swapon01.c
> > +++ b/testcases/kernel/syscalls/swapon/swapon01.c
> > @@ -8,6 +8,7 @@
> >   * [Description]
> >   *
> >   * Checks that swapon() succeds with swapfile.
> > + * Testing on all filesystems which support swap file.
> >   */

> >  #include <unistd.h>
> > @@ -17,13 +18,14 @@
> >  #include "lapi/syscalls.h"
> >  #include "libswap.h"

> > -#define SWAP_FILE "swapfile01"
> > +#define MNTPOINT	"mntpoint"
> > +#define SWAP_FILE	MNTPOINT"/swapfile01"

> >  static void verify_swapon(void)
> >  {
> >  	TST_EXP_PASS(tst_syscall(__NR_swapon, SWAP_FILE, 0));

> > -	if (TST_PASS && tst_syscall(__NR_swapoff, SWAP_FILE) != 0) {
> > +	if (tst_syscall(__NR_swapoff, SWAP_FILE) != 0) {

> I do not think that this should be removed, if the swapon() call fails
> we still do not want TBROK here.

+1, I did it by accident when rebasing the original patch.

> >  		tst_brk(TBROK | TERRNO,
> >  				"Failed to turn off swapfile, system reboot recommended");
> >  	}
> > @@ -31,13 +33,20 @@ static void verify_swapon(void)

> >  static void setup(void)
> >  {
> > -	is_swap_supported(SWAP_FILE);
> >  	make_swapfile(SWAP_FILE, 0);
> >  }

> >  static struct tst_test test = {
> > -	.needs_root = 1,
> > -	.needs_tmpdir = 1,
> > +	.mntpoint = MNTPOINT,
> > +	.mount_device = 1,
> > +	.needs_root = 1, /* for swapon() */

> Can we please avoid comments like this?

Sure (again part for the original effort).

> I'ts pretty clear that if you are working with devices and setting up
> swapfiles it's priviledged operation...

> > +	.all_filesystems = 1,
> >  	.test_all = verify_swapon,
> > -	.setup = setup
> > +	.setup = setup,
> > +	.skip_filesystems = (const char *[]) {
> > +		"bcachefs",
> > +		"btrfs",
> > +		"tmpfs",

> So the rest of the filesystems work fine? If so this change looks fine
> to me.

Yes.

Going to send v2.

Kind regards,
Petr

> > +		NULL
> > +	},
> >  };


More information about the ltp mailing list