lkml.org 
[lkml]   [1999]   [Apr]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: 2.2.6_andrea3.bz2 (fixed an interesting (harmless) bug) [Re: [big performances boost for DataBases] Re: cache killer memory death test - 2.0 vs 2.2 vs arca - programs ]inside
On Tue, 27 Apr 1999, Andrea Arcangeli wrote:

>ftp://e-mind.com/pub/andrea/kernel/2.2.6_andrea3.bz2

It has problems. The main problem is that trying to get the maximal
performances from the I/O subsystem I removed some harming
run_task_queue(&tq_disk) from some place and doing that I allowed an
ext2_truncate bug to see the light.

This patch will fix the bug:

Index: fs/ext2/truncate.c
===================================================================
RCS file: /var/cvs/linux/fs/ext2/truncate.c,v
retrieving revision 1.1.2.3
diff -u -r1.1.2.3 truncate.c
--- linux/fs/ext2/truncate.c 1999/02/09 18:52:03 1.1.2.3
+++ linux/fs/ext2/truncate.c 1999/04/27 09:09:29
@@ -393,6 +393,7 @@
return;
ext2_discard_prealloc(inode);
while (1) {
+ run_task_queue(&tq_disk);
retry = trunc_direct(inode);
retry |= trunc_indirect (inode,
EXT2_IND_BLOCK,

The problem is that ext2_truncate wait in an infinite loop that a buffer
become unlocked, but before do that it _must_ make sure that any pending
I/O will start for real (otherwise it can loop at inifinity as it was
happening here...).

Andrea Arcangeli

PS. I have some other thing to do now, then I'll release a fixed
2.2.6_andrea4.bz2 with some other buffer.c change included.


-
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/

\
 
 \ /
  Last update: 2005-03-22 13:51    [W:0.092 / U:0.208 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site