Commit 7703f09d authored by Artem Bityutskiy's avatar Artem Bityutskiy

UBIFS: double check that buds are replied in order

Commit 52c6e6f9 provides misleading infomation
in the commit messages - buds are replied in order. And the real reason why
that fix helped is probably because it made sure we seek head even in read-only
mode (so deferred recovery will have seeked heads).

This patch adds an assertion which will fire if we reply buds out of order.
Signed-off-by: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
parent e9ef7b5f
...@@ -713,6 +713,7 @@ static int replay_buds(struct ubifs_info *c) ...@@ -713,6 +713,7 @@ static int replay_buds(struct ubifs_info *c)
{ {
struct bud_entry *b; struct bud_entry *b;
int err, uninitialized_var(free), uninitialized_var(dirty); int err, uninitialized_var(free), uninitialized_var(dirty);
unsigned long long prev_sqnum = 0;
list_for_each_entry(b, &c->replay_buds, list) { list_for_each_entry(b, &c->replay_buds, list) {
err = replay_bud(c, b->bud->lnum, b->bud->start, b->bud->jhead, err = replay_bud(c, b->bud->lnum, b->bud->start, b->bud->jhead,
...@@ -723,6 +724,9 @@ static int replay_buds(struct ubifs_info *c) ...@@ -723,6 +724,9 @@ static int replay_buds(struct ubifs_info *c)
free, dirty, b->bud->jhead); free, dirty, b->bud->jhead);
if (err) if (err)
return err; return err;
ubifs_assert(b->sqnum > prev_sqnum);
prev_sqnum = b->sqnum;
} }
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment