[U-Boot] [PATCH] ubifs: Allow ubifsmount volume reference by number

Vikram Narayanan vikram186 at gmail.com
Mon Nov 5 19:41:54 CET 2012


On 11/5/2012 11:48 PM, Joe Hershberger wrote:
> Hi Vikram,
>
> On Mon, Nov 5, 2012 at 11:36 AM, Vikram Narayanan<vikram186 at gmail.com>  wrote:
>> Hi Joe,
>>
>>
>> On 11/5/2012 10:19 PM, Joe Hershberger wrote:
>>>
>>> Hi Vikram,
>>>
>>> On Mon, Nov 5, 2012 at 10:43 AM, Vikram Narayanan<vikram186 at gmail.com>
>>> wrote:
>>>>
>>>>
>>>> On 11/2/2012 8:24 AM, Joe Hershberger wrote:
>>>>>
>>>>>
>>>>> UBI can mount volumes by name or number  The current code forces you
>>>>> to name the volume by prepending every name with "ubi:".
>>>>>
>>>>>    From fs/ubifs/super.c
>>>>>     * There are several ways to specify UBI volumes when mounting UBIFS:
>>>>>     * o ubiX_Y    - UBI device number X, volume Y;
>>>>>     * o ubiY      - UBI device number 0, volume Y;
>>>>>     * o ubiX:NAME - mount UBI device X, volume with name NAME;
>>>>>     * o ubi:NAME  - mount UBI device 0, volume with name NAME.
>>>>>
>>>>> Now any name passed in any of the above forms are allowed.
>>>>
>>>>
>>>>
>>>> What exactly are we gaining from this naming compared to the default?
>>>> In what way the old naming affects the end user?
>>>
>>>
>>> The reason I needed this change is so that I could specify the volume
>>> by number in a script instead of being forced to know the name.  In
>>> Linux you can use the volume number using the format above (it's the
>>> same code).
>>
>>
>> If that is the case, then the one can create the partition using the below
>> command,
>>
>>> ubi createvol<vol name>
>>
>> <vol name>  can be any of the 4 methods listed above.
>
> I believe that is incorrect.<vol name>  is literally the name that
> can be used in the form "ubiX:<vol name>".  It doesn't make sense to
> use the above forms when creating the volume.  The ubi index is
> already set by calling ubi part<mtd partition>.  The volume index is
> simply the next volume in that ubi.

say I've an mtdpartition by the name "filesystem"

ubi part filesystem
ubi createvol rootfs

If I invoke the above commands, I'll have a ubi volume with a name 
rootfs with the complete size of (filesystem - metadata).

When passing bootargs to the kernel I'd give the root as
root=ubi0:rootfs

Why should this be wrong?

>
>> and the prefix "ubi:" will be appended in the environment which is expected
>> by kernel for mounting. Right?
>
> I assume you meant prepended.  Please expand on what you are saying

Yes. I meant prepended. sorry.

> here.  What environment variable?  Prepended by what / who?  Yes, the

Prepended by the string "ubi:" as you've done in this patch for some 
configs.

~Vikram


More information about the U-Boot mailing list