AHA! Now I have my answer. Thank you. I guess this breaks the log-jam?

> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of John E. Adams
> Sent: Wednesday, June 23, 1999 8:50 PM
> To: [EMAIL PROTECTED]
> Subject: resync runs forever
> 
> 
> Hello,
>       I think I have found a solution to the problem of
> raid5 resync running forever in the 2.2.8-10 kernels.
> There is  a test in md_do_sync() in drivers/block/md.c that 
> plays with 
> current priority depending on io usage and the "speed_limit". 
>  Just hack 
> out all but the last line of that test.  Here's the code with 
> the ifdefs
> 
> //////////////////////////////////////////////////////////////
> ///////////
>               /*
>                * this loop exits only if either when we are 
> slower than
>                * the 'hard' speed limit, or the system was IO-idle for
>                * a jiffy.
>                * the system might be non-idle CPU-wise, but 
> we only care
>                * about not overloading the IO subsystem. 
> (things like an
>                * e2fsck being done on the RAID array should 
> execute fast)
>                */
> repeat:
>               if (md_need_resched())
>                       schedule();
> #if 0
>               if ((blocksize/1024)*j/((jiffies-starttime)/HZ + 1) + 1
>                                               > sysctl_speed_limit) {
>                       current->priority = 0;
> 
>                       if (!is_mddev_idle(mddev)) {
>                               current->state = TASK_INTERRUPTIBLE;
>                               md_schedule_timeout(HZ/2);
>                               goto repeat;
>                       }
>               } else
> #endif
>                       current->priority = 40;
>       }
>       fsync_dev(read_disk);
>       printk(KERN_INFO "md: md%d: sync done.\n",mdidx(mddev));
>       err = 0;
> 
> ////////////////////////////////////////////////////////////////////
> No guarantees, it works for me.  
>       johna
> 

Reply via email to