On Tue Nov 11, 2025 at 2:24 AM IST, Rasmus Villemoes wrote:
> Implement a "part name" subcommand, mirroring the existing "part
> number" subcommand.
>
> In the discussion for v1 of that, it came up that there's a bit of
> inconsistency in how much and what one can assume to be initialized in
> 'struct disk_partition' after a successful call of one of the
> get_info* family of functions. Patch 1/2 tries to consolidate
> that by making sure all ->get_info invocations go through a common
> helper that at least always initializes the string members.
>
> Quentin, I've taken the liberty of including your Acks, as the
> incremental diff in patch 1 is quite minor, but do speak up if I
> should not have done that.
>
> v3: Make sure part_get_type_by_name() can only ever return 0, -ENOSYS
> (in case ->get_info is not implemented) and -ENOENT, rather than
> anything that ->get_info might return.
>
> v2: https://lore.kernel.org/u-boot/[email protected]/
>

For the entire series:

Tested-by: Anshul Dalal <[email protected]>

Logs (on TI AM62x):

        => part
        part - disk partition related commands

        Usage:
        part uuid <interface> <dev>:<part>
            - print partition UUID
        part uuid <interface> <dev>:<part> <varname>
            - set environment variable to partition UUID
        part list <interface> <dev>
            - print a device's partition table
        part list <interface> <dev> [flags] <varname>
            - set environment variable to the list of partitions
              flags can be -bootable (list only bootable partitions)
        part start <interface> <dev> <part> <varname>
            - set environment variable to the start of the partition (in blocks)
              part can be either partition number or partition name
        part size <interface> <dev> <part> <varname>
            - set environment variable to the size of the partition (in blocks)
              part can be either partition number or partition name
        part number <interface> <dev> <part> <varname>
            - set environment variable to the partition number using the 
partition name
              part must be specified as partition name
        part name <interface> <dev> <part> <varname>
            - set environment variable to the partition name using the 
partition number
              part must be specified as partition number
        part set <interface> <dev> type
            - set partition type for a device
        part types
            - list supported partition table types
        => part list mmc 1

        Partition Map for mmc device 1  --   Partition Type: DOS

        Part    Start Sector    Num Sectors     UUID            Type
          1     2048            262144          076c4a2a-01     0c Boot
          2     264192          417336          076c4a2a-02     83
        => part name mmc 1 1
        mmcsdb1
        => part name mmc 1 2
        mmcsdb2

Regards,
Anshul


> Rasmus Villemoes (2):
>   disk/part.c: ensure strings in struct disk_partition are valid after
>     successful get_info
>   cmd/part.c: implement "part name" subcommand
>
>  cmd/gpt.c              |  4 +--
>  cmd/part.c             | 16 ++++++++++-
>  disk/part.c            | 63 +++++++++++++++++++++++++-----------------
>  doc/usage/cmd/part.rst | 13 +++++++++
>  include/part.h         | 16 +++++++++++
>  5 files changed, 83 insertions(+), 29 deletions(-)

Reply via email to