bcachefs: Fix starting copygc when already started
authorKent Overstreet <kent.overstreet@gmail.com>
Fri, 24 May 2019 18:45:33 +0000 (14:45 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:22 +0000 (17:08 -0400)
We can sometimes call bch2_dev_read_write() when the device is already
RW (in error paths).

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

index d97be76da58fc00d118e226b11a15595ce9186c1..44e235ef3de018ee97e0bd6d3dae35270d4fb8a9 100644 (file)
@@ -283,7 +283,8 @@ int bch2_copygc_start(struct bch_fs *c, struct bch_dev *ca)
 {
        struct task_struct *t;
 
-       BUG_ON(ca->copygc_thread);
+       if (ca->copygc_thread)
+               return 0;
 
        if (c->opts.nochanges)
                return 0;