diff options
author | Song Liu <song@kernel.org> | 2022-02-03 20:28:25 +0100 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2022-02-04 05:10:00 +0100 |
commit | 2651bf680bc2ad9a078b7222b0873145ab4ece07 (patch) | |
tree | bf28c532359259735917a29c047f7b00c80c9097 /block/blk-core.c | |
parent | fs/ntfs3: remove unnecessary NULL check (diff) | |
download | linux-2651bf680bc2ad9a078b7222b0873145ab4ece07.tar.xz linux-2651bf680bc2ad9a078b7222b0873145ab4ece07.zip |
block: introduce BLK_STS_OFFLINE
Currently, drivers reports BLK_STS_IOERR for devices that are not full
online or being removed. This behavior could cause confusion for users,
as they are not really I/O errors from the device.
Solve this issue with a new state BLK_STS_OFFLINE, which reports "device
offline error" in dmesg instead of "I/O error".
EIO is intentionally kept to not change user visible return value.
Signed-off-by: Song Liu <song@kernel.org>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Link: https://lore.kernel.org/r/20220203192827.1370270-2-song@kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk-core.c')
-rw-r--r-- | block/blk-core.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/block/blk-core.c b/block/blk-core.c index 61f6a0dc4511..24035dd2eef1 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -164,6 +164,7 @@ static const struct { [BLK_STS_RESOURCE] = { -ENOMEM, "kernel resource" }, [BLK_STS_DEV_RESOURCE] = { -EBUSY, "device resource" }, [BLK_STS_AGAIN] = { -EAGAIN, "nonblocking retry" }, + [BLK_STS_OFFLINE] = { -EIO, "device offline" }, /* device mapper special case, should not leak out: */ [BLK_STS_DM_REQUEUE] = { -EREMCHG, "dm internal retry" }, |