[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