Update README.md
[lwext4.git] / lwext4 / ext4_extent_full.c
index e79bcaa58c922b3a3926bcaa33b48f2bd93e0972..b8347f7b54117f3b6edcd9d4beec0c19b87d25c9 100644 (file)
@@ -392,6 +392,7 @@ static int ext4_ext_check(struct ext4_inode_ref *inode_ref,
                          ext4_fsblk_t pblk __unused)
 {
        struct ext4_extent_tail *tail;
+       struct ext4_sblock *sb = &inode_ref->fs->sb;
        const char *error_msg;
        (void)error_msg;
 
@@ -413,10 +414,13 @@ static int ext4_ext_check(struct ext4_inode_ref *inode_ref,
        }
 
        tail = find_ext4_extent_tail(eh);
-       struct ext4_sblock *sb = &inode_ref->fs->sb;
        if (ext4_sb_feature_ro_com(sb, EXT4_FRO_COM_METADATA_CSUM)) {
                if (tail->et_checksum != to_le32(ext4_ext_block_csum(inode_ref, eh))) {
-                       /* FIXME: Warning: extent checksum damaged? */
+                       ext4_dbg(DEBUG_EXTENT,
+                                DBG_WARN "Extent block checksum failed."
+                                "Blocknr: %" PRIu64"\n",
+                                pblk);
+
                }
        }
 
@@ -1147,6 +1151,7 @@ static int ext4_ext_grow_indepth(struct ext4_inode_ref *inode_ref,
                    to_le16(ext4_ext_space_block(inode_ref));
 
        neh->magic = to_le16(EXT4_EXTENT_MAGIC);
+       ext4_extent_block_csum_set(inode_ref, neh);
 
        /* Update top-level index: num,max,pointer */
        neh = ext_inode_hdr(inode_ref->inode);
@@ -1161,7 +1166,6 @@ static int ext4_ext_grow_indepth(struct ext4_inode_ref *inode_ref,
        }
        neh->depth = to_le16(to_le16(neh->depth) + 1);
 
-       ext4_extent_block_csum_set(inode_ref, neh);
        bh.dirty = true;
        inode_ref->dirty = true;
        ext4_block_set(inode_ref->fs->bdev, &bh);