linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Paul Menzel <pm.debian@googlemail.com>
To: Justin Maggard <jmaggard10@gmail.com>
Cc: linux-raid@vger.kernel.org
Subject: Re: [PATCH] Make --update=homehost work again.
Date: Wed, 30 Jan 2013 11:46:06 +0100	[thread overview]
Message-ID: <1359542766.5755.46.camel@mattotaupa> (raw)
In-Reply-To: <1359512808-14297-1-git-send-email-jmaggard10@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2102 bytes --]

Dear Justin,


thank you for your patch.


Am Dienstag, den 29.01.2013, 18:26 -0800 schrieb Justin Maggard:
> Commit 1e2b276535cea41c348292a019bdda8a58cb1679

Please not only add the hash, but also the summary, so people not having
the Linus’ master checked out know what the original commit was about.
Also CC the original commit author so s/he can comment.

> broke homehost updating
> functionality because it depended on each string comparison being done
> even after we already found a match.  Fix this by using a goto instead.
> 
> ---
>  super0.c |    3 ++-
>  super1.c |    3 ++-
>  2 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/super0.c b/super0.c
> index ecb6b38..f15f1e0 100644
> --- a/super0.c
> +++ b/super0.c
> @@ -554,10 +554,11 @@ static int update_super0(struct supertype *st, struct mdinfo *info,
>  	} else if (strcmp(update, "homehost") == 0 &&
>  		   homehost) {
>  		uuid_set = 0;
> -		update = "uuid";
>  		info->uuid[0] = sb->set_uuid0;
>  		info->uuid[1] = sb->set_uuid1;
> +		goto update_uuid;
>  	} else if (strcmp(update, "uuid") == 0) {

Would changing this from »else if …« to only »if« also solve this and
make it subjectively more clear?

> + update_uuid:
>  		if (!uuid_set && homehost) {
>  			char buf[20];
>  			char *hash = sha1_buffer(homehost,
> diff --git a/super1.c b/super1.c
> index 5bb1f01..fc31948 100644
> --- a/super1.c
> +++ b/super1.c
> @@ -987,14 +987,15 @@ static int update_super1(struct supertype *st, struct mdinfo *info,
>  	} else if (strcmp(update, "homehost") == 0 &&
>  		   homehost) {
>  		char *c;
> -		update = "name";
>  		c = strchr(sb->set_name, ':');
>  		if (c)
>  			strncpy(info->name, c+1, 31 - (c-sb->set_name));
>  		else
>  			strncpy(info->name, sb->set_name, 32);
>  		info->name[32] = 0;
> +		goto update_name;
>  	} else if (strcmp(update, "name") == 0) {
> + update_name:
>  		if (info->name[0] == 0)
>  			sprintf(info->name, "%d", info->array.md_minor);
>  		memset(sb->set_name, 0, sizeof(sb->set_name));


Thanks,

Paul

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

  reply	other threads:[~2013-01-30 10:46 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-30  2:26 [PATCH] Make --update=homehost work again Justin Maggard
2013-01-30 10:46 ` Paul Menzel [this message]
     [not found]   ` <CAKgsxVQQYmP_AvoJb8dkNhZEZV-A8z1-twCUx7u3+SbwUHb4ew@mail.gmail.com>
2013-02-06 20:16     ` Justin Maggard

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=1359542766.5755.46.camel@mattotaupa \
    --to=pm.debian@googlemail.com \
    --cc=jmaggard10@gmail.com \
    --cc=linux-raid@vger.kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).