[SRU][E][PATCH 1/1] UBUNTU: SAUCE: s390/dasd: disable ese support due to possible data corruption

frank.heimes at canonical.com frank.heimes at canonical.com
Mon Jan 27 18:06:11 UTC 2020


From: Stefan Haberland <sth at linux.ibm.com>

BugLink: https://bugs.launchpad.net/bugs/1860535

Devices are formatted in multiple of tracks.
For an enhanced space efficient (ese) volume we get errors when accessing
not formatted tracks. In this case the driver either formats the track
on the flight for write requests or returns zero data for read requests.

In case a request spans multiple tracks, the indication of an unformatted
track presented for the first track is incorrectly applied to all tracks
covered by the request. As a result, tracks containing data will be handled
as if empty, resulting in zero data being returned on read, or overwriting
existing data with zero on write.

While working on a proper fix disable the feature by always returning zero
for the ese check. This disables all ese special handling and prevents the
possible data corruption.

Fixes: 5e2b17e712cf ("s390/dasd: Add dynamic formatting support for ESE volumes")

OriginalAuthor: Stefan Haberland <sth at linux.ibm.com>
Signed-off-by: Stefan Haberland <sth at linux.ibm.com>
Signed-off-by: Frank Heimes <frank.heimes at canonical.com>

---
 drivers/s390/block/dasd_eckd.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c
index c94184d..941afed 100644
--- a/drivers/s390/block/dasd_eckd.c
+++ b/drivers/s390/block/dasd_eckd.c
@@ -1567,9 +1567,11 @@ static int dasd_eckd_read_vol_info(struct dasd_device *device)
 
 static int dasd_eckd_is_ese(struct dasd_device *device)
 {
-	struct dasd_eckd_private *private = device->private;
-
-	return private->vsq.vol_info.ese;
+	/*
+	 * return 0 to disable ese support
+	 * this will be changed when a data integrity issue is solved
+	 */
+	return 0;
 }
 
 static int dasd_eckd_ext_pool_id(struct dasd_device *device)
-- 
2.7.4




More information about the kernel-team mailing list