Commit 4cd91e2f authored by Kent Overstreet's avatar Kent Overstreet

bcachefs: Convert to bch2_dev_tryget_noerror()

Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent b07eb825
...@@ -717,25 +717,16 @@ int bch2_bucket_alloc_set_trans(struct btree_trans *trans, ...@@ -717,25 +717,16 @@ int bch2_bucket_alloc_set_trans(struct btree_trans *trans,
struct bch_fs *c = trans->c; struct bch_fs *c = trans->c;
struct dev_alloc_list devs_sorted = struct dev_alloc_list devs_sorted =
bch2_dev_alloc_list(c, stripe, devs_may_alloc); bch2_dev_alloc_list(c, stripe, devs_may_alloc);
unsigned dev;
struct bch_dev *ca;
int ret = -BCH_ERR_insufficient_devices; int ret = -BCH_ERR_insufficient_devices;
unsigned i;
BUG_ON(*nr_effective >= nr_replicas); BUG_ON(*nr_effective >= nr_replicas);
for (i = 0; i < devs_sorted.nr; i++) { for (unsigned i = 0; i < devs_sorted.nr; i++) {
struct bch_dev_usage usage; struct bch_dev_usage usage;
struct open_bucket *ob; struct open_bucket *ob;
dev = devs_sorted.devs[i]; unsigned dev = devs_sorted.devs[i];
struct bch_dev *ca = bch2_dev_tryget_noerror(c, dev);
rcu_read_lock();
ca = rcu_dereference(c->devs[dev]);
if (ca)
bch2_dev_get(ca);
rcu_read_unlock();
if (!ca) if (!ca)
continue; continue;
......
...@@ -32,12 +32,7 @@ static struct bch_dev *bch2_device_lookup(struct bch_fs *c, u64 dev, ...@@ -32,12 +32,7 @@ static struct bch_dev *bch2_device_lookup(struct bch_fs *c, u64 dev,
if (dev >= c->sb.nr_devices) if (dev >= c->sb.nr_devices)
return ERR_PTR(-EINVAL); return ERR_PTR(-EINVAL);
rcu_read_lock(); ca = bch2_dev_tryget_noerror(c, dev);
ca = rcu_dereference(c->devs[dev]);
if (ca)
bch2_dev_get(ca);
rcu_read_unlock();
if (!ca) if (!ca)
return ERR_PTR(-EINVAL); return ERR_PTR(-EINVAL);
} else { } else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment