[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: More ext3 fileserver woes ...



Neil,

I think this is a better fix...

--- 2.4.19-pre10/fs/jbd/transaction.c~ext3-buffer-time	Wed Jun  5 23:34:07 2002
+++ 2.4.19-pre10-akpm/fs/jbd/transaction.c	Wed Jun  5 23:48:02 2002
@@ -1092,7 +1092,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);
 	
@@ -2015,6 +2014,13 @@ void journal_file_buffer(struct journal_
 	spin_unlock(&journal_datalist_lock);
 }
 
+static void jbd_refile_buffer(struct buffer_head *bh)
+{
+	if (buffer_dirty(bh) && (bh->b_list != BUF_DIRTY))
+		set_buffer_flushtime(bh);
+	refile_buffer(bh);
+}
+
 /* 
  * Remove a buffer from its current buffer list in preparation for
  * dropping it from its current transaction entirely.  If the buffer has
@@ -2042,7 +2048,7 @@ void __journal_refile_buffer(struct jour
 		J_ASSERT_JH(jh, jh->b_transaction->t_state == T_RUNNING);
 	} else {
 		/* Onto BUF_DIRTY for writeback */
-		refile_buffer(jh2bh(jh));
+		jbd_refile_buffer(jh2bh(jh));
 	}
 }
 

-





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]