summaryrefslogtreecommitdiffstats
path: root/fs/bcachefs/io_misc.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-12-19 18:08:19 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2024-01-01 11:47:41 -0500
commita7dc10ce689a6224c1601d5d2e4ca57dd8cce9f6 (patch)
treef3a43aebab1cfa79ff2d7636d08432aeff696f87 /fs/bcachefs/io_misc.c
parent548673f8d39249d717d02038bd192a076e79edf0 (diff)
downloadlinux-a7dc10ce689a6224c1601d5d2e4ca57dd8cce9f6.tar.gz
linux-a7dc10ce689a6224c1601d5d2e4ca57dd8cce9f6.tar.bz2
linux-a7dc10ce689a6224c1601d5d2e4ca57dd8cce9f6.zip
bcachefs: Make sure allocation failure errors are logged
The previous patch fixed a bug in allocation path error handling, and it would've been noticed sooner had it been logged properly. Generally speaking, errors that shouldn't happen in normal operation and are being returned up the stack should be logged: the write path was already logging IO errors, but non IO errors were missed. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/io_misc.c')
-rw-r--r--fs/bcachefs/io_misc.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/bcachefs/io_misc.c b/fs/bcachefs/io_misc.c
index eab0c8c57785..26fdc6f35f04 100644
--- a/fs/bcachefs/io_misc.c
+++ b/fs/bcachefs/io_misc.c
@@ -61,7 +61,7 @@ int bch2_extent_fallocate(struct btree_trans *trans,
*/
ret = bch2_disk_reservation_get(c, &disk_res, sectors, new_replicas, 0);
if (unlikely(ret))
- goto err;
+ goto err_noprint;
bch2_bkey_buf_reassemble(&old, c, k);
}
@@ -125,7 +125,12 @@ int bch2_extent_fallocate(struct btree_trans *trans,
err:
if (!ret && sectors_allocated)
bch2_increment_clock(c, sectors_allocated, WRITE);
-
+ if (should_print_err(ret))
+ bch_err_inum_offset_ratelimited(c,
+ inum.inum,
+ iter->pos.offset << 9,
+ "%s(): error: %s", __func__, bch2_err_str(ret));
+err_noprint:
bch2_open_buckets_put(c, &open_buckets);
bch2_disk_reservation_put(c, &disk_res);
bch2_bkey_buf_exit(&new, c);