[SRU][E][PATCH 0/1] Disable ECKD Thin Provisioning to prevent data loss (LP: 1860535)
frank.heimes at canonical.com
frank.heimes at canonical.com
Mon Jan 27 18:06:10 UTC 2020
Buglink: https://bugs.launchpad.net/bugs/1860535
SRU Justification:
[Impact]
* A severe problem with 'thin provisioning ECKD volumes', introduced with 19.10's kernel 5.3, was identified.
* For enhanced space efficient (ese) volumes, errors may occur when accessing not formatted tracks.
* In such a case the driver either formats the track on the fly for write requests or returns zero data for read requests.
* But if a write request spans multiple tracks, the indication of an unformatted track can be in wc applied to all tracks.
* Hence tracks containing data will be handled as empty tracks, resulting in zero data being returned on read, or overwriting
existing data with zero on write.
[Fix]
* Backport: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1860535/+attachment/5323313/+files/0001-s390-dasd-disable-ese-support-due-to-possible-data-c.patch
[Test Case]
* An s390x LPAR with Eoan / kernel 5.3 and at least one 3390 DASD (ECKD) disk is needed ('discard' enabled, which is default).
* Writing arbitrary files (but with known content, e.g. all '1's) to fill the disk up to a certain level
* Since all 3390 DASDs (mod-3, 9, 27 or 54 ...) have 56,664 bytes per track, writing a file (again with simple but known content) with a size of a multiple of 56,664 bytes on a thin provisioned ECKD DASD device should provoke the error situation.
* Check the files for any modifications (partially filled with '0', cut/truncated, deleted/zero length).
[Regression Potential]
* The regression potential is moderate since this is purely s390x specific,
* limited to thin provisioned DASD disks on Eoan / kernel 5.3
* and just disables the broken feature and reverts things back to a DASD fuctionality that is known to work.
[Other Info]
* For 19.10 / Eoan no real fix will be provided, but a patch for disabling this feature completely (this bug/patch).
* The broken functionality that got introduced in Eoan, got already partially removed due to problems on z/VM.
* For 20.04 / Focal a proper fix is in the works that will be made available as backport to Focal's kernel 5.4.
Stefan Haberland (1):
s390/dasd: disable ese support due to possible data corruption
drivers/s390/block/dasd_eckd.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
--
2.7.4
More information about the kernel-team
mailing list