Commit 6599fcbd authored by Artem Bityutskiy's avatar Artem Bityutskiy

UBIFS: do not allocate unneeded scan buffer

In 'ubifs_replay_journal()' we allocate 'sbuf' for scanning the log.
However, we already have 'c->sbuf' for these purposes, so do not
allocate yet another one. This reduces UBIFS memory consumption while
recovering.
Signed-off-by: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
parent 3601ba27
......@@ -1013,7 +1013,6 @@ static int take_ihead(struct ubifs_info *c)
int ubifs_replay_journal(struct ubifs_info *c)
{
int err, i, lnum, offs, free;
void *sbuf = NULL;
BUILD_BUG_ON(UBIFS_TRUN_KEY > 5);
......@@ -1028,10 +1027,6 @@ int ubifs_replay_journal(struct ubifs_info *c)
return -EINVAL;
}
sbuf = vmalloc(c->leb_size);
if (!sbuf)
return -ENOMEM;
dbg_mnt("start replaying the journal");
c->replaying = 1;
lnum = c->ltail_lnum = c->lhead_lnum;
......@@ -1046,7 +1041,7 @@ int ubifs_replay_journal(struct ubifs_info *c)
lnum = UBIFS_LOG_LNUM;
offs = 0;
}
err = replay_log_leb(c, lnum, offs, sbuf);
err = replay_log_leb(c, lnum, offs, c->sbuf);
if (err == 1)
/* We hit the end of the log */
break;
......@@ -1079,7 +1074,6 @@ int ubifs_replay_journal(struct ubifs_info *c)
out:
destroy_replay_tree(c);
destroy_bud_list(c);
vfree(sbuf);
c->replaying = 0;
return err;
}
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