On Fri, Oct 9, 2015 at 5:21 PM, Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> wrote: > 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. Yes, that is correct, from http://git.pengutronix.de/?p=barebox.git;a=blob;f=arch/arm/mach-omap/xload.c#l104 what is mount is just the partition name. The only thing is that it is not me, that was already there. Regards, Vicente. > > 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