s390/dasd: prevent inconsistent LCU device data
authorStefan Haberland <sth@linux.ibm.com>
Thu, 17 Dec 2020 15:59:05 +0000 (16:59 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Dec 2020 10:54:09 +0000 (11:54 +0100)
commit96aca84128f2f4e3b687ad523ce96d10df51c39f
treecd79e2ff2e324951a97de5bceca9ccc00255ae6b
parenta67e261b5b9e36a73bb9d9d0bb1fcdeeea0e8232
s390/dasd: prevent inconsistent LCU device data

commit a29ea01653493b94ea12bb2b89d1564a265081b6 upstream.

Prevent _lcu_update from adding a device to a pavgroup if the LCU still
requires an update. The data is not reliable any longer and in parallel
devices might have been moved on the lists already.
This might lead to list corruptions or invalid PAV grouping.
Only add devices to a pavgroup if the LCU is up to date. Additional steps
are taken by the scheduled lcu update.

Fixes: 8e09f21574ea ("[S390] dasd: add hyper PAV support to DASD device driver, part 1")
Cc: stable@vger.kernel.org
Signed-off-by: Stefan Haberland <sth@linux.ibm.com>
Reviewed-by: Jan Hoeppner <hoeppner@linux.ibm.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/s390/block/dasd_alias.c