]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
bcachefs: Fix bch2_read_bio_to_text()
authorKent Overstreet <kent.overstreet@linux.dev>
Tue, 17 Jun 2025 00:08:23 +0000 (20:08 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Tue, 17 Jun 2025 00:35:42 +0000 (20:35 -0400)
We can only pass negative error codes to bch2_err_str(); if it's a
positive integer it's not an error and we trip an assert.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/io_read.c

index 04bbdcf58e40398dfc31473665661da3efe26241..cd184b219a652d41feb89e8671ef3f43c2f29705 100644 (file)
@@ -1491,7 +1491,12 @@ void bch2_read_bio_to_text(struct printbuf *out, struct bch_read_bio *rbio)
        prt_printf(out, "have_ioref:\t%u\n",    rbio->have_ioref);
        prt_printf(out, "narrow_crcs:\t%u\n",   rbio->narrow_crcs);
        prt_printf(out, "context:\t%u\n",       rbio->context);
-       prt_printf(out, "ret:\t%s\n",           bch2_err_str(rbio->ret));
+
+       int ret = READ_ONCE(rbio->ret);
+       if (ret < 0)
+               prt_printf(out, "ret:\t%s\n",           bch2_err_str(ret));
+       else
+               prt_printf(out, "ret:\t%i\n",           ret);
 
        prt_printf(out, "flags:\t");
        bch2_prt_bitflags(out, bch2_read_bio_flags, rbio->flags);