From 883f1a7ce05f5f723ce5b47b9d9b796b53b3692a Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Thu, 27 Feb 2020 15:03:53 -0500 Subject: [PATCH] bcachefs: Dont't del sysfs dir until after we go RO This will help for debugging hangs during unmount Signed-off-by: Kent Overstreet Signed-off-by: Kent Overstreet --- fs/bcachefs/super.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fs/bcachefs/super.c b/fs/bcachefs/super.c index 2ba04b08529d..8670be394239 100644 --- a/fs/bcachefs/super.c +++ b/fs/bcachefs/super.c @@ -518,6 +518,10 @@ void bch2_fs_stop(struct bch_fs *c) cancel_work_sync(&c->journal_seq_blacklist_gc_work); + mutex_lock(&c->state_lock); + bch2_fs_read_only(c); + mutex_unlock(&c->state_lock); + for_each_member_device(ca, c, i) if (ca->kobj.state_in_sysfs && ca->disk_sb.bdev) @@ -540,10 +544,6 @@ void bch2_fs_stop(struct bch_fs *c) closure_sync(&c->cl); closure_debug_destroy(&c->cl); - mutex_lock(&c->state_lock); - bch2_fs_read_only(c); - mutex_unlock(&c->state_lock); - /* btree prefetch might have kicked off reads in the background: */ bch2_btree_flush_all_reads(c);