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

Joe Hershberger joe.hershberger at gmail.com
Mon Nov 5 19:49:28 CET 2012


Hi Vikram,

On Mon, Nov 5, 2012 at 12:41 PM, Vikram Narayanan <vikram186 at gmail.com> wrote:
> 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.

This is wrong.

>> 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?

This sequence of commands isn't wrong.  What you claimed above is
wrong: "<vol name>  can be any of the 4 methods listed above".

>>
>>> 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.

Ok... the whole point of this patch is to change the behavior of the
ubifsmount command.  This makes the ubifsmount command take the same
form as the kernel command line does.  This patch has nothing to do
with the ubi createvol command.

-Joe


More information about the U-Boot mailing list