dasd: also call __invalidate_device when setting the device offline
Don't just write out the data, but also invalidate all caches when setting the device offline. Stop canceling the offlining when writeback fails as there is no way to recover from that anyway. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Josef Bacik <josef@toxicpanda.com> Message-Id: <20230811100828.1897174-12-hch@lst.de> Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
parent
2c0326c587
commit
2527fd3877
|
@ -3627,9 +3627,8 @@ int dasd_generic_set_offline(struct ccw_device *cdev)
|
|||
* empty
|
||||
*/
|
||||
if (device->block) {
|
||||
rc = fsync_bdev(device->block->bdev);
|
||||
if (rc != 0)
|
||||
goto interrupted;
|
||||
fsync_bdev(device->block->bdev);
|
||||
__invalidate_device(device->block->bdev, true);
|
||||
}
|
||||
dasd_schedule_device_bh(device);
|
||||
rc = wait_event_interruptible(shutdown_waitq,
|
||||
|
|
Loading…
Reference in New Issue