Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -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)
				      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;