The output of mount options such as "metadata_target" in `/proc/mounts` uses the full path to the device.
mount(8) from util-linux uses the output from `/proc/mounts` to pass existing mount options when performing a remount, so bcachefs should accept as input the same form that it prints as output. Without this change: $ mount -t bcachefs -o metadata_target=vdb /dev/vdb /mnt $ strace mount -o remount /mnt ... fsconfig(4, FSCONFIG_SET_STRING, "metadata_target", "/dev/vdb", 0) = -1 EINVAL (Invalid argument) ... Signed-off-by: Thomas Bertschinger <[email protected]> --- fs/bcachefs/super.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fs/bcachefs/super.c b/fs/bcachefs/super.c index 2206a8dee693..864c216346a5 100644 --- a/fs/bcachefs/super.c +++ b/fs/bcachefs/super.c @@ -2029,6 +2029,9 @@ int bch2_dev_resize(struct bch_fs *c, struct bch_dev *ca, u64 nbuckets) /* return with ref on ca->ref: */ struct bch_dev *bch2_dev_lookup(struct bch_fs *c, const char *name) { + if (!strncmp(name, "/dev/", strlen("/dev/"))) + name += strlen("/dev/"); + for_each_member_device(c, ca) if (!strcmp(name, ca->name)) return ca; -- 2.45.0
