summaryrefslogtreecommitdiff
path: root/libbcachefs/super.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2022-02-16 06:31:28 -0500
committerKent Overstreet <kent.overstreet@gmail.com>2022-02-16 06:32:49 -0500
commitde4e778a6add88e6ccf5a7730a8d343d3fb5f064 (patch)
tree90d61ca635315abeb69a13f468ab27f2e6d7804a /libbcachefs/super.c
parenta1d66a2a4e7c536b2b722f6b1758d36f00ae3c55 (diff)
Update bcachefs sources to a0d7001b0f bcachefs: Change bch2_dev_lookup() to not use lookup_bdev()
Diffstat (limited to 'libbcachefs/super.c')
-rw-r--r--libbcachefs/super.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/libbcachefs/super.c b/libbcachefs/super.c
index d8b72d8d..b36e6216 100644
--- a/libbcachefs/super.c
+++ b/libbcachefs/super.c
@@ -674,6 +674,7 @@ static struct bch_fs *bch2_fs_alloc(struct bch_sb *sb, struct bch_opts opts)
INIT_WORK(&c->read_only_work, bch2_fs_read_only_work);
init_rwsem(&c->gc_lock);
+ mutex_init(&c->gc_gens_lock);
for (i = 0; i < BCH_TIME_STAT_NR; i++)
bch2_time_stats_init(&c->times[i]);
@@ -1879,20 +1880,14 @@ err:
}
/* return with ref on ca->ref: */
-struct bch_dev *bch2_dev_lookup(struct bch_fs *c, const char *path)
+struct bch_dev *bch2_dev_lookup(struct bch_fs *c, const char *name)
{
struct bch_dev *ca;
- dev_t dev;
unsigned i;
- int ret;
-
- ret = lookup_bdev(path, &dev);
- if (ret)
- return ERR_PTR(ret);
rcu_read_lock();
for_each_member_device_rcu(ca, c, i, NULL)
- if (ca->dev == dev)
+ if (!strcmp(name, ca->name))
goto found;
ca = ERR_PTR(-ENOENT);
found: