bcachefs: Use blk_status_to_str()
authorKent Overstreet <kent.overstreet@gmail.com>
Thu, 2 Jul 2020 17:43:58 +0000 (13:43 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:42 +0000 (17:08 -0400)
Improved error messages are always a good thing

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_io.c
fs/bcachefs/ec.c
fs/bcachefs/io.c
fs/bcachefs/journal_io.c
fs/bcachefs/super-io.c

index 2a253380fef9540c70d664547c63bee8d7fb1b0c..cb9abca0705936133e6963a175af69a18d3980a5 100644 (file)
@@ -1138,7 +1138,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);
index 074b811e90436d6fc687bb05aabd732126548811..d35fa016cf0acee61d8937638ea5788ed8648b24 100644 (file)
@@ -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);
index ca27e7dff5e01bba17148bf1780427c8e289ad5a..5763654db31007bc08c27f0f4d7c4d6e45c29abe 100644 (file)
@@ -624,7 +624,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) {
@@ -1913,7 +1914,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;
        }
index a1bae99aeaab7739585055e53e99bc7ebfdf496f..4d20762f55d3d8f15d0f1a245e762d2a35daaf9f 100644 (file)
@@ -960,7 +960,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;
index eb5a91d232e025bdfb6bc00af445b0ebdb97f85c..8541db5e5e48abd94c03b175cafe94aa7283a5b9 100644 (file)
@@ -640,7 +640,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);