xfs: fully initialise temp leaf in xfs_attr3_leaf_unbalance
authorDave Chinner <dchinner@redhat.com>
Tue, 21 May 2013 08:02:05 +0000 (18:02 +1000)
committerBen Myers <bpm@sgi.com>
Thu, 30 May 2013 22:26:16 +0000 (17:26 -0500)
commit9e80c76205b46b338cb56c336148f54b2326342f
tree1d6732f2e0d124e5cb9e4c52a2e101d799ffe336
parent58a72281555bf301f6dff24db2db205c87ef8db1
xfs: fully initialise temp leaf in xfs_attr3_leaf_unbalance

xfs_attr3_leaf_unbalance() uses a temporary buffer for recombining
the entries in two leaves when the destination leaf requires
compaction. The temporary buffer ends up being copied back over the
original destination buffer, so the header in the temporary buffer
needs to contain all the information that is in the destination
buffer.

To make sure the temporary buffer is fully initialised, once we've
set up the temporary incore header appropriately, write is back to
the temporary buffer before starting to move entries around.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Ben Myers <bpm@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
(cherry picked from commit 8517de2a81da830f5d90da66b4799f4040c76dc9)
fs/xfs/xfs_attr_leaf.c