From a365fdf744d5167d363e50124e0b21bc17ce876c Mon Sep 17 00:00:00 2001 From: Artem Bityutskiy Date: Sat, 14 Jul 2012 20:52:58 +0300 Subject: [PATCH] --- yaml --- r: 312993 b: refs/heads/master c: d51f17ea0a3afe11fb4c4ad6635877e24df2758f h: refs/heads/master i: 312991: 5d579fcbb3146bee3f18fcd3182743d2d55272da v: v3 --- [refs] | 2 +- trunk/fs/ubifs/replay.c | 20 ++++++-------------- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/[refs] b/[refs] index 14a2d3c9b782..df71dfc0908d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 06bef9451a4c5ad882cd15fd7a0df9890c0249f3 +refs/heads/master: d51f17ea0a3afe11fb4c4ad6635877e24df2758f diff --git a/trunk/fs/ubifs/replay.c b/trunk/fs/ubifs/replay.c index 3a2da7e476e5..eba46d4a7619 100644 --- a/trunk/fs/ubifs/replay.c +++ b/trunk/fs/ubifs/replay.c @@ -1007,7 +1007,7 @@ static int take_ihead(struct ubifs_info *c) */ int ubifs_replay_journal(struct ubifs_info *c) { - int err, i, lnum, offs, free; + int err, lnum, free; BUILD_BUG_ON(UBIFS_TRUN_KEY > 5); @@ -1025,25 +1025,17 @@ int ubifs_replay_journal(struct ubifs_info *c) dbg_mnt("start replaying the journal"); c->replaying = 1; lnum = c->ltail_lnum = c->lhead_lnum; - offs = c->lhead_offs; - for (i = 0; i < c->log_lebs; i++, lnum++) { - if (lnum >= UBIFS_LOG_LNUM + c->log_lebs) { - /* - * The log is logically circular, we reached the last - * LEB, switch to the first one. - */ - lnum = UBIFS_LOG_LNUM; - offs = 0; - } - err = replay_log_leb(c, lnum, offs, c->sbuf); + lnum = UBIFS_LOG_LNUM; + do { + err = replay_log_leb(c, lnum, 0, c->sbuf); if (err == 1) /* We hit the end of the log */ break; if (err) goto out; - offs = 0; - } + lnum = ubifs_next_log_lnum(c, lnum); + } while (lnum != UBIFS_LOG_LNUM); err = replay_buds(c); if (err)