I built the next test kernel, up to the following commit:
5375023ae1266553a7baa0845e82917d8803f48c

The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1696049

Can you test that kernel and report back if it has the bug or not? I
will build the next test kernel based on your test results.

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