]> www.infradead.org Git - users/dwmw2/linux.git/commit
ubifs: correct UBIFS_DFS_DIR_LEN macro definition and improve code clarity
authorZhaoLong Wang <wangzhaolong1@huawei.com>
Thu, 18 Apr 2024 07:07:04 +0000 (15:07 +0800)
committerRichard Weinberger <richard@nod.at>
Fri, 12 Jul 2024 19:52:24 +0000 (21:52 +0200)
commit7037c96d8c42965eb93e6b96cf921399c283d431
tree6bc5045dce42aaf23882b5e9a0b4ec2811ad0651
parent72f3d3daddd740f744a24cd7ef8c27bd0cd5489d
ubifs: correct UBIFS_DFS_DIR_LEN macro definition and improve code clarity

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 31 (2 characters), and volume ID ranges from 0 to 127 (up
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.

While these changes do not affect the runtime behavior, they make the code
more readable, maintainable, and less prone to future errors.

v2->v3:

 - 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.

Signed-off-by: ZhaoLong Wang <wangzhaolong1@huawei.com>
Reviewed-by: Zhihao Cheng <chengzhihao1@huawei.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
drivers/mtd/ubi/debug.c
drivers/mtd/ubi/ubi.h
fs/ubifs/debug.c
fs/ubifs/debug.h
fs/ubifs/sysfs.c
fs/ubifs/ubifs.h