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

Reply via email to