diff options
| author | Kent Overstreet <kent.overstreet@linux.dev> | 2025-04-18 22:11:15 -0400 |
|---|---|---|
| committer | Kent Overstreet <kent.overstreet@linux.dev> | 2025-05-21 20:14:26 -0400 |
| commit | 9fa4a8a3bdb14c1a36ff439643e00ca416e04b66 (patch) | |
| tree | 767a537e8779ee853e71d1fbafe8d45724c95b03 /fs/bcachefs/chardev.c | |
| parent | bcachefs: recalc_capacity() no longer depends on io_ref (diff) | |
| download | linux-9fa4a8a3bdb14c1a36ff439643e00ca416e04b66.tar.gz linux-9fa4a8a3bdb14c1a36ff439643e00ca416e04b66.zip | |
bcachefs: for_each_online_member_rcu()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/chardev.c')
| -rw-r--r-- | fs/bcachefs/chardev.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/bcachefs/chardev.c b/fs/bcachefs/chardev.c index 5891b3a1e61c..4066946b26bc 100644 --- a/fs/bcachefs/chardev.c +++ b/fs/bcachefs/chardev.c @@ -613,11 +613,13 @@ static long bch2_ioctl_disk_get_idx(struct bch_fs *c, if (!dev) return -EINVAL; - for_each_online_member(c, ca) + rcu_read_lock(); + for_each_online_member_rcu(c, ca) if (ca->dev == dev) { - percpu_ref_put(&ca->io_ref[READ]); + rcu_read_unlock(); return ca->dev_idx; } + rcu_read_unlock(); return -BCH_ERR_ENOENT_dev_idx_not_found; } |
