]> www.infradead.org Git - nvme.git/commitdiff
bcachefs: Add an error message for insufficient rw journal devs
authorKent Overstreet <kent.overstreet@linux.dev>
Mon, 15 Jul 2024 20:30:44 +0000 (16:30 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Thu, 18 Jul 2024 22:33:30 +0000 (18:33 -0400)
This causes us to go read-only - need an error message saying why.

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

index 79be0eaddfa0d14b1273b8cb8ef42449d79e3485..d8a63074288725f5b89bf9ad2ae2df143720dc2c 100644 (file)
@@ -205,6 +205,17 @@ void bch2_journal_space_available(struct journal *j)
        j->can_discard = can_discard;
 
        if (nr_online < metadata_replicas_required(c)) {
+               struct printbuf buf = PRINTBUF;
+               prt_printf(&buf, "insufficient writeable journal devices available: have %u, need %u\n"
+                          "rw journal devs:", nr_online, metadata_replicas_required(c));
+
+               rcu_read_lock();
+               for_each_member_device_rcu(c, ca, &c->rw_devs[BCH_DATA_journal])
+                       prt_printf(&buf, " %s", ca->name);
+               rcu_read_unlock();
+
+               bch_err(c, "%s", buf.buf);
+               printbuf_exit(&buf);
                ret = JOURNAL_ERR_insufficient_devices;
                goto out;
        }