In sd.c I find:
spintime_value = jiffies;
time1 = HZ;
/* Wait 1 second for next try */
do {
current->state = TASK_UNINTERRUPTIBLE;
time1 = schedule_timeout(time1);
} while(time1);
printk(".");
}
} while (the_result && spintime && time_after(spintime_value + 100 * HZ, jiffies));
This will keep on trying to spin up the disk until trying to spin up
the disk (with immediate return) takes longer than 100 seconds. The
spintime_value = jiffies needs to be moved outside the loop, doesn't
it?
My system has been trying to spin up this disk for over 500 seconds
now!
sda: Spinning up disk.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
This is in linux-2.4.0-test2, maybe it's been fixed in a later kernel,
I don't know.
Back to 2.2.x ....
Roger.
-- ** R.E.Wolff@BitWizard.nl ** http://www.BitWizard.nl/ ** +31-15-2137555 ** *-- BitWizard writes Linux device drivers for any device you may have! --* * Common sense is the collection of * ****** prejudices acquired by age eighteen. -- Albert Einstein ********- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Sun Jul 23 2000 - 21:00:15 EST