[PATCH 5/6] UBI: Split __wl_get_peb()
Richard Weinberger
richard at nod.at
Fri Dec 5 13:02:56 PST 2014
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 <richard at nod.at>
>> ---
>> 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
More information about the linux-mtd
mailing list