FIX: simple extent implementation overwriting the inode block.
[lwext4.git] / lwext4 / ext4_balloc.c
index bad2be7521e2e8b215ba50b9c187a543df77a00d..ab6e7a2736fd913235aea69c5a6f44bd8270d25d 100644 (file)
@@ -78,6 +78,7 @@ uint64_t ext4_balloc_get_block_of_bgid(struct ext4_sblock *s,
        return baddr;
 }
 
+#if CONFIG_META_CSUM_ENABLE
 static uint32_t ext4_balloc_bitmap_csum(struct ext4_sblock *sb,
                                        void *bitmap)
 {
@@ -87,13 +88,17 @@ static uint32_t ext4_balloc_bitmap_csum(struct ext4_sblock *sb,
                        ext4_get32(sb, blocks_per_group);
 
                /* First calculate crc32 checksum against fs uuid */
-               checksum = ext4_crc32c(~0, sb->uuid, sizeof(sb->uuid));
+               checksum = ext4_crc32c(EXT4_CRC32_INIT, sb->uuid,
+                               sizeof(sb->uuid));
                /* Then calculate crc32 checksum against block_group_desc */
                checksum = ext4_crc32c(checksum, bitmap,
                                     blocks_per_group / 8);
        }
        return checksum;
 }
+#else
+#define ext4_balloc_bitmap_csum(...) 0
+#endif
 
 /*
  * BIG FAT NOTES:
@@ -102,7 +107,7 @@ static uint32_t ext4_balloc_bitmap_csum(struct ext4_sblock *sb,
 
 void ext4_balloc_set_bitmap_csum(struct ext4_sblock *sb,
                                 struct ext4_bgroup *bg,
-                                void *bitmap)
+                                void *bitmap __unused)
 {
        int desc_size = ext4_sb_get_desc_size(sb);
        uint32_t checksum = ext4_balloc_bitmap_csum(sb, bitmap);