]> err.no Git - linux-2.6/commitdiff
jbd2: Fix reference counting on the journal commit block's buffer head
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Tue, 5 Feb 2008 15:55:26 +0000 (10:55 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 5 Feb 2008 15:55:26 +0000 (10:55 -0500)
With journal checksum patch we added asynchronous commits of journal
commit headers, and accidentally dropped taking a reference on the
buffer head.

(Before the change, sync_dirty_buffer did the get_bh(). The associative
put_bh is done by journal_wait_on_commit_record().)

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/jbd2/commit.c

index 48b3cb8aeb2e380a79897b96ec5b809705eb726c..d6ea623b1e2311aec09cb643142ff0cdd9bc1386 100644 (file)
@@ -136,7 +136,7 @@ static int journal_submit_commit_record(journal_t *journal,
 
        JBUFFER_TRACE(descriptor, "submit commit block");
        lock_buffer(bh);
-
+       get_bh(bh);
        set_buffer_dirty(bh);
        set_buffer_uptodate(bh);
        bh->b_end_io = journal_end_buffer_io_sync;