diff options
author | Kent Overstreet | 2013-07-11 22:42:14 -0700 |
---|---|---|
committer | Kent Overstreet | 2013-07-12 00:22:48 -0700 |
commit | faa5673617656ee58369a3cfe4a312cfcdc59c81 (patch) | |
tree | 856e124ab4abab846bea0cdca7e41581eddf061f /usr | |
parent | 5caa52afc5abd1396e4af720469abb5843a71eb8 (diff) |
bcache: Journal replay fix
The journal replay code starts by finding something that looks like a
valid journal entry, then it does a binary search over the unchecked
region of the journal for the journal entries with the highest sequence
numbers.
Trouble is, the logic was wrong - journal_read_bucket() returns true if
it found journal entries we need, but if the range of journal entries
we're looking for loops around the end of the journal - in that case
journal_read_bucket() could return true when it hadn't found the highest
sequence number we'd seen yet, and in that case the binary search did
the wrong thing. Whoops.
Signed-off-by: Kent Overstreet <kmo@daterainc.com>
Cc: linux-stable <stable@vger.kernel.org> # >= v3.10
Diffstat (limited to 'usr')
0 files changed, 0 insertions, 0 deletions