bcachefs: Fix bch2_mark_extent()
authorKent Overstreet <kent.overstreet@gmail.com>
Wed, 9 Oct 2019 01:33:56 +0000 (21:33 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:29 +0000 (17:08 -0400)
If an extent only contained cached or erasure coded pointers, there
won't be any devices in the normal dirty replicas list or an entry to
update.

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

index 5e0e699c679adace6bcadf49dad996d0a427d016..9beb4d4cf85da6f9f62bb32244721b440da509de 100644 (file)
@@ -1063,7 +1063,8 @@ static int bch2_mark_extent(struct bch_fs *c, struct bkey_s_c k,
                }
        }
 
-       update_replicas(c, fs_usage, &r.e, dirty_sectors);
+       if (r.e.nr_devs)
+               update_replicas(c, fs_usage, &r.e, dirty_sectors);
 
        return 0;
 }