xfs: refactor log record start detection into a new helper
authorBrian Foster <bfoster@redhat.com>
Mon, 4 Jan 2016 04:55:10 +0000 (15:55 +1100)
committerDave Chinner <david@fromorbit.com>
Mon, 4 Jan 2016 04:55:10 +0000 (15:55 +1100)
commiteed6b462fb2a2661a416c227be6498b0ea2a7aab
treede8bf906df9dd9766905fa3c042a347ea4def7d0
parent6528250b712102a7481c28db535ef251459d1868
xfs: refactor log record start detection into a new helper

As part of the head/tail discovery process, log recovery locates the
head block and then reverse seeks to find the start of the last active
record in the log. This is non-trivial as the record itself could have
wrapped around the end of the physical log. Log recovery torn write
detection potentially needs to walk further behind the last record in
the log, as multiple log I/Os can be in-flight at one time during a
crash event.

Therefore, refactor the reverse log record header search mechanism into
a new helper that supports the ability to seek past an arbitrary number
of log records (or until the tail is hit). Update the head/tail search
mechanism to call the new helper, but otherwise there is no change in
log recovery behavior.

Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
fs/xfs/xfs_log_recover.c