summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2020-07-02 13:43:58 -0400
committerKent Overstreet <kent.overstreet@gmail.com>2020-07-02 13:44:10 -0400
commitf553aea82551895bba5008700a87e5a3ee49d498 (patch)
tree0f8314faabbac99e68bf5303de43d660fd8af476
parentbb3a4b8263a99e78be6ee64b8ff181e8abc15ecf (diff)
bcachefs: Use blk_status_to_str()
Improved error messages are always a good thing Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
-rw-r--r--fs/bcachefs/btree_io.c7
-rw-r--r--fs/bcachefs/ec.c4
-rw-r--r--fs/bcachefs/io.c6
-rw-r--r--fs/bcachefs/journal_io.c3
-rw-r--r--fs/bcachefs/super-io.c3
5 files changed, 15 insertions, 8 deletions
diff --git a/fs/bcachefs/btree_io.c b/fs/bcachefs/btree_io.c
index bb3aeccef67e..a133fa98a917 100644
--- a/fs/bcachefs/btree_io.c
+++ b/fs/bcachefs/btree_io.c
@@ -1139,7 +1139,8 @@ static void btree_node_read_work(struct work_struct *work)
bio->bi_status = BLK_STS_REMOVED;
}
start:
- bch2_dev_io_err_on(bio->bi_status, ca, "btree read");
+ bch2_dev_io_err_on(bio->bi_status, ca, "btree read: %s",
+ blk_status_to_str(bio->bi_status));
if (rb->have_ioref)
percpu_ref_put(&ca->io_ref);
rb->have_ioref = false;
@@ -1423,8 +1424,8 @@ static void btree_node_write_endio(struct bio *bio)
if (wbio->have_ioref)
bch2_latency_acct(ca, wbio->submit_time, WRITE);
- if (bio->bi_status == BLK_STS_REMOVED ||
- bch2_dev_io_err_on(bio->bi_status, ca, "btree write") ||
+ if (bch2_dev_io_err_on(bio->bi_status, ca, "btree write: %s",
+ blk_status_to_str(bio->bi_status)) ||
bch2_meta_write_fault("btree")) {
spin_lock_irqsave(&c->btree_write_error_lock, flags);
bch2_dev_list_add_dev(&orig->failed, wbio->dev);
diff --git a/fs/bcachefs/ec.c b/fs/bcachefs/ec.c
index 9442d6e4041c..8c7e9cb74888 100644
--- a/fs/bcachefs/ec.c
+++ b/fs/bcachefs/ec.c
@@ -360,7 +360,9 @@ static void ec_block_endio(struct bio *bio)
struct bch_dev *ca = ec_bio->ca;
struct closure *cl = bio->bi_private;
- if (bch2_dev_io_err_on(bio->bi_status, ca, "erasure coding"))
+ if (bch2_dev_io_err_on(bio->bi_status, ca, "erasure coding %s: %s",
+ bio_data_dir(bio) ? "write" : "read",
+ blk_status_to_str(bio->bi_status)))
clear_bit(ec_bio->idx, ec_bio->buf->valid);
bio_put(&ec_bio->bio);
diff --git a/fs/bcachefs/io.c b/fs/bcachefs/io.c
index 8c441050b02a..8d608c900525 100644
--- a/fs/bcachefs/io.c
+++ b/fs/bcachefs/io.c
@@ -611,7 +611,8 @@ static void bch2_write_endio(struct bio *bio)
struct bch_fs *c = wbio->c;
struct bch_dev *ca = bch_dev_bkey_exists(c, wbio->dev);
- if (bch2_dev_io_err_on(bio->bi_status, ca, "data write"))
+ if (bch2_dev_io_err_on(bio->bi_status, ca, "data write: %s",
+ blk_status_to_str(bio->bi_status)))
set_bit(wbio->dev, op->failed.d);
if (wbio->have_ioref) {
@@ -1921,7 +1922,8 @@ static void bch2_read_endio(struct bio *bio)
if (!rbio->split)
rbio->bio.bi_end_io = rbio->end_io;
- if (bch2_dev_io_err_on(bio->bi_status, ca, "data read")) {
+ if (bch2_dev_io_err_on(bio->bi_status, ca, "data read; %s",
+ blk_status_to_str(bio->bi_status))) {
bch2_rbio_error(rbio, READ_RETRY_AVOID, bio->bi_status);
return;
}
diff --git a/fs/bcachefs/journal_io.c b/fs/bcachefs/journal_io.c
index b7625285b3ad..c298c2b7721d 100644
--- a/fs/bcachefs/journal_io.c
+++ b/fs/bcachefs/journal_io.c
@@ -961,7 +961,8 @@ static void journal_write_endio(struct bio *bio)
struct bch_dev *ca = bio->bi_private;
struct journal *j = &ca->fs->journal;
- if (bch2_dev_io_err_on(bio->bi_status, ca, "journal write") ||
+ if (bch2_dev_io_err_on(bio->bi_status, ca, "journal write: %s",
+ blk_status_to_str(bio->bi_status)) ||
bch2_meta_write_fault("journal")) {
struct journal_buf *w = journal_prev_buf(j);
unsigned long flags;
diff --git a/fs/bcachefs/super-io.c b/fs/bcachefs/super-io.c
index f2be64c869df..9a221d3e1652 100644
--- a/fs/bcachefs/super-io.c
+++ b/fs/bcachefs/super-io.c
@@ -636,7 +636,8 @@ static void write_super_endio(struct bio *bio)
/* XXX: return errors directly */
- if (bch2_dev_io_err_on(bio->bi_status, ca, "superblock write"))
+ if (bch2_dev_io_err_on(bio->bi_status, ca, "superblock write: %s",
+ blk_status_to_str(bio->bi_status)))
ca->sb_write_error = 1;
closure_put(&ca->fs->sb_write);