public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Kever Yang <kever.yang@rock-chips.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] cmd: gpt: fix the wrong size parse for the last partition
Date: Tue, 26 Jul 2016 16:59:31 +0800	[thread overview]
Message-ID: <57972673.5040602@rock-chips.com> (raw)
In-Reply-To: <CAOf5uwmmHd_oaFYJatNxpDtWHakb-F=E_RDy1cBmA-vz7HE-Vw@mail.gmail.com>

Hi Michael,

On 07/26/2016 04:37 PM, Michael Trimarchi wrote:
> Hi
>
> On Tue, Jul 26, 2016 at 9:56 AM, Kever Yang <kever.yang@rock-chips.com> wrote:
>> The calculation of "dev_desc->lba - 34  - 1 - offset" is not correct for
>> size '-', because both fist_usable_lba and last_usable_lba will remain
>> 34 sectors.
>>
>> We can simply use 0 for size '-' because the part_efi module will decode
>> the size and auto extend the size to maximum available size.
>>
>> Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
>> ---
>>
>>   cmd/gpt.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/cmd/gpt.c b/cmd/gpt.c
>> index 3d9706b..897596a 100644
>> --- a/cmd/gpt.c
>> +++ b/cmd/gpt.c
>> @@ -298,8 +298,8 @@ static int set_gpt_info(struct blk_desc *dev_desc,
>>                  if (extract_env(val, &p))
>>                          p = val;
>>                  if ((strcmp(p, "-") == 0)) {
>> -                       /* remove first usable lba and last block */
>> -                       parts[i].size = dev_desc->lba - 34  - 1 - offset;
>> +                       /* Let part efi module to auto extend the size */
>> +                       parts[i].size = 0;
> gpt verify give you success?

Yes.

I use below gpt table and "gpt write mmc 0 $partitions" command to do 
the test:
#define PARTS_DEFAULT \
        "uuid_disk=${uuid_gpt_disk};" \
        "name=boot,size=32M,uuid=${uuid_gpt_boot};" \
        "name=rootfs,size=-,uuid=${uuid_gpt_rootfs};"

Without this patch, I get message:
=> gpt write mmc 0 $partitions
Writing GPT: Partitions layout exceds disk size
error!

After I apply this patch, I get below message:
Writing GPT: success!

Thanks,
- Kever

>
> Michael
>
>>                  } else {
>>                          size_ll = ustrtoull(p, &p, 0);
>>                          parts[i].size = lldiv(size_ll, dev_desc->blksz);
>> --
>> 1.9.1
>>
>>
>
>

  reply	other threads:[~2016-07-26  8:59 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-26  7:56 [U-Boot] [PATCH] cmd: gpt: fix the wrong size parse for the last partition Kever Yang
2016-07-26  8:37 ` Michael Trimarchi
2016-07-26  8:59   ` Kever Yang [this message]
2016-07-26  9:08     ` Michael Trimarchi
2016-07-26  9:41       ` Kever Yang
2016-07-27 13:10         ` Julian Scheel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=57972673.5040602@rock-chips.com \
    --to=kever.yang@rock-chips.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox