2023-12-07 10:11:43

by Yann Sionneau

[permalink] [raw]
Subject: regression in 6.1.yy branch: LTP test preadv03 fails

Hello,

I noticed yesterday that LTP test preadv03 now fails since 6.1.64 (it
also fails on 6.1.65).

6.6.4, 6.6.3, 6.5.0 and 6.2.0 seem to be unaffected.

I tested this on x86_64 and kvx arch (the latter is not upstream).

I can see some ext4 related commits on 6.1.64 and 6.1.65 changes, maybe
it's related, therefore I add ext4 mailing list as CC.

I didn't run git bisect on this so far because I noticed building an
x86_64 ubuntu kernel on my laptop was taking ages. Maybe someone is more
used to dealing with this and can bisect this way faster than me.

How to reproduce:

```

git clone https://github.com/linux-test-project/ltp.git

cd ltp && make autotools && ./configure

make -j4

cd testcases/kernel/syscalls/preadv

sudo ./preadv03

```

On 6.1.64 x86_64 kernel for instance it gives:

```

ysionneau@KALRAY-LP238:~/dev/ltp/testcases/kernel/syscalls/preadv$ uname -a
Linux KALRAY-LP238 6.1.64-060164-generic #202311281737 SMP
PREEMPT_DYNAMIC Tue Nov 28 18:22:03 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
ysionneau@KALRAY-LP238:~/dev/ltp/testcases/kernel/syscalls/preadv$ sudo
./preadv03
tst_device.c:96: TINFO: Found free device 43 '/dev/loop43'
tst_test.c:1690: TINFO: LTP version: 20230929-193-g9de9ac6c1
tst_test.c:1574: TINFO: Timeout per run is 0h 00m 30s
tst_supported_fs_types.c:90: TINFO: Kernel supports ext2
tst_supported_fs_types.c:55: TINFO: mkfs.ext2 does exist
tst_supported_fs_types.c:90: TINFO: Kernel supports ext3
tst_supported_fs_types.c:55: TINFO: mkfs.ext3 does exist
tst_supported_fs_types.c:90: TINFO: Kernel supports ext4
tst_supported_fs_types.c:55: TINFO: mkfs.ext4 does exist
tst_supported_fs_types.c:90: TINFO: Kernel supports xfs
tst_supported_fs_types.c:51: TINFO: mkfs.xfs does not exist
tst_supported_fs_types.c:90: TINFO: Kernel supports btrfs
tst_supported_fs_types.c:51: TINFO: mkfs.btrfs does not exist
tst_supported_fs_types.c:90: TINFO: Kernel supports vfat
tst_supported_fs_types.c:55: TINFO: mkfs.vfat does exist
tst_supported_fs_types.c:90: TINFO: Kernel supports exfat
tst_supported_fs_types.c:51: TINFO: mkfs.exfat does not exist
tst_supported_fs_types.c:90: TINFO: Kernel supports ntfs
tst_supported_fs_types.c:55: TINFO: mkfs.ntfs does exist
tst_supported_fs_types.c:157: TINFO: Skipping tmpfs as requested by the
test
tst_test.c:1650: TINFO: === Testing on ext2 ===
tst_test.c:1105: TINFO: Formatting /dev/loop43 with ext2 opts='' extra
opts=''
mke2fs 1.46.5 (30-Dec-2021)
tst_test.c:1119: TINFO: Mounting /dev/loop43 to
/tmp/LTP_pretsQ0lS/mntpoint fstyp=ext2 flags=0
preadv03.c:102: TINFO: Using block size 512
preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
preadv03.c:66: TFAIL: preadv(O_DIRECT) read 0 bytes, expected 512
tst_test.c:1650: TINFO: === Testing on ext3 ===
tst_test.c:1105: TINFO: Formatting /dev/loop43 with ext3 opts='' extra
opts=''
mke2fs 1.46.5 (30-Dec-2021)
tst_test.c:1119: TINFO: Mounting /dev/loop43 to
/tmp/LTP_pretsQ0lS/mntpoint fstyp=ext3 flags=0
preadv03.c:102: TINFO: Using block size 512
preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
preadv03.c:66: TFAIL: preadv(O_DIRECT) read 0 bytes, expected 512
tst_test.c:1650: TINFO: === Testing on ext4 ===
tst_test.c:1105: TINFO: Formatting /dev/loop43 with ext4 opts='' extra
opts=''
mke2fs 1.46.5 (30-Dec-2021)
tst_test.c:1119: TINFO: Mounting /dev/loop43 to
/tmp/LTP_pretsQ0lS/mntpoint fstyp=ext4 flags=0
preadv03.c:102: TINFO: Using block size 512
preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
preadv03.c:77: TFAIL: Buffer wrong at 0 have 62 expected 61
preadv03.c:66: TFAIL: preadv(O_DIRECT) read 0 bytes, expected 512
tst_test.c:1650: TINFO: === Testing on vfat ===
tst_test.c:1105: TINFO: Formatting /dev/loop43 with vfat opts='' extra
opts=''
tst_test.c:1119: TINFO: Mounting /dev/loop43 to
/tmp/LTP_pretsQ0lS/mntpoint fstyp=vfat flags=0
preadv03.c:102: TINFO: Using block size 512
preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with
content 'a' expectedly
preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with
content 'a' expectedly
preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with
content 'b' expectedly
tst_test.c:1650: TINFO: === Testing on ntfs ===
tst_test.c:1105: TINFO: Formatting /dev/loop43 with ntfs opts='' extra
opts=''
The partition start sector was not specified for /dev/loop43 and it
could not be obtained automatically.  It has been set to 0.
The number of sectors per track was not specified for /dev/loop43 and it
could not be obtained automatically.  It has been set to 0.
The number of heads was not specified for /dev/loop43 and it could not
be obtained automatically.  It has been set to 0.
To boot from a device, Windows needs the 'partition start sector', the
'sectors per track' and the 'number of heads' to be set.
Windows will not be able to boot from this device.
tst_test.c:1119: TINFO: Mounting /dev/loop43 to
/tmp/LTP_pretsQ0lS/mntpoint fstyp=ntfs flags=0
tst_test.c:1119: TINFO: Trying FUSE...
preadv03.c:102: TINFO: Using block size 512
preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with
content 'a' expectedly
preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with
content 'a' expectedly
preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with
content 'b' expectedly

Summary:
passed   6
failed   9
broken   0
skipped  0
warnings 0

```

Cheers,

--

Yann







2023-12-07 10:13:20

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: regression in 6.1.yy branch: LTP test preadv03 fails

On Thu, Dec 07, 2023 at 11:05:15AM +0100, Yann Sionneau wrote:
> Hello,
>
> I noticed yesterday that LTP test preadv03 now fails since 6.1.64 (it also
> fails on 6.1.65).
>
> 6.6.4, 6.6.3, 6.5.0 and 6.2.0 seem to be unaffected.
>
> I tested this on x86_64 and kvx arch (the latter is not upstream).
>
> I can see some ext4 related commits on 6.1.64 and 6.1.65 changes, maybe it's
> related, therefore I add ext4 mailing list as CC.
>
> I didn't run git bisect on this so far because I noticed building an x86_64
> ubuntu kernel on my laptop was taking ages. Maybe someone is more used to
> dealing with this and can bisect this way faster than me.

Should be fixed in the latest 6.1.y-rc release, right? If not, please
let me know.

thanks,

greg k-h

2023-12-07 10:51:09

by Yann Sionneau

[permalink] [raw]
Subject: Re: regression in 6.1.yy branch: LTP test preadv03 fails

On 12/7/23 11:13, Greg KH wrote:

> On Thu, Dec 07, 2023 at 11:05:15AM +0100, Yann Sionneau wrote:
>> Hello,
>>
>> I noticed yesterday that LTP test preadv03 now fails since 6.1.64 (it also
>> fails on 6.1.65).
>>
>> 6.6.4, 6.6.3, 6.5.0 and 6.2.0 seem to be unaffected.
>>
>> I tested this on x86_64 and kvx arch (the latter is not upstream).
>>
>> I can see some ext4 related commits on 6.1.64 and 6.1.65 changes, maybe it's
>> related, therefore I add ext4 mailing list as CC.
>>
>> I didn't run git bisect on this so far because I noticed building an x86_64
>> ubuntu kernel on my laptop was taking ages. Maybe someone is more used to
>> dealing with this and can bisect this way faster than me.
> Should be fixed in the latest 6.1.y-rc release, right? If not, please
> let me know.

Thanks for the quick reply, indeed it seems way better on 6.1.66-rc2.

I tested on kvx arch, all preadv* LTP tests are passing:

```

# ./preadv03
tst_device.c:88: TINFO: Found free device 0 '/dev/loop0'
[  346.920257] loop0: detected capacity change from 0 to 524288
[  346.970126] /dev/zero: Can't open blockdev
tst_supported_fs_types.c:89: TINFO: Kernel supports ext2
tst_supported_fs_types.c:51: TINFO: mkfs.ext2 does exist
[  346.993817] /dev/zero: Can't open blockdev
tst_supported_fs_types.c:89: TINFO: Kernel supports ext3
tst_supported_fs_types.c:51: TINFO: mkfs.ext3 does exist
[  347.021140] /dev/zero: Can't open blockdev
tst_supported_fs_types.c:89: TINFO: Kernel supports ext4
tst_supported_fs_types.c:51: TINFO: mkfs.ext4 does exist
tst_supported_fs_types.c:89: TINFO: Kernel supports vfat
tst_supported_fs_types.c:47: TINFO: mkfs.vfat does not exist
tst_supported_fs_types.c:156: TINFO: Skipping tmpfs as requested by the test
tst_test.c:1500: TINFO: Testing on ext2
tst_test.c:996: TINFO: Formatting /dev/loop0 with ext2 opts='' extra opts=''
mke2fs 1.46.2 (28-Feb-2021)
[  347.283637] blk_print_req_error: 96 callbacks suppressed
[  347.283662] operation not supported error, dev loop0, sector 524160
op 0x9:(WRITE_ZEROES) flags 0x800
0800 phys_seg 0 prio class 2
[  347.301367] operation not supported error, dev loop0, sector 522 op
0x9:(WRITE_ZEROES) flags 0x800080
0 phys_seg 0 prio class 2
[  347.313610] operation not supported error, dev loop0, sector 16906 op
0x9:(WRITE_ZEROES) flags 0x8000
800 phys_seg 0 prio class 2
[  347.325948] operation not supported error, dev loop0, sector 32774 op
0x9:(WRITE_ZEROES) flags 0x8000
800 phys_seg 0 prio class 2
[  347.338311] operation not supported error, dev loop0, sector 49674 op
0x9:(WRITE_ZEROES) flags 0x8000
800 phys_seg 0 prio class 2
[  347.350667] operation not supported error, dev loop0, sector 65542 op
0x9:(WRITE_ZEROES) flags 0x8000
800 phys_seg 0 prio class 2
[  347.363027] operation not supported error, dev loop0, sector 82442 op
0x9:(WRITE_ZEROES) flags 0x8000
800 phys_seg 0 prio class 2
[  347.375367] operation not supported error, dev loop0, sector 98310 op
0x9:(WRITE_ZEROES) flags 0x8000
800 phys_seg 0 prio class 2
[  347.387733] operation not supported error, dev loop0, sector 115210
op 0x9:(WRITE_ZEROES) flags 0x800
0800 phys_seg 0 prio class 2
[  347.400156] operation not supported error, dev loop0, sector 131078
op 0x9:(WRITE_ZEROES) flags 0x800
0800 phys_seg 0 prio class 2
[  347.445283] EXT4-fs (loop0): mounting ext2 file system using the ext4
subsystem
[  347.453761] EXT4-fs (loop0): mounted filesystem without journal.
Quota mode: disabled.
[  347.461716] ext2 filesystem being mounted at /tmp/preB0llUr/mntpoint
supports timestamps until 2038 (
0x7fffffff)
tst_test.c:1431: TINFO: Timeout per run is 0h 05m 00s
[  347.475662] EXT4-fs (loop0): unmounting filesystem.
preadv03.c:102: TINFO: Using block size 512
preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with
content 'a' expectedly
preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with
content 'a' expectedly
preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with
content 'b' expectedly
tst_test.c:1500: TINFO: Testing on ext3
tst_test.c:996: TINFO: Formatting /dev/loop0 with ext3 opts='' extra opts=''
mke2fs 1.46.2 (28-Feb-2021)
[  347.780931] EXT4-fs (loop0): mounting ext3 file system using the ext4
subsystem
[  347.791652] EXT4-fs (loop0): mounted filesystem with ordered data
mode. Quota mode: disabled.
[  347.800197] ext3 filesystem being mounted at /tmp/preB0llUr/mntpoint
supports timestamps until 2038 (
0x7fffffff)
tst_test.c:1431: TINFO: Timeout per run is 0h 05m 00s
[  347.814544] EXT4-fs (loop0): unmounting filesystem.
preadv03.c:102: TINFO: Using block size 512
preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with
content 'a' expectedly
preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with
content 'a' expectedly
preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with
content 'b' expectedly
tst_test.c:1500: TINFO: Testing on ext4
tst_test.c:996: TINFO: Formatting /dev/loop0 with ext4 opts='' extra opts=''
mke2fs 1.46.2 (28-Feb-2021)
[  347.888885] EXT4-fs (loop0): mounted filesystem with ordered data
mode. Quota mode: disabled.
[  347.897455] ext4 filesystem being mounted at /tmp/preB0llUr/mntpoint
supports timestamps until 2038 (
0x7fffffff)
tst_test.c:1431: TINFO: Timeout per run is 0h 05m 00s
[  347.911462] EXT4-fs (loop0): unmounting filesystem.
preadv03.c:102: TINFO: Using block size 512
preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with
content 'a' expectedly
preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with
content 'a' expectedly
preadv03.c:87: TPASS: preadv(O_DIRECT) read 512 bytes successfully with
content 'b' expectedly

Summary:
passed   9
failed   0
broken   0
skipped  0
warnings 0

```

The errors during mkfs are weird but maybe it's an issue in kvx port...
at least the test is passing now.

Thanks!

--

Yann