On Fri, Oct 09, 2015 at 02:11:07PM +0300, Peter Mamonov wrote: > On Fri, 9 Oct 2015 08:31:49 +0200 > Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> wrote: > > > On Wed, Oct 07, 2015 at 06:52:57PM +0300, Peter Mamonov wrote: > > > --- > > > fs/fs.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/fs/fs.c b/fs/fs.c > > > index c041e41..6283cea 100644 > > > --- a/fs/fs.c > > > +++ b/fs/fs.c > > > @@ -1201,7 +1201,7 @@ EXPORT_SYMBOL(register_fs_driver); > > > > > > static const char *detect_fs(const char *filename) > > > { > > > - enum filetype type = cdev_detect_type(filename); > > > + enum filetype type = cdev_detect_type(basename(filename)); > > > > basename is not so nice since we do not know whether the the part of > > the path we drop is really what we expect. Can we rather have a: > > > > if (!strncmp(filename, "/dev/", 5)) > > filename += 5; > > What if devfs is mounted somehere else (not on /dev)? Hm, Let's erm, consider that not supported ;) We already have some places where we expect devfs mounted to /dev/. Not particularly nice I must admit. > > Let me clarify the situation. After applying "detect_fs: use device > instead of file" the mount command becomes completely broken for me, > since detect_fs() is supplied with the full path to the device file, > while cdev_by_name() expects device file name rather than full path: > > static const char *detect_fs(const char *filename) > { > enum filetype type = cdev_detect_type(filename); > ... > if (type == filetype_unknown) > return NULL; > ... > } > struct cdev *cdev_by_name(const char *filename) > { > struct cdev *cdev; > > list_for_each_entry(cdev, &cdev_list, list) { > if (!strcmp(cdev->name, filename)) <<<<<<< NO MATCH > return cdev; > } > return NULL; > } > struct cdev { > ... > char *name; /* filename under /dev/ */ > ... > } > > Can you explain how could it work for Vicente: > http://lists.infradead.org/pipermail/barebox/2015-October/024832.html > ? Presumely He passes the device name (without /dev/) to mount. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox