diff options
author | 2025-03-26 11:41:07 -0400 | |
---|---|---|
committer | 2025-03-28 11:13:25 -0400 | |
commit | 2dd202dbaf0acfa4af7fcdf258f35866e31f7425 (patch) | |
tree | 6cc3198b97a40379718ef6f1fc687d81f795d397 /fs/bcachefs/sysfs.c | |
parent | bcachefs: Fix permissions on version modparam (diff) | |
download | wireguard-linux-2dd202dbaf0acfa4af7fcdf258f35866e31f7425.tar.xz wireguard-linux-2dd202dbaf0acfa4af7fcdf258f35866e31f7425.zip |
bcachefs: Recovery no longer holds state_lock
state_lock guards against devices coming or leaving, changing state, or
the filesystem changing between ro <-> rw.
But it's not necessary for running recovery passes, and holding it
blocks asynchronous events that would cause us to go RO or kick out
devices.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to '')
-rw-r--r-- | fs/bcachefs/sysfs.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/fs/bcachefs/sysfs.c b/fs/bcachefs/sysfs.c index 251ba8224c1f..74c186d65d1f 100644 --- a/fs/bcachefs/sysfs.c +++ b/fs/bcachefs/sysfs.c @@ -631,8 +631,6 @@ static ssize_t sysfs_opt_store(struct bch_fs *c, if (unlikely(!bch2_write_ref_tryget(c, BCH_WRITE_REF_sysfs))) return -EROFS; - down_write(&c->state_lock); - char *tmp = kstrdup(buf, GFP_KERNEL); if (!tmp) { ret = -ENOMEM; @@ -675,7 +673,6 @@ static ssize_t sysfs_opt_store(struct bch_fs *c, ret = size; err: - up_write(&c->state_lock); bch2_write_ref_put(c, BCH_WRITE_REF_sysfs); return ret; } |