From: Tom Rini <trini@konsulko.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v6 3/3] GPT: provide commands to selectively rename partitions
Date: Mon, 12 Jun 2017 10:56:46 -0400 [thread overview]
Message-ID: <20170612145646.GY10782@bill-the-cat> (raw)
In-Reply-To: <CAOuSAjdHerD7iWSwv5HQmx07nALRHschnH5=XToNEZDqA9JsvQ@mail.gmail.com>
On Mon, Jun 12, 2017 at 07:24:17AM -0700, Alison Chaiken wrote:
> On Mon, Jun 12, 2017 at 12:45 AM, Wolfgang Denk <wd@denx.de> wrote:
>
> > Dear Alison,
> >
> > In message <1497137617-772-1-git-send-email-alison@peloton-tech.com> you
> > wrote:
> > >
> > > This patch provides support in u-boot for renaming GPT
> > > partitions. The renaming is accomplished via new 'gpt swap'
> > > and 'gpt rename' commands.
> >
> > Thanks.
> >
> > One question: can multiple GPT partitions have the same name?
>
> The idea behind the 'swap' mode is that a storage device can have two
> sets of partitions, one set all named 'primary' and one set all named
> 'backup'. The software updater in userspace can then simply rename
> the partitions with sgdisk in order to pick the new image. The swap
> mode changes the whole set of labels at once, so there's little chance
> of being interrupted.
I'm a little confused here now then. Can you provide an example set of
usage, in the cover letter for v8 of the series (see below) that makes
it a bit clearer? Thanks!
> > > The 'swap' mode prints a warning if no matching partition names
> > > are found. If only one matching name of a provided pair is found, it
> > > renames the matching partitions to the new name.
> >
> > I see a problem here...
> >
> > > + if (!strcmp(subcomm, "swap")) {
> > > + if ((strlen(name1) > PART_NAME_LEN) || (strlen(name2) >
> > PART_NAME_LEN)) {
> > > + printf("Names longer than %d characters are
> > truncated.\n", PART_NAME_LEN);
> > > + return -EINVAL;
> > > + }
> > > + list_for_each(pos, &disk_partitions) {
> > > + curr = list_entry(pos, struct disk_part, list);
> > > + if (!strcmp((char *)curr->gpt_part_info.name,
> > name1)) {
> > > + strcpy((char *)curr->gpt_part_info.name,
> > name2);
> > > + changed++;
> > > + }
> > > + else if (!strcmp((char *)curr->gpt_part_info.name,
> > name2)) {
> > > + strcpy((char *)curr->gpt_part_info.name,
> > name1);
> > > + changed++;
> > > + }
> > > +
> > > + }
> > > + if (changed == 0) {
> > > + printf("No matching partition names were
> > found.\n");
> > > + return ret;
> > > + }
> >
> > You will never know if there really was a pair of names that was
> > swapped. Just a single rename of name1->name2 _or_ of name2->name1
> > will make the user think everything was fine.
> >
>
> Point taken. The last version I posted has two counters instead of just
> changed in order to address this problem.
>
>
>
> > [Note: I'm in the process of relocating and will be offline for the
> > next 2..3. days. Don't expect more comments from mee soon.
> > Sorry...]
> > Best regards,
> > Wolfgang Denk
>
>
>
> One additional note: the last version I posted worked fine for the sandbox,
> but wouldn't link for an ARM target with the Linaro toolchain, as the
> linker couldn't find atoi(). I guess the libc for the x86 compiler
> includes it. To test on ARM, I copied in simple_atoi() from
> lib/vsprintf.c, but assuredly that is an ugly solution. Does anyone have
> a better idea to solve this problem?
Looking at the man page for atoi:
The atoi() function converts the initial portion of the string pointed
to by nptr to int. The behavior is the same as
strtol(nptr, NULL, 10);
So we should just re-work to use simple_strtol here. And since you
brought it up on IRC, I suppose at this point a 'clean' posting of all 5
patches marked as 'v8' might make it easier to see what's what and in
what order. Thanks again!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170612/a0d7e5bc/attachment.sig>
next prev parent reply other threads:[~2017-06-12 14:56 UTC|newest]
Thread overview: 116+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-21 2:27 [U-Boot] [PATCH 0/3] add support for GPT partition name manipulation alison at peloton-tech.com
2017-05-21 2:27 ` [U-Boot] [PATCH 1/3] GPT: add accessor function for disk GUID alison at peloton-tech.com
2017-05-26 12:38 ` Tom Rini
2017-05-21 2:27 ` [U-Boot] [PATCH 2/3] GPT: read partition table from device into a data structure alison at peloton-tech.com
2017-05-26 12:39 ` Tom Rini
2017-05-21 2:27 ` [U-Boot] [PATCH 3/3] rename GPT partitions to detect boot failure alison at peloton-tech.com
2017-05-26 12:39 ` Tom Rini
2017-05-29 9:25 ` Lothar Waßmann
2017-05-26 12:38 ` [U-Boot] [PATCH 0/3] add support for GPT partition name manipulation Tom Rini
2017-05-29 16:49 ` [U-Boot] [PATCH v2 0/6] " alison at peloton-tech.com
2017-05-29 16:49 ` [U-Boot] [PATCH v2 1/6] EFI: replace number with UUID_STR_LEN macro alison at peloton-tech.com
2017-05-31 2:07 ` Tom Rini
2017-05-31 7:37 ` Lukasz Majewski
2017-05-29 16:49 ` [U-Boot] [PATCH v2 2/6] disk_partition: introduce macros for description string lengths alison at peloton-tech.com
2017-05-31 7:37 ` Lukasz Majewski
2017-05-31 13:50 ` Tom Rini
2017-05-29 16:49 ` [U-Boot] [PATCH v2 3/6] GPT: add accessor function for disk GUID alison at peloton-tech.com
2017-05-30 6:46 ` Lothar Waßmann
2017-06-03 2:22 ` [U-Boot] [PATCH v3 0/5] add support for GPT partition name manipulation alison at peloton-tech.com
2017-06-03 2:22 ` [U-Boot] [PATCH v3 1/5] GPT: add accessor function for disk GUID alison at peloton-tech.com
2017-06-06 8:20 ` Lothar Waßmann
2017-06-10 5:27 ` [U-Boot] [PATCH v5 1/3] " alison at peloton-tech.com
2017-06-11 13:38 ` Tom Rini
2017-06-03 2:22 ` [U-Boot] [PATCH v3 2/5] partitions: increase MAX_SEARCH_PARTITIONS and move to part.h alison at peloton-tech.com
2017-06-03 11:52 ` Lukasz Majewski
2017-06-03 2:22 ` [U-Boot] [PATCH v3 3/5] GPT: read partition table from device into a data structure alison at peloton-tech.com
2017-06-06 8:28 ` Lothar Waßmann
2017-06-10 5:30 ` [U-Boot] [PATCH v5 2/3] " alison at peloton-tech.com
2017-06-11 13:38 ` Tom Rini
2017-06-06 10:43 ` [U-Boot] [PATCH v3 3/5] " Lothar Waßmann
2017-06-03 2:22 ` [U-Boot] [PATCH v3 4/5] rename GPT partitions to detect boot failure alison at peloton-tech.com
2017-06-06 8:20 ` Lothar Waßmann
2017-06-10 5:35 ` [U-Boot] [PATCH v5 3/3] " alison at peloton-tech.com
2017-06-10 6:51 ` Wolfgang Denk
2017-06-10 23:27 ` Alison Chaiken
2017-06-10 23:33 ` [U-Boot] [PATCH v6 3/3] GPT: provide commands to selectively rename partitions alison at peloton-tech.com
2017-06-11 13:38 ` Tom Rini
2017-06-11 16:03 ` [U-Boot] [PATCH v7] " alison at peloton-tech.com
2017-06-12 7:45 ` [U-Boot] [PATCH v6 3/3] " Wolfgang Denk
2017-06-12 14:24 ` Alison Chaiken
2017-06-12 14:56 ` Tom Rini [this message]
2017-06-18 11:08 ` Wolfgang Denk
2017-06-25 23:43 ` [U-Boot] [PATCH v7 0/9] add support for GPT partition name manipulation alison at peloton-tech.com
2017-06-25 23:43 ` [U-Boot] [PATCH v7 1/9] EFI: replace number with UUID_STR_LEN macro alison at peloton-tech.com
2017-08-07 13:54 ` [U-Boot] [U-Boot, v7, " Tom Rini
2017-06-25 23:43 ` [U-Boot] [PATCH v7 2/9] disk_partition: introduce macros for description string lengths alison at peloton-tech.com
2017-08-07 13:54 ` [U-Boot] [U-Boot, v7, " Tom Rini
2017-06-25 23:43 ` [U-Boot] [PATCH v7 3/9] GPT: fix error in partitions string doc alison at peloton-tech.com
2017-08-07 13:54 ` [U-Boot] [U-Boot, v7, " Tom Rini
2017-06-25 23:43 ` [U-Boot] [PATCH v7 4/9] sandbox: README: fix partition command invocation alison at peloton-tech.com
2017-08-07 13:54 ` [U-Boot] [U-Boot, v7, " Tom Rini
2017-06-25 23:43 ` [U-Boot] [PATCH v7 5/9] cmd gpt: test in sandbox alison at peloton-tech.com
2017-08-07 13:54 ` [U-Boot] [U-Boot,v7,5/9] " Tom Rini
2017-06-25 23:43 ` [U-Boot] [PATCH v7 6/9] partitions: increase MAX_SEARCH_PARTITIONS and move to part.h alison at peloton-tech.com
2017-08-07 13:54 ` [U-Boot] [U-Boot, v7, " Tom Rini
2017-06-25 23:43 ` [U-Boot] [PATCH v7 7/9] GPT: add accessor function for disk GUID alison at peloton-tech.com
2017-08-07 13:55 ` [U-Boot] [U-Boot, v7, " Tom Rini
2017-06-25 23:43 ` [U-Boot] [PATCH v7 8/9] GPT: read partition table from device into a data structure alison at peloton-tech.com
2017-06-26 7:34 ` Lothar Waßmann
2017-07-01 22:42 ` [U-Boot] [PATCH v8 8/10] " alison at peloton-tech.com
2017-07-03 6:52 ` Lothar Waßmann
2017-07-04 18:18 ` [U-Boot] [PATCH v8 08/10] " alison at peloton-tech.com
2017-08-07 13:55 ` [U-Boot] [U-Boot, v8, " Tom Rini
2017-06-25 23:43 ` [U-Boot] [PATCH v7 9/9] GPT: provide commands to selectively rename partitions alison at peloton-tech.com
2017-06-26 1:52 ` Bin Meng
2017-06-26 2:11 ` alison at peloton-tech.com
2017-06-26 7:55 ` Lothar Waßmann
2017-07-01 22:44 ` [U-Boot] [PATCH 09/10] " alison at peloton-tech.com
2017-06-18 11:03 ` [U-Boot] [PATCH v6 3/3] " Wolfgang Denk
2017-06-25 21:54 ` Alison Chaiken
2017-06-26 22:47 ` Tom Rini
2017-06-27 7:05 ` Lothar Waßmann
2017-06-27 9:12 ` Lothar Waßmann
2017-07-01 22:44 ` [U-Boot] [PATCH 10/10] gpt: harden set_gpt_info() against non NULL-terminated strings alison at peloton-tech.com
2017-07-03 6:37 ` Lothar Waßmann
2017-07-04 18:19 ` [U-Boot] [PATCH v2 " alison at peloton-tech.com
2017-08-07 13:55 ` [U-Boot] [U-Boot, v2, " Tom Rini
2017-07-01 22:36 ` [U-Boot] [PATCH v6 3/3] GPT: provide commands to selectively rename partitions Alison Chaiken
2017-07-03 6:40 ` Lothar Waßmann
2017-07-04 18:19 ` [U-Boot] [PATCH v8 09/10] " alison at peloton-tech.com
2017-08-07 13:55 ` [U-Boot] [U-Boot, v8, " Tom Rini
2017-06-03 2:22 ` [U-Boot] [PATCH v3 5/5] GPT: fix error in partitions string doc alison at peloton-tech.com
2017-06-03 11:48 ` [U-Boot] [PATCH v3 0/5] add support for GPT partition name manipulation Lukasz Majewski
2017-05-31 7:44 ` [U-Boot] [PATCH v2 3/6] GPT: add accessor function for disk GUID Lukasz Majewski
2017-05-31 8:47 ` Lothar Waßmann
2017-05-29 16:49 ` [U-Boot] [PATCH v2 4/6] GPT: read partition table from device into a data structure alison at peloton-tech.com
2017-05-30 7:37 ` Lothar Waßmann
2017-06-01 6:34 ` Chaiken, Alison
2017-06-01 9:48 ` Lothar Waßmann
2017-05-31 7:48 ` Lukasz Majewski
2017-05-31 8:48 ` Lothar Waßmann
2017-05-31 11:11 ` Lukasz Majewski
2017-05-31 13:42 ` Lothar Waßmann
2017-05-31 14:07 ` Lukasz Majewski
2017-05-29 16:49 ` [U-Boot] [PATCH v2 5/6] rename GPT partitions to detect boot failure alison at peloton-tech.com
2017-05-30 7:38 ` Lothar Waßmann
2017-05-31 8:12 ` Lukasz Majewski
2017-06-01 7:04 ` Chaiken, Alison
2017-06-01 8:21 ` Lukasz Majewski
2017-06-01 15:06 ` Chaiken, Alison
2017-06-01 18:20 ` Lukasz Majewski
2017-06-04 22:11 ` [U-Boot] [PATCH v4 0/5] add support for GPT partition name manipulation alison at peloton-tech.com
2017-06-04 22:11 ` [U-Boot] [PATCH v4 1/5] GPT: read partition table from device into a data structure alison at peloton-tech.com
2017-06-04 22:11 ` [U-Boot] [PATCH v4 2/5] rename GPT partitions to detect boot failure alison at peloton-tech.com
2017-06-04 22:11 ` [U-Boot] [PATCH v4 3/5] GPT: fix error in partitions string doc alison at peloton-tech.com
2017-06-04 22:11 ` [U-Boot] [PATCH 4/5] sandbox: README: fix partition command invocation alison at peloton-tech.com
2017-06-09 12:28 ` Simon Glass
2017-06-15 19:21 ` sjg at google.com
2017-06-04 22:11 ` [U-Boot] [PATCH 5/5] cmd gpt: test in sandbox alison at peloton-tech.com
2017-06-15 19:21 ` sjg at google.com
2017-08-27 23:02 ` [U-Boot] [PATCH v2 5/6] rename GPT partitions to detect boot failure Chaiken, Alison
2017-08-28 7:54 ` Łukasz Majewski
2017-08-28 11:16 ` Tom Rini
2017-05-29 16:49 ` [U-Boot] [PATCH v2 6/6] GPT: fix error in partitions string doc alison at peloton-tech.com
2017-05-31 8:14 ` Lukasz Majewski
2017-05-31 11:21 ` Lukasz Majewski
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=20170612145646.GY10782@bill-the-cat \
--to=trini@konsulko.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.