* [PATCH] fixup! detect_fs: use device instead of file @ 2015-10-07 15:52 Peter Mamonov 2015-10-09 6:31 ` Sascha Hauer 0 siblings, 1 reply; 5+ messages in thread From: Peter Mamonov @ 2015-10-07 15:52 UTC (permalink / raw) To: barebox; +Cc: Peter Mamonov, vicencb --- 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)); struct driver_d *drv; struct fs_driver_d *fdrv; -- 2.1.4 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] fixup! detect_fs: use device instead of file 2015-10-07 15:52 [PATCH] fixup! detect_fs: use device instead of file Peter Mamonov @ 2015-10-09 6:31 ` Sascha Hauer 2015-10-09 11:11 ` Peter Mamonov 0 siblings, 1 reply; 5+ messages in thread From: Sascha Hauer @ 2015-10-09 6:31 UTC (permalink / raw) To: Peter Mamonov; +Cc: barebox, vicencb 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; 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@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] fixup! detect_fs: use device instead of file 2015-10-09 6:31 ` Sascha Hauer @ 2015-10-09 11:11 ` Peter Mamonov 2015-10-09 16:21 ` Sascha Hauer 0 siblings, 1 reply; 5+ messages in thread From: Peter Mamonov @ 2015-10-09 11:11 UTC (permalink / raw) To: Sascha Hauer; +Cc: barebox, vicencb On Fri, 9 Oct 2015 08:31:49 +0200 Sascha Hauer <s.hauer@pengutronix.de> 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)? 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 ? Peter > > Sascha > > _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] fixup! detect_fs: use device instead of file 2015-10-09 11:11 ` Peter Mamonov @ 2015-10-09 16:21 ` Sascha Hauer 2015-10-09 17:16 ` Vicente 0 siblings, 1 reply; 5+ messages in thread From: Sascha Hauer @ 2015-10-09 16:21 UTC (permalink / raw) To: Peter Mamonov; +Cc: barebox, vicencb 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@pengutronix.de> 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@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] fixup! detect_fs: use device instead of file 2015-10-09 16:21 ` Sascha Hauer @ 2015-10-09 17:16 ` Vicente 0 siblings, 0 replies; 5+ messages in thread From: Vicente @ 2015-10-09 17:16 UTC (permalink / raw) To: Sascha Hauer; +Cc: barebox, Peter Mamonov On Fri, Oct 9, 2015 at 5:21 PM, Sascha Hauer <s.hauer@pengutronix.de> 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@pengutronix.de> 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@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-10-09 17:17 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2015-10-07 15:52 [PATCH] fixup! detect_fs: use device instead of file Peter Mamonov 2015-10-09 6:31 ` Sascha Hauer 2015-10-09 11:11 ` Peter Mamonov 2015-10-09 16:21 ` Sascha Hauer 2015-10-09 17:16 ` Vicente
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox