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

Commit 428ff9d2 authored by Artem Bityutskiy's avatar Artem Bityutskiy
Browse files

UBIFS: remove dead code



UBIFS assumes that @c->min_io_size is 8 in case of NOR flash. This
is because UBIFS alignes all nodes to 8-byte boundary, and maintaining
@c->min_io_size introduced unnecessary complications.

This patch removes senseless constructs like:

if (c->min_io_size == 1)
	NOR-specific code

Also, few commentaries amendments.

Signed-off-by: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
parent 7c83f5cb
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -91,7 +91,6 @@ static int shrink_liability(struct ubifs_info *c, int nr_to_write)
	return nr_written;
}


/**
 * run_gc - run garbage collector.
 * @c: UBIFS file-system description object
+4 −27
Original line number Diff line number Diff line
@@ -343,33 +343,15 @@ int ubifs_write_rcvrd_mst_node(struct ubifs_info *c)
 *
 * This function returns %1 if @offs was in the last write to the LEB whose data
 * is in @buf, otherwise %0 is returned.  The determination is made by checking
 * for subsequent empty space starting from the next min_io_size boundary (or a
 * bit less than the common header size if min_io_size is one).
 * for subsequent empty space starting from the next @c->min_io_size boundary.
 */
static int is_last_write(const struct ubifs_info *c, void *buf, int offs)
{
	int empty_offs;
	int check_len;
	int empty_offs, check_len;
	uint8_t *p;

	if (c->min_io_size == 1) {
		check_len = c->leb_size - offs;
		p = buf + check_len;
		for (; check_len > 0; check_len--)
			if (*--p != 0xff)
				break;
	/*
		 * 'check_len' is the size of the corruption which cannot be
		 * more than the size of 1 node if it was caused by an unclean
		 * unmount.
		 */
		if (check_len > UBIFS_MAX_NODE_SZ)
			return 0;
		return 1;
	}

	/*
	 * Round up to the next c->min_io_size boundary i.e. 'offs' is in the
	 * Round up to the next @c->min_io_size boundary i.e. @offs is in the
	 * last wbuf written. After that should be empty space.
	 */
	empty_offs = ALIGN(offs + 1, c->min_io_size);
@@ -392,7 +374,7 @@ static int is_last_write(const struct ubifs_info *c, void *buf, int offs)
 *
 * This function pads up to the next min_io_size boundary (if there is one) and
 * sets empty space to all 0xff. @buf, @offs and @len are updated to the next
 * min_io_size boundary (if there is one).
 * @c->min_io_size boundary.
 */
static void clean_buf(const struct ubifs_info *c, void **buf, int lnum,
		      int *offs, int *len)
@@ -402,11 +384,6 @@ static void clean_buf(const struct ubifs_info *c, void **buf, int lnum,
	lnum = lnum;
	dbg_rcvry("cleaning corruption at %d:%d", lnum, *offs);

	if (c->min_io_size == 1) {
		memset(*buf, 0xff, c->leb_size - *offs);
		return;
	}

	ubifs_assert(!(*offs & 7));
	empty_offs = ALIGN(*offs, c->min_io_size);
	pad_len = empty_offs - *offs;