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

Commit d3b2578f authored by Artem Bityutskiy's avatar Artem Bityutskiy Committed by Artem Bityutskiy
Browse files

UBIFS: switch to I/O helpers



Switch the rest of direct UBI calls to UBIFS helper functions.

Signed-off-by: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
parent 987226a5
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -262,7 +262,7 @@ int ubifs_add_bud_to_log(struct ubifs_info *c, int jhead, int lnum, int offs)
		 * an unclean reboot, because the target LEB might have been
		 * unmapped, but not yet physically erased.
		 */
		err = ubi_leb_map(c->ubi, bud->lnum, UBI_SHORTTERM);
		err = ubifs_leb_map(c, bud->lnum, UBI_SHORTTERM);
		if (err)
			goto out_unlock;
	}
@@ -283,8 +283,6 @@ int ubifs_add_bud_to_log(struct ubifs_info *c, int jhead, int lnum, int offs)
	return 0;

out_unlock:
	if (err != -EAGAIN)
		ubifs_ro_mode(c, err);
	mutex_unlock(&c->log_mutex);
	kfree(ref);
	kfree(bud);
+8 −8
Original line number Diff line number Diff line
@@ -701,7 +701,7 @@ int ubifs_create_dflt_lpt(struct ubifs_info *c, int *main_lebs, int lpt_first,
			alen = ALIGN(len, c->min_io_size);
			set_ltab(c, lnum, c->leb_size - alen, alen - len);
			memset(p, 0xff, alen - len);
			err = ubi_leb_change(c->ubi, lnum++, buf, alen,
			err = ubifs_leb_change(c, lnum++, buf, alen,
					       UBI_SHORTTERM);
			if (err)
				goto out;
@@ -732,7 +732,7 @@ int ubifs_create_dflt_lpt(struct ubifs_info *c, int *main_lebs, int lpt_first,
				set_ltab(c, lnum, c->leb_size - alen,
					    alen - len);
				memset(p, 0xff, alen - len);
				err = ubi_leb_change(c->ubi, lnum++, buf, alen,
				err = ubifs_leb_change(c, lnum++, buf, alen,
						       UBI_SHORTTERM);
				if (err)
					goto out;
@@ -780,7 +780,7 @@ int ubifs_create_dflt_lpt(struct ubifs_info *c, int *main_lebs, int lpt_first,
			alen = ALIGN(len, c->min_io_size);
			set_ltab(c, lnum, c->leb_size - alen, alen - len);
			memset(p, 0xff, alen - len);
			err = ubi_leb_change(c->ubi, lnum++, buf, alen,
			err = ubifs_leb_change(c, lnum++, buf, alen,
					       UBI_SHORTTERM);
			if (err)
				goto out;
@@ -806,7 +806,7 @@ int ubifs_create_dflt_lpt(struct ubifs_info *c, int *main_lebs, int lpt_first,
		alen = ALIGN(len, c->min_io_size);
		set_ltab(c, lnum, c->leb_size - alen, alen - len);
		memset(p, 0xff, alen - len);
		err = ubi_leb_change(c->ubi, lnum++, buf, alen, UBI_SHORTTERM);
		err = ubifs_leb_change(c, lnum++, buf, alen, UBI_SHORTTERM);
		if (err)
			goto out;
		p = buf;
@@ -826,7 +826,7 @@ int ubifs_create_dflt_lpt(struct ubifs_info *c, int *main_lebs, int lpt_first,

	/* Write remaining buffer */
	memset(p, 0xff, alen - len);
	err = ubi_leb_change(c->ubi, lnum, buf, alen, UBI_SHORTTERM);
	err = ubifs_leb_change(c, lnum, buf, alen, UBI_SHORTTERM);
	if (err)
		goto out;

+7 −7
Original line number Diff line number Diff line
@@ -213,10 +213,10 @@ static int write_rcvrd_mst_node(struct ubifs_info *c,
	mst->flags |= cpu_to_le32(UBIFS_MST_RCVRY);

	ubifs_prepare_node(c, mst, UBIFS_MST_NODE_SZ, 1);
	err = ubi_leb_change(c->ubi, lnum, mst, sz, UBI_SHORTTERM);
	err = ubifs_leb_change(c, lnum, mst, sz, UBI_SHORTTERM);
	if (err)
		goto out;
	err = ubi_leb_change(c->ubi, lnum + 1, mst, sz, UBI_SHORTTERM);
	err = ubifs_leb_change(c, lnum + 1, mst, sz, UBI_SHORTTERM);
	if (err)
		goto out;
out:
@@ -554,7 +554,7 @@ static int fix_unclean_leb(struct ubifs_info *c, struct ubifs_scan_leb *sleb,
					ubifs_pad(c, buf, pad_len);
				}
			}
			err = ubi_leb_change(c->ubi, lnum, sleb->buf, len,
			err = ubifs_leb_change(c, lnum, sleb->buf, len,
					       UBI_UNKNOWN);
			if (err)
				return err;
@@ -939,7 +939,7 @@ static int recover_head(struct ubifs_info *c, int lnum, int offs, void *sbuf)
		err = ubifs_leb_read(c, lnum, sbuf, 0, offs, 1);
		if (err)
			return err;
		return ubi_leb_change(c->ubi, lnum, sbuf, offs, UBI_UNKNOWN);
		return ubifs_leb_change(c, lnum, sbuf, offs, UBI_UNKNOWN);
	}

	return 0;
@@ -1069,7 +1069,7 @@ static int clean_an_unclean_leb(struct ubifs_info *c,
	}

	/* Write back the LEB atomically */
	err = ubi_leb_change(c->ubi, lnum, sbuf, len, UBI_UNKNOWN);
	err = ubifs_leb_change(c, lnum, sbuf, len, UBI_UNKNOWN);
	if (err)
		return err;

@@ -1470,7 +1470,7 @@ static int fix_size_in_place(struct ubifs_info *c, struct size_entry *e)
		len -= 1;
	len = ALIGN(len + 1, c->min_io_size);
	/* Atomically write the fixed LEB back again */
	err = ubi_leb_change(c->ubi, lnum, c->sbuf, len, UBI_UNKNOWN);
	err = ubifs_leb_change(c, lnum, c->sbuf, len, UBI_UNKNOWN);
	if (err)
		goto out;
	dbg_rcvry("inode %lu at %d:%d size %lld -> %lld",
+2 −2
Original line number Diff line number Diff line
@@ -674,7 +674,7 @@ static int fixup_leb(struct ubifs_info *c, int lnum, int len)

	if (len == 0) {
		dbg_mnt("unmap empty LEB %d", lnum);
		return ubi_leb_unmap(c->ubi, lnum);
		return ubifs_leb_unmap(c, lnum);
	}

	dbg_mnt("fixup LEB %d, data len %d", lnum, len);
@@ -682,7 +682,7 @@ static int fixup_leb(struct ubifs_info *c, int lnum, int len)
	if (err)
		return err;

	return ubi_leb_change(c->ubi, lnum, c->sbuf, len, UBI_UNKNOWN);
	return ubifs_leb_change(c, lnum, c->sbuf, len, UBI_UNKNOWN);
}

/**
+1 −1
Original line number Diff line number Diff line
@@ -914,7 +914,7 @@ static int check_volume_empty(struct ubifs_info *c)

	c->empty = 1;
	for (lnum = 0; lnum < c->leb_cnt; lnum++) {
		err = ubi_is_mapped(c->ubi, lnum);
		err = ubifs_is_mapped(c, lnum);
		if (unlikely(err < 0))
			return err;
		if (err == 1) {