[LTP] LTP release preparations

Petr Vorel pvorel@suse.cz
Wed May 3 18:32:39 CEST 2023


> Hi!
> > * nfs08.sh: Skip on vfat
> > https://patchwork.ozlabs.org/project/ltp/patch/20230502151348.3677809-1-pvorel@suse.cz/

> This is workaround for bugs found by the "run nfs on all fs" patch,
> right?

Well, this is the problem which was found by this patchset. If you use TMPDIR
with vfat or exfat (unlikely, I know) on current master, it will fail.
I tested it on both loop device (demonstrated below) and on separate disc in VM.

dd if=/dev/zero of=/tmp/dev bs=1M count=500
losetup /dev/loop0 /tmp/dev
mkfs.exfat /dev/loop0
mkdir -p /export
mount /dev/loop0 /export
df -hT /export/
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/loop0     vfat  500M     0  500M   0% /export

PATH="/opt/ltp/testcases/bin:$PATH" TMPDIR=/export nfs08.sh -v 4 -t tcp
...
nfs08 1 TINFO: timeout per run is 0h 5m 0s
nfs08 1 TINFO: mount.nfs: (linux nfs-utils 2.6.3)
nfs08 1 TINFO: setup NFSv4, socket type tcp
nfs08 1 TINFO: Mounting NFS: mount -v -t nfs -o proto=tcp,vers=4 10.0.0.2:/export/LTP_nfs08.R9JOL8zozk/4/tcp /export/LTP_nfs08.R9JOL8zozk/4/0
nfs08 1 TINFO: testing NFS cache invalidation for directories
1
nfs08 1 TPASS: ls | grep 1 passed as expected
nfs08 1 TFAIL: ls | grep 2 failed unexpectedly

Actually, nfs08.sh not working on vfat and exfat
=> therefore nfs_lib.sh should be without TST_SKIP_FILESYSTEMS (currently all tests whitelists exfat)
and nfs08.sh should have: TST_SKIP_FILESYSTEMS="exfat,vfat"

umount /export
umount: /export: target is busy.

fuser -vm /dev/loop0
                     USER        PID ACCESS COMMAND
/dev/loop0:          root     kernel mount /export
                     root     kernel knfsd /export

=> Forced me to umount with -l or reboot, regardless used filesystem on
/dev/loop0.  This is fixed in this patchset which uses TST_ALL_FILESYSTEMS,
but I'd prefer to merge it instead of fixing master.

This is reproducible even if I just add new device (i.e. not a loop device) to VM.

> I suppose that it may be better not to enable nfs on all filesystems for
> this release so that we have time to figure out what is wrong before
> next release.

> I really do not like applying "temporary" workarounds for real bugs in
> the LTP codebase. There is always danger of "temporary" being forgotten
> and we end up masking the real bug for eternity.

We're masking the problems, because by default we test on what's on /tmp
(often tmpfs, which is unlikely to be used for NFS or ext4 or btrfs).

I need to test more old distros, I suspect that nfs-utils 1.3.3 has problems
with vfat, exfat, tmpfs and fuse, which is in Debian 11 (bullseye).

=> Maybe, as a start we could decide to run nfs_lib.sh only on modern linux
filesystems: i.e. btrfs, ext4, xfs
We could have:
TST_SKIP_FILESYSTEMS="btrfs,exfat,ext2,ext3,fuse,ntfs,vfat,tmpfs"
That would shorten the runtime and have more test coverage.
WDYT? I'm about to send v5 and run tests in the loop. Shell I include this
change?

Kind regards,
Petr


More information about the ltp mailing list