Verification with bionic-proposed of xfstests results.

No regressions introduced by this bcache patchset.

The comparison between -updates and -proposed is not directly possible
because -proposed introduced failures via other components in I/O path
(e.g., block, ext4).

This is described below, and just to make sure, the -proposed kernel
has been rebuilt with the bcache patchset reverted, and test results
are the same (same failures with/without the patchset; no regression).

It's also been confirmed (below) that tests with a raw block device
(sda) instead of bcache device (thus eliminating the bcache code)
shows the new/introduced failures (ext4/035, generic/553, generic/554).

(the output below does look better on a very wide screen. :-)


proposed kernel: 4.15.0-55.62 (with patchset)
---

xfstests.test.none.log:         Failures: ext4/032 ext4/035 generic/371 
----------- generic/484 generic/491 ----------- generic/537 ----------- 
----------- generic/553 generic/554
xfstests.test.writearound.log:  Failures: ext4/032 ext4/035 ----------- 
generic/451 generic/484 generic/491 ----------- generic/537 ----------- 
----------- generic/553 generic/554
xfstests.test.writeback.log:    Failures: -------- ext4/035 ----------- 
----------- generic/484 generic/491 ----------- generic/537 ----------- 
----------- generic/553 generic/554
xfstests.test.writethrough.log: Failures: ext4/032 ext4/035 ----------- 
----------- generic/484 generic/491 ----------- generic/537 ----------- 
----------- generic/553 generic/554

sda-only (no bcache)            Failures: ext4/032 ext4/035 generic/371
----------- generic/484 generic/491 ----------- ----------- generic/538
----------- generic/553 generic/554


proposed kernel (4.15.0-56 without patchset)
---

$ uname -rv
4.15.0-56-generic #62+test20190730b1 SMP Tue Jul 30 18:25:01 -03 2019


xfstests.test.none.log:         Failures: ext4/032 ext4/035 generic/371 
----------- generic/484 generic/491 ----------- generic/537 ----------- 
----------- generic/553 generic/554
xfstests.test.writearound.log:  Failures: ext4/032 ext4/035 ----------- 
generic/451 generic/484 generic/491 ----------- generic/537 ----------- 
generic/547 generic/553 generic/554
xfstests.test.writeback.log:    Failures: -------- ext4/035 ----------- 
----------- generic/484 generic/491 ----------- generic/537 ----------- 
----------- generic/553 generic/554
xfstests.test.writethrough.log: Failures: ext4/032 ext4/035 ----------- 
----------- generic/484 generic/491 ----------- generic/537 ----------- 
----------- generic/553 generic/554


test kernel (4.15.0-55 with patchset)
---

xfstests.test.none.log:         Failures: ext4/032 -------- ----------- 
----------- generic/484 generic/491 generic/504 generic/537 ----------- 
----------- ----------- -----------
xfstests.test.writearound.log:  Failures: ext4/032 -------- ----------- 
generic/451 generic/484 generic/491 generic/504 generic/537 ----------- 
----------- ----------- ----------- 
xfstests.test.writeback.log:    Failures: -------- -------- ----------- 
----------- generic/484 generic/491 generic/504 generic/537 ----------- 
----------- ----------- ----------- 
xfstests.test.writethrough.log: Failures: ext4/032 -------- ----------- 
----------- generic/484 generic/491 generic/504 generic/537 ----------- 
----------- ----------- ----------- 

orig kernel (4.15.0-55)
---

xfstests.test.none.log:         Failures: ext4/032 -------- ----------- 
----------- generic/484 generic/491 generic/504 generic/537 ----------- 
----------- ----------- ----------- 
xfstests.test.writearound.log:  Failures: ext4/032 -------- generic/371 
generic/451 generic/484 generic/491 generic/504 generic/537 ----------- 
----------- ----------- ----------- 
xfstests.test.writeback.log:    Failures: -------- -------- ----------- 
----------- generic/484 generic/491 generic/504 generic/537 ----------- 
----------- ----------- ----------- 
xfstests.test.writethrough.log: Failures: ext4/032 -------- ----------- 
----------- generic/484 generic/491 generic/504 generic/537 ----------- 
----------- ----------- -----------

-- 
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/1829563

Title:
  bcache: risk of data loss on I/O errors in backing or caching devices

Status in linux package in Ubuntu:
  Fix Committed
Status in linux source package in Bionic:
  Fix Committed
Status in linux source package in Cosmic:
  Won't Fix
Status in linux source package in Disco:
  Fix Committed
Status in linux source package in Eoan:
  Fix Committed

Bug description:
  [Impact]

   * The bcache code in Bionic lacks several fixes to handle
     I/O errors in both backing devices and caching devices.

   * Partial or permanent errors in backing or caching devices,
     specially in writeback mode, can lead to data loss and/or
     the application is not notified about failed I/O requests.

   * The bcache device might remain available for I/O requests
     even if backing device is offline, so writes are undefined.

  [Test Case]

   * Detailed test cases/steps for the behavior of many patches
     with code logic changes are provided in bug comments.

   * The patchset has been tested for regressions on each cache
     mode (writethrough, writeback, writearound, none) with the
     xfstests test suite (on ext4) and fio (sequential + random
     read-write).

  [Regression Potential]

   * The patchset is relatively large and touches several areas
     in bcache code, however, synthetic testing of the patches
     has been performed, and extensive regression/stress tests
     were run (as mentioned in Test Case section).

   * Many patches in the patchset are 'Fixes' patches to other
     patches, and no further 'Fixes' currently exist upstream.

  [Other Info]

   * Canonical Field Eng. deploys bcache+writeback extensively
     (e.g., BootStack, UA cloud, except rare all-flash cases).

  [Original Bug Description]

  This is a request for a backport of the following upstream patch from
  4.18:

  "bcache: stop bcache device when backing device is offline"
  
https://github.com/torvalds/linux/commit/0f0709e6bfc3ce4e8e1c0e8573490c45f76cfeee

  Field engineering uses bcache quite extensively and it would be good
  to have this in the GA/bionic kernel.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1829563/+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