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

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

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
Loading
Loading
Loading
Loading
+1 −7
Original line number Diff line number Diff line
@@ -1013,7 +1013,6 @@ out:
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;
}