Tanya, Am 05.12.2014 um 18:41 schrieb Tanya Brokhman: > On 11/24/2014 3:20 PM, Richard Weinberger wrote: >> Make it two functions, wl_get_wle() and wl_get_peb(). >> wl_get_peb() works exactly like __wl_get_peb() but wl_get_wle() >> does not call produce_free_peb(). >> While refilling the fastmap user pool we cannot release ubi->wl_lock >> as produce_free_peb() does. >> Hence the fastmap logic uses now wl_get_wle(). > > hmmm... confused... I don't see fastmap code changed
It will be used in ubi_refill_pools() later. Patch 6/6 does this. I'll fix the commit message. >> >> Signed-off-by: Richard Weinberger <[email protected]> >> --- >> drivers/mtd/ubi/wl.c | 61 >> ++++++++++++++++++++++++++++++++-------------------- >> 1 file changed, 38 insertions(+), 23 deletions(-) >> >> diff --git a/drivers/mtd/ubi/wl.c b/drivers/mtd/ubi/wl.c >> index 7730b97..f028b68 100644 >> --- a/drivers/mtd/ubi/wl.c >> +++ b/drivers/mtd/ubi/wl.c >> @@ -499,13 +499,46 @@ out: >> #endif >> >> /** >> - * __wl_get_peb - get a physical eraseblock. >> + * wl_get_wle - get a mean wl entry to be used by wl_get_peb() or >> + * refill_wl_user_pool(). >> + * @ubi: UBI device description object >> + * >> + * This function returns a a wear leveling entry in case of success and > > If you upload a new version, you have a double "a" here: "returns a a wear > leveling" Thx! >> + * NULL in case of failure. >> + */ >> +static struct ubi_wl_entry *wl_get_wle(struct ubi_device *ubi) >> +{ >> + struct ubi_wl_entry *e; >> + >> + e = find_mean_wl_entry(ubi, &ubi->free); >> + if (!e) { >> + ubi_err(ubi, "no free eraseblocks"); >> + return NULL; >> + } >> + >> + self_check_in_wl_tree(ubi, e, &ubi->free); >> + >> + /* >> + * Move the physical eraseblock to the protection queue where it will >> + * be protected from being moved for some time. >> + */ > > I don't think this comment is valid anymore.... Correct, will update! Thanks, //richard -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

