From: Piergiorgio Sartor <piergiorgio.sartor@nexgo.de>
To: NeilBrown <neilb@suse.de>
Cc: Piergiorgio Sartor <piergiorgio.sartor@nexgo.de>,
linux-raid@vger.kernel.org
Subject: Re: [PATCH] RAID-6 check standalone md device
Date: Tue, 5 Apr 2011 21:56:35 +0200 [thread overview]
Message-ID: <20110405195635.GA2896@lazy.lzy> (raw)
In-Reply-To: <20110405090113.5454b403@notabene.brown>
Hi Neil,
On Tue, Apr 05, 2011 at 09:01:13AM +1000, NeilBrown wrote:
> On Thu, 31 Mar 2011 20:53:46 +0200 Piergiorgio Sartor
> <piergiorgio.sartor@nexgo.de> wrote:
>
> > Hi Neil,
> >
> > please find below the promised patch for the
> > RAID-6 check, which allows to pass only the
> > MD device, start and length.
> > The three parameters are mandatory.
> >
> > All necessary information is collected using
> > the "sysfs_read()" call.
> > Furthermore, if "length" is "0", then the check
> > is performed until the end of the array.
> >
> > The "Makefile" needed modifications too (as done
> > previously) in order to link "sysfs.c".
> >
> > Some checks are done, for example if the md device
> > is really a RAID-6. Nevertheless I guess it is not
> > bullet proof...
> >
> > Next patch will include the "suspend" action.
> > My idea is to do it "per stripe", please let me
> > know if you've some better options.
>
> Hi,
> I've applied this patch after some minor clean ups (indenting mostly).
> I rearranged some code first so that we don't need to link all all of the
> rest of mdadm - just a few 'library-style' files.
>
> I'm not sure about the loop:
> >
> > + comp = info->devs;
> > for (i=0; i<raid_disks; i++) {
> > - char *p;
> > - p = strchr(argv[6+i], ':');
> > -
> > - if(p != NULL) {
> > - *p++ = '\0';
> > - offsets[i] = atoll(p) * 512;
> > - }
> > - fds[i] = open(argv[6+i], O_RDWR);
> > - if (fds[i] < 0) {
> > - perror(argv[6+i]);
> > - fprintf(stderr,"test_stripe: cannot open %s.\n", argv[6+i]);
> > + int disk_slot = comp->disk.raid_disk;
> > + disk_name[disk_slot] = map_dev(comp->disk.major, comp->disk.minor, 0);
> > + offsets[disk_slot] = comp->data_offset * 512;
> > + fds[disk_slot] = open(disk_name[disk_slot], O_RDWR);
> > + if (fds[disk_slot] < 0) {
> > + perror(disk_name[disk_slot]);
> > + fprintf(stderr,"%s: cannot open %s\n", prg, disk_name[disk_slot]);
> > exit(3);
> > }
> > +
> > + comp = comp->next;
> > }
>
>
> The 'info->devs' list could include spare devices mixed in with the other
> devices. So the 'for' loop should go to the end of list list, and we should
> ignore devices which are not active..
> So you should probably fix this.
thanks for the information, that's actually very
important.
I'll try to provide a fix patch in then next days.
> You will be able to find the applied patch in my 'master' branch shortly.
Good!
Thanks again,
bye,
pg
> Thanks,
> NeilBrown
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-raid" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
piergiorgio
next prev parent reply other threads:[~2011-04-05 19:56 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-21 20:45 [PATCH] RAID-6 check standalone Piergiorgio Sartor
2011-03-07 19:33 ` Piergiorgio Sartor
2011-03-21 3:02 ` NeilBrown
2011-03-21 10:40 ` Piergiorgio Sartor
2011-03-21 11:04 ` NeilBrown
2011-03-21 11:54 ` Piergiorgio Sartor
2011-03-21 22:59 ` NeilBrown
2011-03-31 18:53 ` [PATCH] RAID-6 check standalone md device Piergiorgio Sartor
[not found] ` <4D96597C.1020103@tuxes.nl>
[not found] ` <20110402071310.GA2640@lazy.lzy>
2011-04-02 10:33 ` Bas van Schaik
2011-04-02 11:03 ` Piergiorgio Sartor
2011-04-04 23:01 ` NeilBrown
2011-04-05 19:56 ` Piergiorgio Sartor [this message]
2011-04-04 17:52 ` [PATCH] RAID-6 check standalone code cleanup Piergiorgio Sartor
2011-04-04 23:12 ` NeilBrown
2011-04-06 18:02 ` Piergiorgio Sartor
2011-04-13 20:48 ` [PATCH] RAID-6 check standalone fix component list parsing Piergiorgio Sartor
2011-04-14 7:29 ` NeilBrown
2011-04-14 7:32 ` [PATCH] RAID-6 check standalone code cleanup NeilBrown
2011-05-08 18:54 ` [PATCH] RAID-6 check standalone suspend array Piergiorgio Sartor
2011-05-09 1:45 ` NeilBrown
2011-05-09 18:43 ` [PATCH] RAID-6 check standalone suspend array V2.0 Piergiorgio Sartor
2011-05-15 21:15 ` Piergiorgio Sartor
2011-05-16 10:08 ` NeilBrown
2011-07-20 17:57 ` Piergiorgio Sartor
2011-07-22 6:41 ` Luca Berra
2011-07-25 18:53 ` Piergiorgio Sartor
2011-07-26 5:25 ` NeilBrown
2011-08-07 17:09 ` [PATCH] RAID-6 check standalone man page Piergiorgio Sartor
2011-08-09 0:43 ` NeilBrown
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=20110405195635.GA2896@lazy.lzy \
--to=piergiorgio.sartor@nexgo.de \
--cc=linux-raid@vger.kernel.org \
--cc=neilb@suse.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;
as well as URLs for NNTP newsgroup(s).