Skip to contentSkip to conversation

reiserfs mark_journal_new

PATCH New Chris Mason 1 participant 1 message Jun 5, 2001

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 reiserfs mark_journal_new

Hi guys,

The 2.2.x reiserfs journal code marks newly allocated metadata so that if it is freed in the same transaction (common due to balancing), it can immediately be reused as a data block. It also allows faster freeing for these blocks.

This tested patch enables that code for 2.4.x, Alan please include.

-chris

fs/reiserfs/fix_node.c renamed from linux/fs/reiserfs/fix_node.c +1 -0
diff -ur diff/linux/fs/reiserfs/fix_node.c linux/fs/reiserfs/fix_node.c
@@ -936,6 +936,7 @@
     if (p_s_tb->FEB[p_s_tb->cur_blknum])
       BUG();
 
+    mark_buffer_journal_new(p_s_new_bh) ;
     p_s_tb->FEB[p_s_tb->cur_blknum++] = p_s_new_bh;
   }
 
fs/reiserfs/journal.c +1 -0
diff -Nru a/fs/reiserfs/journal.c b/fs/reiserfs/journal.c
@@ -2550,6 +2550,7 @@
   bh = get_hash_table(p_s_sb->s_dev, blocknr, p_s_sb->s_blocksize) ;
   /* if it is journal new, we just remove it from this transaction */
   if (bh && buffer_journal_new(bh)) {
+    mark_buffer_notjournal_new(bh) ;
     clear_prepared_bits(bh) ;
     cleaned = remove_from_transaction(p_s_sb, blocknr, cleaned) ;
   } else {