From 7703f09ded1b8719d2defe0f61215b4a08702ffa Mon Sep 17 00:00:00 2001 From: Artem Bityutskiy Date: Fri, 13 May 2011 16:02:19 +0300 Subject: UBIFS: double check that buds are replied in order Commit 52c6e6f990669deac3f370f1603815adb55a1dbd 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: Artem Bityutskiy --- fs/ubifs/replay.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'fs/ubifs/replay.c') diff --git a/fs/ubifs/replay.c b/fs/ubifs/replay.c index e27346f6c67..5e815034aab 100644 --- a/fs/ubifs/replay.c +++ b/fs/ubifs/replay.c @@ -713,6 +713,7 @@ static int replay_buds(struct ubifs_info *c) { struct bud_entry *b; int err, uninitialized_var(free), uninitialized_var(dirty); + unsigned long long prev_sqnum = 0; list_for_each_entry(b, &c->replay_buds, list) { 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) free, dirty, b->bud->jhead); if (err) return err; + + ubifs_assert(b->sqnum > prev_sqnum); + prev_sqnum = b->sqnum; } return 0; -- cgit v1.2.3