Thread (3 messages) 3 messages, 2 authors, 2003-02-24

Re: ext3 journal buffers holding up buffer sync activity

From: Andrew Morton <hidden>
Date: 2003-02-24 20:01:45

Steve Lord [off-list ref] wrote:
Looking at the head of the lru_list of dirty buffers I found
a journal buffer with a flushtime in the future, and sitting
behind it, a lot of buffers which had flushtimes in the past.
argh.  We hit this a while back but it got forgotten about :(

<digs through patches directory>

This looks like it'll fix it?
--- 2.4.19-pre10/fs/buffer.c~ext3-flushtime	Wed Jun  5 21:39:14 2002
+++ 2.4.19-pre10-akpm/fs/buffer.c	Wed Jun  5 21:39:22 2002
@@ -1067,6 +1067,8 @@ static void __refile_buffer(struct buffe
 		bh->b_list = dispose;
 		if (dispose == BUF_CLEAN)
 			remove_inode_queue(bh);
+		if (dispose == BUF_DIRTY)
+			set_buffer_flushtime(bh);
 		__insert_into_lru_list(bh, dispose);
 	}
 }
--- 2.4.19-pre10/fs/jbd/transaction.c~ext3-flushtime	Wed Jun  5 21:39:18 2002
+++ 2.4.19-pre10-akpm/fs/jbd/transaction.c	Wed Jun  5 21:39:22 2002
@@ -1101,7 +1101,6 @@ int journal_dirty_metadata (handle_t *ha
 	
 	spin_lock(&journal_datalist_lock);
 	set_bit(BH_JBDDirty, &bh->b_state);
-	set_buffer_flushtime(bh);
 
 	J_ASSERT_JH(jh, jh->b_transaction != NULL);
 	
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help