On Tue, Mar 15, 2011 at 6:28 AM, Roberto Spadim <roberto@xxxxxxxxxxxxx> wrote: > does mdadm have check? could it have check with a startup position? > could the mdadm report last checked position? > this could help partial checks.. Testing with loop devices shows it works. limits are set: root@nekotaz2:/storage/ovzs/keke# cat /sys/block/md5/md/sync_{min,max} 500000 700000 calling check & viewing status: root@nekotaz2:/storage/ovzs/keke# echo check > /sys/block/md5/md/sync_action root@nekotaz2:/storage/ovzs/keke# cat /proc/mdstat Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md5 : active raid1 loop1[1] loop0[0] 1048512 blocks [2/2] [UU] [====>................] check = 24.2% (254608/1048512) finish=5.7min speed=2304K/sec Here 254608 is 500000/2 = 250000 + some progress for delay in between of "echo check" & "cat /proc/mdstat" In result, it stops on 350000 which is exactly 700000/2 root@nekotaz2:/storage/ovzs/keke# cat /proc/mdstat Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md5 : active raid1 loop1[1] loop0[0] 1048512 blocks [2/2] [UU] [======>..............] check = 33.3% (350000/1048512) finish=76.4min speed=151K/sec Speed & finish time are still being calculated though. Also, see Nail's message. > > 2011/3/15 CoolCold <coolthecold@xxxxxxxxx>: >> Hello! >> >> On Tue, Feb 8, 2011 at 3:25 AM, NeilBrown <neilb@xxxxxxx> wrote: >> [snip] >>> Then start either the >>> 'next' array at the beginning, or the 'current' array at the current point >>> (write to sync_min). >> I couldn't find documentation for sync_min/sync_max sysfs params at >> least for repo cloned from >> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.37.y.git >> coolcold@coolcold:~/gits/linux-2.6.37.y$ grep -qi sync_min >> Documentation/md.txt || echo failed find docs >> failed find docs >> >> As I could understand from sources - resync_min & resync_max are >> expressed in sectors (512bytes?) and are set to 0 & total sectors on >> device accordingly. resync_max value should be divisible by array >> chunk size (in sectors) . After setting this values, one can trugger >> "check" / "repair" into sync_action. >> >> My basic idea is to use this method to clear pending sectors from >> SMART checks and looks like this gonna work, am i right? >> >>> Then wait for however long you want, abort the check (write 'idle' to >>> 'sync_action') and find out where it got up to (read sync_min) and record >>> that for next time. >>> >>> NeilBrown >>> >> >> >> -- >> Best regards, >> [COOLCOLD-RIPN] >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-raid" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> > > > > -- > Roberto Spadim > Spadim Technology / SPAEmpresarial > -- Best regards, [COOLCOLD-RIPN] -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html