]> www.infradead.org Git - users/hch/xfs.git/commitdiff
bcachefs: Warn on attempting a move with no replicas
authorKent Overstreet <kent.overstreet@linux.dev>
Wed, 3 Jul 2024 17:23:58 +0000 (13:23 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Wed, 10 Jul 2024 13:53:39 +0000 (09:53 -0400)
Instead of popping an assert in bch2_write(), WARN and print out some
debugging info.

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

index eeae760a15d3cccd902f1092843847cc8bb9537e..0087b8555ead3c20459ac5bbaaf883e4c389901e 100644 (file)
@@ -677,6 +677,16 @@ int bch2_data_update_init(struct btree_trans *trans,
        if (!(durability_have + durability_removing))
                m->op.nr_replicas = max((unsigned) m->op.nr_replicas, 1);
 
+       if (!m->op.nr_replicas) {
+               struct printbuf buf = PRINTBUF;
+
+               bch2_data_update_to_text(&buf, m);
+               WARN(1, "trying to move an extent, but nr_replicas=0\n%s", buf.buf);
+               printbuf_exit(&buf);
+               ret = -BCH_ERR_data_update_done;
+               goto done;
+       }
+
        m->op.nr_replicas_required = m->op.nr_replicas;
 
        if (reserve_sectors) {