Whamcloud - gitweb
e2fsck: fix pass5 bug when using two different bitmap backends
authorTheodore Ts'o <tytso@mit.edu>
Sat, 17 Dec 2011 16:56:35 +0000 (11:56 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 18 Dec 2011 06:12:44 +0000 (01:12 -0500)
The pass5 checks would fail if the expected and current {inode,block}
bitmaps used different back ends that returned different non-zero
values from the test_*_bitmap() functions.  Fix this by changing
"(actual == bitmap)" to "(!actual == !bitmap)".

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
e2fsck/pass5.c

index a60e84a..1e836e3 100644 (file)
@@ -279,7 +279,7 @@ redo_counts:
                else
                        bitmap = ext2fs_fast_test_block_bitmap2(fs->block_map, i);
 
-               if (actual == bitmap)
+               if (!actual == !bitmap)
                        goto do_counts;
 
                if (!actual && bitmap) {
@@ -511,7 +511,7 @@ redo_counts:
                        bitmap = actual;
                else if (!skip_group)
                        bitmap = ext2fs_fast_test_inode_bitmap2(fs->inode_map, i);
-               if (actual == bitmap)
+               if (!actual == !bitmap)
                        goto do_counts;
 
                if (!actual && bitmap) {