summaryrefslogtreecommitdiff
path: root/raid6check.c
Commit message (Collapse)AuthorAge
* RAID-6 check standalone suspend arrayPiergiorgio Sartor2011-05-16
| | | | Signed-off-by: NeilBrown <neilb@suse.de>
* RAID-6 check standalone fix component list parsingPiergiorgio Sartor2011-04-14
| | | | | | | | Fix the parsing of the component list, i.e. skipping the "spare" one. I also added a check in case the array is degraded. Signed-off-by: NeilBrown <neilb@suse.de>
* RAID-6 check standalone code cleanupPiergiorgio Sartor2011-04-05
| | | | | | | | | | | Major change is code cleanup and simplification. Furthermore, a better error handling and a couple of bug fixes. Last but not least, the command line parameters are changed from "bytes" to "stripes", which is more convenient, I guess. Signed-off-by: NeilBrown <neilb@suse.de>
* RAID-6 check standalone md devicePiergiorgio Sartor2011-04-05
| | | | | | | | | | | | | | | | | | | | | Allow RAID-6 check to be passed 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. 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. Signed-off-by: NeilBrown <neilb@suse.de>
* RAID-6 check standalonePiergiorgio Sartor2011-03-21
Hi Neil, please find attached a patch, to mdadm-3.2 base, including a standalone versione of the raid-6 check. This is basically a re-working (and hopefully improvement) of the already implemented check in "restripe.c". I splitted the check function into "collect" and "stats", so that the second one could be easily replaced. The API is also simplified. The command line option are reduced, since we only level is raid-6, but the ":offset" option is included. The output reports the block/stripe rotation, P/Q errors and the possible HDD (or unknown). BTW, the patch applies also to the already patched "restripe.c", including the last ":offset" patch (which is not yet in git). Other item is that due to "sysfs.c" linking (see below) the "Makefile" needed some changes, I hope this is not a problem. Next steps (TODO list you like) would be: 1) Add the "sysfs.c" code in order to retrieve the HDDs info from the MD device. It is already linked, together with the whole (mdadm) universe, since it seems it cannot leave alone. I'll need some advice or hint on how to do use it. I checked "sysfs.c", but before I dig deep into it maybe better to have some advice (maybe just one function call will do it). 2) Add the suspend lo/hi control. Fellow John Robinson was suggesting to look into "Grow.c", which I did, but I guess the same story as 1) is valid: better to have some hint on where to look before wasting time. 3) Add a repair option (future). This should have different levels, like "all", "disk", "stripe". That is, fix everything (more or less like "repair"), fix only if a disk is clearly having problems, fix each stripe which has clearly a problem (but maybe different stripes may belong to different HDDs). So, for the point 1) and 2) would be nice to have some more detail on where to look what. Point 3) we will discuss later. Thanks, please consider for inclusion, bye, pg Signed-off-by: NeilBrown <neilb@suse.de>