ubi: Replace erase_block() with sync_erase()

Since erase_block() has same logic with sync_erase(), just replace it
with sync_erase(), also rename 'sync_erase()' to 'ubi_sync_erase()'.

Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
This commit is contained in:
Zhihao Cheng
2023-08-28 14:38:37 +08:00
committed by Richard Weinberger
parent a033ab4fec
commit c19286d70a
3 changed files with 7 additions and 51 deletions
+2 -46
View File
@@ -1389,50 +1389,6 @@ out:
return ret;
}
/**
* erase_block - Manually erase a PEB.
* @ubi: UBI device object
* @e: the physical eraseblock to erase
*
* This function returns zero in case of success and a negative error code in
* case of failure.
*/
static int erase_block(struct ubi_device *ubi, struct ubi_wl_entry *e)
{
int err;
struct ubi_ec_hdr *ec_hdr;
long long ec = e->ec;
ec_hdr = kzalloc(ubi->ec_hdr_alsize, GFP_NOFS);
if (!ec_hdr)
return -ENOMEM;
err = ubi_io_sync_erase(ubi, e->pnum, 0);
if (err < 0)
goto out;
ec += err;
if (ec > UBI_MAX_ERASECOUNTER) {
err = -EINVAL;
goto out;
}
ec_hdr->ec = cpu_to_be64(ec);
err = ubi_io_write_ec_hdr(ubi, e->pnum, ec_hdr);
if (err < 0)
goto out;
e->ec = ec;
spin_lock(&ubi->wl_lock);
if (e->ec > ubi->max_ec)
ubi->max_ec = e->ec;
spin_unlock(&ubi->wl_lock);
out:
kfree(ec_hdr);
return err;
}
/**
* invalidate_fastmap - destroys a fastmap.
* @ubi: UBI device object
@@ -1573,7 +1529,7 @@ int ubi_update_fastmap(struct ubi_device *ubi)
if (!tmp_e) {
if (old_fm && old_fm->e[i]) {
ret = erase_block(ubi, old_fm->e[i]);
ret = ubi_sync_erase(ubi, old_fm->e[i], 0);
if (ret < 0) {
ubi_err(ubi, "could not erase old fastmap PEB");
@@ -1625,7 +1581,7 @@ int ubi_update_fastmap(struct ubi_device *ubi)
if (old_fm) {
/* no fresh anchor PEB was found, reuse the old one */
if (!tmp_e) {
ret = erase_block(ubi, old_fm->e[0]);
ret = ubi_sync_erase(ubi, old_fm->e[0], 0);
if (ret < 0) {
ubi_err(ubi, "could not erase old anchor PEB");