linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  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).