ext4: remove unnecessary code in __mb_check_buddy
authorJinke Han <hanjinke.666@bytedance.com>
Mon, 4 Apr 2022 15:22:43 +0000 (23:22 +0800)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 11 May 2022 19:19:06 +0000 (15:19 -0400)
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>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20220404152243.13556-1-hanjinke.666@bytedance.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/mballoc.c

index dcb81352b8642b6354a530d961a78ecd1e0f60f3..3e715b837e702968b0187719c6c6e304b994f483 100644 (file)
@@ -695,13 +695,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;
                        }