diff options
| author | Stefan Haberland <sth@linux.ibm.com> | 2026-08-05 13:15:55 +0200 |
|---|---|---|
| committer | Jens Axboe <axboe@kernel.dk> | 2026-08-05 06:31:07 -0600 |
| commit | 6fb5ba2e7e43173a3761e46f091070a8185efa14 (patch) | |
| tree | abadce1b22220e874ffc1dd412c98db8c12f8ea1 /tools/perf/scripts/python/libxed.py | |
| parent | cddb447c62466f3076938ce120028d7b591f9f37 (diff) | |
s390/dasd: Propagate partial completion length across ERP recovery
dasd_default_erp_postaction() copies the timing and device state from
the finished ERP request back to the original request but drops
proc_bytes. A request that was partially completed, an ESE read of a
not-yet-allocated track returns fewer bytes than requested, and then
recovered through the ERP chain loses its partial-completion length.
__dasd_cleanup_cqr() then sees proc_bytes == 0 and completes the whole
request instead of requeueing the remainder, silently returning zeroed
data for the part that was never read.
Carry proc_bytes over to the original request like the other
per-request state.
Fixes: 5e6bdd37c552 ("s390/dasd: fix data corruption for thin provisioned devices")
Cc: stable@vger.kernel.org
Reviewed-by: Jan Höppner <hoeppner@linux.ibm.com>
Signed-off-by: Stefan Haberland <sth@linux.ibm.com>
Link: https://patch.msgid.link/20260805111612.1285190-3-sth@linux.ibm.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'tools/perf/scripts/python/libxed.py')
0 files changed, 0 insertions, 0 deletions
