Skip to content

Commit

Permalink
UBIFS: do not allocate unneeded scan buffer
Browse files Browse the repository at this point in the history
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: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
  • Loading branch information
Artem Bityutskiy authored and Artem Bityutskiy committed Oct 21, 2010
1 parent 3601ba2 commit 6599fcb
Showing 1 changed file with 1 addition and 7 deletions.
8 changes: 1 addition & 7 deletions fs/ubifs/replay.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand All @@ -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;
Expand All @@ -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;
Expand Down Expand Up @@ -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;
}

0 comments on commit 6599fcb

Please sign in to comment.