[PATCH] ext4: remove unnecessary code in __mb_check_buddy

Jinke Han posted 1 patch 4 years, 2 months ago
fs/ext4/mballoc.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
[PATCH] ext4: remove unnecessary code in __mb_check_buddy
Posted by Jinke Han 4 years, 2 months ago
From: Jinke Han <hanjinke.666@bytedance.com>

When enter elseif branch, the the MB_CHECK_ASSERT will never fail.
In addtion, the only illegal combination is 0/0, which can be caught
by the first if branch.

Signed-off-by: Jinke Han <hanjinke.666@bytedance.com>
---
 fs/ext4/mballoc.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index e5d43d2ee474..eba650b31870 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -576,13 +576,10 @@ static int __mb_check_buddy(struct ext4_buddy *e4b, char *file,
 		for (i = 0; i < max; i++) {
 
 			if (mb_test_bit(i, buddy)) {
-				/* only single bit in buddy2 may be 1 */
+				/* only single bit in buddy2 may be 0 */
 				if (!mb_test_bit(i << 1, buddy2)) {
 					MB_CHECK_ASSERT(
 						mb_test_bit((i<<1)+1, buddy2));
-				} else if (!mb_test_bit((i << 1) + 1, buddy2)) {
-					MB_CHECK_ASSERT(
-						mb_test_bit(i << 1, buddy2));
 				}
 				continue;
 			}
-- 
2.20.1
Re: [PATCH] ext4: remove unnecessary code in __mb_check_buddy
Posted by Theodore Ts'o 4 years, 1 month ago
On Mon, 4 Apr 2022 23:22:43 +0800, Jinke Han wrote:
> From: Jinke Han <hanjinke.666@bytedance.com>
> 
> When enter elseif branch, the the MB_CHECK_ASSERT will never fail.
> In addtion, the only illegal combination is 0/0, which can be caught
> by the first if branch.
> 
> 
> [...]

Applied, thanks!

[1/1] ext4: remove unnecessary code in __mb_check_buddy
      commit: 3114e248fcda22f4d9bb149050c22d5efb999899

Best regards,
-- 
Theodore Ts'o <tytso@mit.edu>
Re: [PATCH] ext4: remove unnecessary code in __mb_check_buddy
Posted by Jan Kara 4 years, 1 month ago
On Mon 04-04-22 23:22:43, Jinke Han wrote:
> From: Jinke Han <hanjinke.666@bytedance.com>
> 
> When enter elseif branch, the the MB_CHECK_ASSERT will never fail.
> In addtion, the only illegal combination is 0/0, which can be caught
> by the first if branch.
> 
> Signed-off-by: Jinke Han <hanjinke.666@bytedance.com>

Looks good. Feel free to add:

Reviewed-by: Jan Kara <jack@suse.cz>
	
Ted, this seems to have fallen through the cracks...

								Honza

> ---
>  fs/ext4/mballoc.c | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
> index e5d43d2ee474..eba650b31870 100644
> --- a/fs/ext4/mballoc.c
> +++ b/fs/ext4/mballoc.c
> @@ -576,13 +576,10 @@ static int __mb_check_buddy(struct ext4_buddy *e4b, char *file,
>  		for (i = 0; i < max; i++) {
>  
>  			if (mb_test_bit(i, buddy)) {
> -				/* only single bit in buddy2 may be 1 */
> +				/* only single bit in buddy2 may be 0 */
>  				if (!mb_test_bit(i << 1, buddy2)) {
>  					MB_CHECK_ASSERT(
>  						mb_test_bit((i<<1)+1, buddy2));
> -				} else if (!mb_test_bit((i << 1) + 1, buddy2)) {
> -					MB_CHECK_ASSERT(
> -						mb_test_bit(i << 1, buddy2));
>  				}
>  				continue;
>  			}
> -- 
> 2.20.1
> 
-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR