[PATCH V3] ubifs: correct UBIFS_DFS_DIR_LEN macro definition and improve code clarity
Zhihao Cheng
chengzhihao1 at huawei.com
Wed Apr 17 04:22:13 PDT 2024
在 2024/4/17 17:27, ZhaoLong Wang 写道:
> The UBIFS_DFS_DIR_LEN macro, which defines the maximum length of the UBIFS
> debugfs directory name, has an incorrect formula and misleading comments.
> The current formula is (3 + 1 + 2*2 + 1), which assumes that both UBI device
> number and volume ID are limited to 2 characters. However, UBI device number
> ranges from 0 to 37 (2 characters), and volume ID ranges from 0 to 127 (up
UBI device number ranges from 0~31? UBI_MAX_DEVICES(32)
> to 3 characters).
>
> Although the current code works due to the cancellation of mathematical
> errors (9 + 1 = 10, which matches the correct UBIFS_DFS_DIR_LEN value), it
> can lead to confusion and potential issues in the future.
>
> This patch aims to improve the code clarity and maintainability by making
> the following changes:
>
> 1. Corrects the UBIFS_DFS_DIR_LEN macro definition to (3 + 1 + 2 + 3 + 1),
> accommodating the maximum lengths of both UBI device number and volume ID,
> plus the separators and null terminator.
> 2. Updates the snprintf calls to use UBIFS_DFS_DIR_LEN instead of
> UBIFS_DFS_DIR_LEN + 1, removing the unnecessary +1.
> 3. Modifies the error checks to compare against UBIFS_DFS_DIR_LEN using >=
> instead of >, aligning with the corrected macro definition.
> 4. Removes the redundant +1 in the dfs_dir_name array definitions in ubi.h
> and debug.h.
> 5. Removes the duplicated UBIFS_DFS_DIR_LEN and UBIFS_DFS_DIR_NAME macro
> definitions in ubifs.h, as they are already defined in debug.h.
>
> While these changes do not affect the runtime behavior, they make the code
> more readable, maintainable, and less prone to future errors.
>
> Signed-off-by: ZhaoLong Wang <wangzhaolong1 at huawei.com>
> ---
Please add change log v2->v3 next time.
> drivers/mtd/ubi/debug.c | 4 ++--
> drivers/mtd/ubi/ubi.h | 2 +-
> fs/ubifs/debug.c | 4 ++--
> fs/ubifs/debug.h | 7 ++++---
> fs/ubifs/sysfs.c | 6 +++---
> fs/ubifs/ubifs.h | 7 -------
> 6 files changed, 12 insertions(+), 18 deletions(-)
Reviewed-by: Zhihao Cheng <chengzhihao1 at huawei.com>
More information about the linux-mtd
mailing list