diff options
| author | Keith Busch <kbusch@kernel.org> | 2026-07-20 13:10:53 -0700 |
|---|---|---|
| committer | Jens Axboe <axboe@kernel.dk> | 2026-07-30 15:54:06 -0600 |
| commit | 75ae18ca942674f9d5b55d7e8a2975485125f715 (patch) | |
| tree | fd5162886c29d9c1a05c50536c9aaa71396bd931 /block | |
| parent | f5098b6bae761e346ebcd9da7f95622c04733cff (diff) | |
block: use blkdev_iov_iter_get_pages status for errors
blkdev_iov_iter_get_pages() can return various error values, including
EIO, EFAULT, and ENOMEM. Set the actual reported status so user space
can know why an operation failed.
Reviewed-by: Hannes Reinecke <hare@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Link: https://patch.msgid.link/20260720201057.1862857-2-kbusch@meta.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block')
| -rw-r--r-- | block/fops.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/block/fops.c b/block/fops.c index 15783a6180de..0827bb884d47 100644 --- a/block/fops.c +++ b/block/fops.c @@ -218,7 +218,7 @@ static ssize_t __blkdev_direct_IO(struct kiocb *iocb, struct iov_iter *iter, ret = blkdev_iov_iter_get_pages(bio, iter, bdev); if (unlikely(ret)) { - bio_endio_status(bio, BLK_STS_IOERR); + bio_endio_status(bio, errno_to_blk_status(ret)); break; } if (iocb->ki_flags & IOCB_NOWAIT) { |
