diff options
author | Christoph Hellwig <[email protected]> | 2023-08-11 12:08:22 +0200 |
---|---|---|
committer | Christian Brauner <[email protected]> | 2023-08-21 14:35:31 +0200 |
commit | 2527fd38772fea30c1d1cbf94839a0bbf4122133 (patch) | |
tree | 50c741bacf5955667d194117c653c4ed5de4bb27 | |
parent | 2c0326c587965a40c4013361b1f4d0e5cca5194e (diff) |
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 <[email protected]>
Reviewed-by: Josef Bacik <[email protected]>
Message-Id: <[email protected]>
Signed-off-by: Christian Brauner <[email protected]>
-rw-r--r-- | drivers/s390/block/dasd.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c index edcbf77852c3..675b38ad00dc 100644 --- a/drivers/s390/block/dasd.c +++ b/drivers/s390/block/dasd.c @@ -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, |