[PATCH] ubiblock: Support UBI volume name or volume ID parameter passing

Ezequiel Garcia ezequiel.garcia at free-electrons.com
Mon Apr 14 11:45:51 PDT 2014


On Apr 14, Artem Bityutskiy wrote:
> On Thu, 2014-04-10 at 11:43 -0300, Ezequiel Garcia wrote:
> > +static int ubi_open_volume_by_id(libubi_t desc, const char *node, int vol_id, int mode)
> >  {
> > +       char file[256];
> > +       struct ubi_dev_info dev_info;
> >         int err, fd;
> > -       libubi_t libubi;
> >  
> > -       err = parse_opt(argc, argv);
> > +       err = ubi_get_dev_info(desc, node, &dev_info);
> >         if (err)
> > +               return errmsg("cannot get information about UBI device \"%s\"", node);
> > +
> > +       sprintf(file, "/dev/ubi%d_%d", dev_info.dev_num, vol_id);
> 
> Device node names may ve anything. Please, do not rely on the "/dev/ubi%
> d_%d" naming scheme in the tool.
> 

Yeah, I know this sucks.

> I think device node can be found out by scanning "/dev" and looking at
> the device node major/minor numbers. This is more work of course.
>

Ah, that's a good idea. Let me give it a try.

> However, libubi does exactly the same assumption about UBI volume names
> as you do, so if you move this function to libubi, I think it will be
> good enough. At least if someone wants to change this in the future,
> then it will only require changing the library, but not its users.
> 

OK, I will.
-- 
Ezequiel García, Free Electrons
Embedded Linux, Kernel and Android Engineering
http://free-electrons.com



More information about the linux-mtd mailing list