You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
UBI: change the interface of a debugging check function
This is a minor preparational patch which changes the 'paranoid_check_in_wl_tree()' function interface by adding the 'ubi' parameter which will be needed there in the next patch. And while on it, add "const" qualifier to the 'ubi' parameter of the 'paranoid_check_in_pq()' function. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
This commit is contained in:
+19
-13
@@ -1,4 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
|
* @ubi: UBI device description object
|
||||||
* Copyright (c) International Business Machines Corp., 2006
|
* Copyright (c) International Business Machines Corp., 2006
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@@ -163,12 +164,14 @@ struct ubi_work {
|
|||||||
|
|
||||||
#ifdef CONFIG_MTD_UBI_DEBUG
|
#ifdef CONFIG_MTD_UBI_DEBUG
|
||||||
static int paranoid_check_ec(struct ubi_device *ubi, int pnum, int ec);
|
static int paranoid_check_ec(struct ubi_device *ubi, int pnum, int ec);
|
||||||
static int paranoid_check_in_wl_tree(struct ubi_wl_entry *e,
|
static int paranoid_check_in_wl_tree(const struct ubi_device *ubi,
|
||||||
|
struct ubi_wl_entry *e,
|
||||||
struct rb_root *root);
|
struct rb_root *root);
|
||||||
static int paranoid_check_in_pq(struct ubi_device *ubi, struct ubi_wl_entry *e);
|
static int paranoid_check_in_pq(const struct ubi_device *ubi,
|
||||||
|
struct ubi_wl_entry *e);
|
||||||
#else
|
#else
|
||||||
#define paranoid_check_ec(ubi, pnum, ec) 0
|
#define paranoid_check_ec(ubi, pnum, ec) 0
|
||||||
#define paranoid_check_in_wl_tree(e, root)
|
#define paranoid_check_in_wl_tree(ubi, e, root)
|
||||||
#define paranoid_check_in_pq(ubi, e) 0
|
#define paranoid_check_in_pq(ubi, e) 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -449,7 +452,7 @@ retry:
|
|||||||
BUG();
|
BUG();
|
||||||
}
|
}
|
||||||
|
|
||||||
paranoid_check_in_wl_tree(e, &ubi->free);
|
paranoid_check_in_wl_tree(ubi, e, &ubi->free);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Move the physical eraseblock to the protection queue where it will
|
* Move the physical eraseblock to the protection queue where it will
|
||||||
@@ -712,7 +715,7 @@ static int wear_leveling_worker(struct ubi_device *ubi, struct ubi_work *wrk,
|
|||||||
e1->ec, e2->ec);
|
e1->ec, e2->ec);
|
||||||
goto out_cancel;
|
goto out_cancel;
|
||||||
}
|
}
|
||||||
paranoid_check_in_wl_tree(e1, &ubi->used);
|
paranoid_check_in_wl_tree(ubi, e1, &ubi->used);
|
||||||
rb_erase(&e1->u.rb, &ubi->used);
|
rb_erase(&e1->u.rb, &ubi->used);
|
||||||
dbg_wl("move PEB %d EC %d to PEB %d EC %d",
|
dbg_wl("move PEB %d EC %d to PEB %d EC %d",
|
||||||
e1->pnum, e1->ec, e2->pnum, e2->ec);
|
e1->pnum, e1->ec, e2->pnum, e2->ec);
|
||||||
@@ -721,12 +724,12 @@ static int wear_leveling_worker(struct ubi_device *ubi, struct ubi_work *wrk,
|
|||||||
scrubbing = 1;
|
scrubbing = 1;
|
||||||
e1 = rb_entry(rb_first(&ubi->scrub), struct ubi_wl_entry, u.rb);
|
e1 = rb_entry(rb_first(&ubi->scrub), struct ubi_wl_entry, u.rb);
|
||||||
e2 = find_wl_entry(&ubi->free, WL_FREE_MAX_DIFF);
|
e2 = find_wl_entry(&ubi->free, WL_FREE_MAX_DIFF);
|
||||||
paranoid_check_in_wl_tree(e1, &ubi->scrub);
|
paranoid_check_in_wl_tree(ubi, e1, &ubi->scrub);
|
||||||
rb_erase(&e1->u.rb, &ubi->scrub);
|
rb_erase(&e1->u.rb, &ubi->scrub);
|
||||||
dbg_wl("scrub PEB %d to PEB %d", e1->pnum, e2->pnum);
|
dbg_wl("scrub PEB %d to PEB %d", e1->pnum, e2->pnum);
|
||||||
}
|
}
|
||||||
|
|
||||||
paranoid_check_in_wl_tree(e2, &ubi->free);
|
paranoid_check_in_wl_tree(ubi, e2, &ubi->free);
|
||||||
rb_erase(&e2->u.rb, &ubi->free);
|
rb_erase(&e2->u.rb, &ubi->free);
|
||||||
ubi->move_from = e1;
|
ubi->move_from = e1;
|
||||||
ubi->move_to = e2;
|
ubi->move_to = e2;
|
||||||
@@ -1169,13 +1172,13 @@ retry:
|
|||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
if (in_wl_tree(e, &ubi->used)) {
|
if (in_wl_tree(e, &ubi->used)) {
|
||||||
paranoid_check_in_wl_tree(e, &ubi->used);
|
paranoid_check_in_wl_tree(ubi, e, &ubi->used);
|
||||||
rb_erase(&e->u.rb, &ubi->used);
|
rb_erase(&e->u.rb, &ubi->used);
|
||||||
} else if (in_wl_tree(e, &ubi->scrub)) {
|
} else if (in_wl_tree(e, &ubi->scrub)) {
|
||||||
paranoid_check_in_wl_tree(e, &ubi->scrub);
|
paranoid_check_in_wl_tree(ubi, e, &ubi->scrub);
|
||||||
rb_erase(&e->u.rb, &ubi->scrub);
|
rb_erase(&e->u.rb, &ubi->scrub);
|
||||||
} else if (in_wl_tree(e, &ubi->erroneous)) {
|
} else if (in_wl_tree(e, &ubi->erroneous)) {
|
||||||
paranoid_check_in_wl_tree(e, &ubi->erroneous);
|
paranoid_check_in_wl_tree(ubi, e, &ubi->erroneous);
|
||||||
rb_erase(&e->u.rb, &ubi->erroneous);
|
rb_erase(&e->u.rb, &ubi->erroneous);
|
||||||
ubi->erroneous_peb_count -= 1;
|
ubi->erroneous_peb_count -= 1;
|
||||||
ubi_assert(ubi->erroneous_peb_count >= 0);
|
ubi_assert(ubi->erroneous_peb_count >= 0);
|
||||||
@@ -1242,7 +1245,7 @@ retry:
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (in_wl_tree(e, &ubi->used)) {
|
if (in_wl_tree(e, &ubi->used)) {
|
||||||
paranoid_check_in_wl_tree(e, &ubi->used);
|
paranoid_check_in_wl_tree(ubi, e, &ubi->used);
|
||||||
rb_erase(&e->u.rb, &ubi->used);
|
rb_erase(&e->u.rb, &ubi->used);
|
||||||
} else {
|
} else {
|
||||||
int err;
|
int err;
|
||||||
@@ -1609,13 +1612,15 @@ out_free:
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* paranoid_check_in_wl_tree - check that wear-leveling entry is in WL RB-tree.
|
* paranoid_check_in_wl_tree - check that wear-leveling entry is in WL RB-tree.
|
||||||
|
* @ubi: UBI device description object
|
||||||
* @e: the wear-leveling entry to check
|
* @e: the wear-leveling entry to check
|
||||||
* @root: the root of the tree
|
* @root: the root of the tree
|
||||||
*
|
*
|
||||||
* This function returns zero if @e is in the @root RB-tree and %-EINVAL if it
|
* This function returns zero if @e is in the @root RB-tree and %-EINVAL if it
|
||||||
* is not.
|
* is not.
|
||||||
*/
|
*/
|
||||||
static int paranoid_check_in_wl_tree(struct ubi_wl_entry *e,
|
static int paranoid_check_in_wl_tree(const struct ubi_device *ubi,
|
||||||
|
struct ubi_wl_entry *e,
|
||||||
struct rb_root *root)
|
struct rb_root *root)
|
||||||
{
|
{
|
||||||
if (!(ubi_chk_flags & UBI_CHK_GEN))
|
if (!(ubi_chk_flags & UBI_CHK_GEN))
|
||||||
@@ -1638,7 +1643,8 @@ static int paranoid_check_in_wl_tree(struct ubi_wl_entry *e,
|
|||||||
*
|
*
|
||||||
* This function returns zero if @e is in @ubi->pq and %-EINVAL if it is not.
|
* This function returns zero if @e is in @ubi->pq and %-EINVAL if it is not.
|
||||||
*/
|
*/
|
||||||
static int paranoid_check_in_pq(struct ubi_device *ubi, struct ubi_wl_entry *e)
|
static int paranoid_check_in_pq(const struct ubi_device *ubi,
|
||||||
|
struct ubi_wl_entry *e)
|
||||||
{
|
{
|
||||||
struct ubi_wl_entry *p;
|
struct ubi_wl_entry *p;
|
||||||
int i;
|
int i;
|
||||||
|
|||||||
Reference in New Issue
Block a user