[PATCH] fixup! detect_fs: use device instead of file
Vicente
vicencb at gmail.com
Fri Oct 9 10:16:42 PDT 2015
On Fri, Oct 9, 2015 at 5:21 PM, Sascha Hauer <s.hauer at 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 at 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 |
More information about the barebox
mailing list