[PATCH v2 04/10] ubi: Expose mean erase counter for data in sysfs

Zhihao Cheng chengzhihao1 at huawei.com
Fri Oct 11 05:04:04 PDT 2024


在 2024/10/11 17:21, Rickard Andersson 写道:
> Expose mean erase counter for data area in sysfs. Data area includes
> all blocks except for the fastmap area.
> 
> This value can be used in order to estimate life expectancy of the
> flash.
> 
> Signed-off-by: Rickard Andersson <rickard.andersson at axis.com>
> ---
>   drivers/mtd/ubi/build.c | 5 +++++
>   1 file changed, 5 insertions(+)

Reviewed-by: Zhihao Cheng <chengzhihao1 at huawei.com>
> 
> diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c
> index f5a3a3f7d490..b253dcf849c7 100644
> --- a/drivers/mtd/ubi/build.c
> +++ b/drivers/mtd/ubi/build.c
> @@ -138,6 +138,8 @@ static struct device_attribute dev_max_ec_fastmap =
>   	__ATTR(max_ec_fastmap, S_IRUGO, dev_attribute_show, NULL);
>   static struct device_attribute dev_mean_ec_fastmap =
>   	__ATTR(mean_ec_fastmap, S_IRUGO, dev_attribute_show, NULL);
> +static struct device_attribute dev_mean_ec_data =
> +	__ATTR(mean_ec_data, S_IRUGO, dev_attribute_show, NULL);
>   #endif
>   static struct device_attribute dev_reserved_for_bad =
>   	__ATTR(reserved_for_bad, S_IRUGO, dev_attribute_show, NULL);
> @@ -463,6 +465,8 @@ static ssize_t dev_attribute_show(struct device *dev,
>   		ret = sprintf(buf, "%d\n", ubi_calc_max_ec(ubi, 0, UBI_FM_MAX_START));
>   	else if (attr == &dev_mean_ec_fastmap)
>   		ret = sprintf(buf, "%d\n", ubi_calc_mean_ec(ubi, 0, UBI_FM_MAX_START));
> +	else if (attr == &dev_mean_ec_data)
> +		ret = sprintf(buf, "%d\n", ubi_calc_mean_ec(ubi, UBI_FM_MAX_START, ubi->peb_count));
>   #endif
>   	else if (attr == &dev_reserved_for_bad)
>   		ret = sprintf(buf, "%d\n", ubi->beb_rsvd_pebs);
> @@ -494,6 +498,7 @@ static struct attribute *ubi_dev_attrs[] = {
>   #ifdef CONFIG_MTD_UBI_FASTMAP
>   	&dev_max_ec_fastmap.attr,
>   	&dev_mean_ec_fastmap.attr,
> +	&dev_mean_ec_data.attr,
>   #endif
>   	&dev_reserved_for_bad.attr,
>   	&dev_bad_peb_count.attr,
> 




More information about the linux-mtd mailing list