I'd like to perform a reverse bisect to figure out which commit upstream fixes this regression. We need to figure out the last kernel that had this issue and the first kernel that did not. Can you test the following kernels and report back? We are looking for the last kernel version that has the bug and the first that does not:
v4.11-rc1: http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.11-rc1/ v4.11-rc4: http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.11-rc4/ v4.11-rc7: http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.11-rc8/ You don't have to test every kernel, just up until the first kernel that does not have this bug. Thanks in advance! -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1696049 Title: xfstest sanity checks on seek operations fails Status in The Ubuntu-power-systems project: In Progress Status in linux package in Ubuntu: Fix Released Status in linux source package in Zesty: In Progress Status in linux source package in Artful: Fix Released Bug description: == Comment: #0 - Harish Sriram Issue: -------------------------- xfstest fails with sanity checks on seek operations # uname -a Linux ltc-tuleta12 4.10.0-21-generic #23~16.04.1-Ubuntu SMP Tue May 2 12:54:57 UTC 2017 ppc64le ppc64le ppc64le GNU/Linux Steps to reproduce: ---------------------------------------- 1. Create a loop device with xfs filesystem 2. git clone git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git; cd xfstests-dev 3. make 4. Create a local.config for running with created loop device 5. Run xfstests-dev test : ./check tests/generic/285 or ./check tests/generic/436 The test 285 fails with following ... ... 07. Test file with unwritten extents, only have dirty pages 07.01 SEEK_HOLE expected 0 or 45056, got 0. succ 07.02 SEEK_HOLE expected 1 or 45056, got 1. succ 07.03 SEEK_DATA expected 40960 or 40960, got -1. FAIL 07.04 SEEK_DATA expected 40960 or 40960, got -1. FAIL 08. Test file with unwritten extents, only have unwritten pages 08.01 SEEK_HOLE expected 0 or 45056, got 0. succ 08.02 SEEK_HOLE expected 1 or 45056, got 1. succ 08.03 SEEK_DATA expected 40960 or 40960, got -1. FAIL 08.04 SEEK_DATA expected 40960 or 40960, got -1. FAIL The test 436 fails with ... ... 14. Test file with unwritten extents, small hole after pagevec dirty pages 14.01 SEEK_HOLE expected 917504 or 4194304, got 3670016. FAIL 14.02 SEEK_HOLE expected 917504 or 4194304, got 3670016. FAIL 14.03 SEEK_HOLE expected 3670016 or 4194304, got 3670016. succ 14.04 SEEK_DATA expected 0 or 0, got 0. succ 14.05 SEEK_DATA expected 1 or 1, got 1. succ 14.06 SEEK_DATA expected 2752512 or 2752512, got 2752512. succ seek sanity check failed! Full log is attached. == Comment: #6 - Harish Sriram commit 5375023ae1266553a7baa0845e82917d8803f48c Author: Jan Kara <j...@suse.cz> Date: Thu May 18 16:36:22 2017 -0700 xfs: Fix missed holes in SEEK_HOLE implementation XFS SEEK_HOLE implementation could miss a hole in an unwritten extent as can be seen by the following command: xfs_io -c "falloc 0 256k" -c "pwrite 0 56k" -c "pwrite 128k 8k" -c "seek -h 0" file wrote 57344/57344 bytes at offset 0 56 KiB, 14 ops; 0.0000 sec (49.312 MiB/sec and 12623.9856 ops/sec) wrote 8192/8192 bytes at offset 131072 8 KiB, 2 ops; 0.0000 sec (70.383 MiB/sec and 18018.0180 ops/sec) Whence Result HOLE 139264 Where we can see that hole at offset 56k was just ignored by SEEK_HOLE implementation. The bug is in xfs_find_get_desired_pgoff() which does not properly detect the case when pages are not contiguous. Fix the problem by properly detecting when found page has larger offset than expected. CC: sta...@vger.kernel.org Fixes: d126d43f631f996daeee5006714fed914be32368 Signed-off-by: Jan Kara <j...@suse.cz> Reviewed-by: Brian Foster <bfos...@redhat.com> Reviewed-by: Darrick J. Wong <darrick.w...@oracle.com> Signed-off-by: Darrick J. Wong <darrick.w...@oracle.com> The above commit fixes the generic/436 test, but generic/285 still FAILS. The generic/285 failure is reproducible on most P8/P9 systems. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-power-systems/+bug/1696049/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp