]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
btrfs: btrfs_log_dev_io_error() on all bio errors
authorBoris Burkov <boris@bur.io>
Mon, 6 Apr 2026 16:15:15 +0000 (09:15 -0700)
committerDavid Sterba <dsterba@suse.com>
Tue, 7 Apr 2026 18:00:29 +0000 (20:00 +0200)
commitfc3d53288158d68444eed059adb734709b855bbf
tree92a746f7c52e3ea0fafc2af9bd2433233704901d
parent3cd181cc46d36aa7bd4af85f14639d86a25beaec
btrfs: btrfs_log_dev_io_error() on all bio errors

As far as I can tell, we never intentionally constrained ourselves to
these status codes, and it is misleading and surprising to lack the
bdev error logging when we get a different error code from the block
layer. This can lead to jumping to a wrong conclusion like "this
system didn't see any bio failures but aborted with EIO".

For example on nvme devices, I observe many failures coming back as
BLK_STS_MEDIUM. It is apparent that the nvme driver returns a variety of
BLK_STS_* status values in nvme_error_status().

So handle the known expected errors and make some noise on the rest
which we expect won't really happen.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Anand Jain <asj@kernel.org>
Signed-off-by: Boris Burkov <boris@bur.io>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/bio.c