ocfs2: Make ocfs2_extend_trans() really extend.
authorTao Ma <tao.ma@oracle.com>
Mon, 26 Apr 2010 06:34:57 +0000 (14:34 +0800)
committerJoel Becker <joel.becker@oracle.com>
Thu, 6 May 2010 01:18:09 +0000 (18:18 -0700)
commitc901fb00731e307c2c6e8c7d5eee005df5835f9d
tree4c68bf68590d04d1045ae5d66a9ae158c56019fa
parent3e4218df3176657be72ad2fa199779be6c11fe4f
ocfs2: Make ocfs2_extend_trans() really extend.

In ocfs2, we use ocfs2_extend_trans() to extend a journal handle's
blocks. But if jbd2_journal_extend() fails, it will only restart
with the the new number of blocks.  This tends to be awkward since
in most cases we want additional reserved blocks. It makes our code
harder to mantain since the caller can't be sure all the original
blocks will not be accessed and dirtied again.  There are 15 callers
of ocfs2_extend_trans() in fs/ocfs2, and 12 of them have to add
h_buffer_credits before they call ocfs2_extend_trans().  This makes
ocfs2_extend_trans() really extend atop the original block count.

Signed-off-by: Tao Ma <tao.ma@oracle.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
fs/ocfs2/alloc.c
fs/ocfs2/journal.c
fs/ocfs2/refcounttree.c
fs/ocfs2/xattr.c