xfs: fix reading of wrapped log data
authorDave Chinner <dchinner@redhat.com>
Fri, 2 Nov 2012 00:38:44 +0000 (11:38 +1100)
committerBen Myers <bpm@sgi.com>
Wed, 7 Nov 2012 21:27:17 +0000 (15:27 -0600)
commit009507b052fa391618eccf9e8c9f484407fd9018
tree427a03552f9fe47a478aed228253c306ecc6cbee
parent137fff09b7924507871f8e6294dfe57b7a880332
xfs: fix reading of wrapped log data

Commit 4439647 ("xfs: reset buffer pointers before freeing them") in
3.0-rc1 introduced a regression when recovering log buffers that
wrapped around the end of log. The second part of the log buffer at
the start of the physical log was being read into the header buffer
rather than the data buffer, and hence recovery was seeing garbage
in the data buffer when it got to the region of the log buffer that
was incorrectly read.

Cc: <stable@vger.kernel.org> # 3.0.x, 3.2.x, 3.4.x 3.6.x
Reported-by: Torsten Kaiser <just.for.lkml@googlemail.com>
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Mark Tinguely <tinguely@sgi.com>
Signed-off-by: Ben Myers <bpm@sgi.com>
fs/xfs/xfs_log_recover.c