summaryrefslogtreecommitdiff
path: root/fs/bcachefs/super.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2022-10-09 11:26:06 +0300
committerKent Overstreet <kent.overstreet@linux.dev>2023-10-23 00:09:51 +0300
commit15949c549993a2383ebacf6c563b85722278fba3 (patch)
treebdf8603b637ea5f01a1ae3dd68dc191897c98297 /fs/bcachefs/super.c
parentc9828cea312e83f3f17f4a80990f91739ff33d06 (diff)
downloadlinux-15949c549993a2383ebacf6c563b85722278fba3.tar.xz
bcachefs: Don't stop copygc while removing devices
With the new backpointer based copygc we don't need an explicit copygc reserve, we're always evacuating buckets one at a time - so this is no longer needed, and in fact removing it fixes a deadlock in bch2_dev_allocator_remove(). Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/super.c')
-rw-r--r--fs/bcachefs/super.c8
1 files changed, 0 insertions, 8 deletions
diff --git a/fs/bcachefs/super.c b/fs/bcachefs/super.c
index c5efaa7d38a8..2fb7e6300ea5 100644
--- a/fs/bcachefs/super.c
+++ b/fs/bcachefs/super.c
@@ -1346,18 +1346,10 @@ static bool bch2_fs_may_start(struct bch_fs *c)
static void __bch2_dev_read_only(struct bch_fs *c, struct bch_dev *ca)
{
/*
- * Device going read only means the copygc reserve get smaller, so we
- * don't want that happening while copygc is in progress:
- */
- bch2_copygc_stop(c);
-
- /*
* The allocator thread itself allocates btree nodes, so stop it first:
*/
bch2_dev_allocator_remove(c, ca);
bch2_dev_journal_stop(&c->journal, ca);
-
- bch2_copygc_start(c);
}
static void __bch2_dev_read_write(struct bch_fs *c, struct bch_dev *ca)