From: Robert Love Fix as-iosched divide-by-zero bug. drivers/block/as-iosched.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) diff -puN drivers/block/as-iosched.c~as-div-by-zero-fix drivers/block/as-iosched.c --- 25/drivers/block/as-iosched.c~as-div-by-zero-fix 2003-06-11 18:17:04.000000000 -0700 +++ 25-akpm/drivers/block/as-iosched.c 2003-06-11 18:20:58.000000000 -0700 @@ -930,13 +930,12 @@ void update_write_batch(struct as_data * write_time = 0; if (write_time > batch + 5 && !ad->write_batch_idled) { - if (write_time / batch > 2) + if (write_time > batch * 2) ad->write_batch_count /= 2; else ad->write_batch_count--; - } else if (write_time + 5 < batch && ad->current_write_count == 0) { - if (batch / write_time > 2) + if (batch > write_time * 2) ad->write_batch_count *= 2; else ad->write_batch_count++; _