1
0
mirror of https://github.com/bobranten/Ext4Fsd.git synced 2025-10-30 05:18:31 -05:00

fix for dir entry rec len when using checksums

This commit is contained in:
Bo Brantén
2020-02-23 22:03:15 +01:00
parent 9abe75f04c
commit 9aa7f7bd9a

View File

@@ -663,7 +663,7 @@ NTSTATUS Ext2AddDotEntries(struct ext2_icb *icb, struct inode *dir,
de = (struct ext3_dir_entry_2 *)
((char *) de + le16_to_cpu(de->rec_len));
de->inode = cpu_to_le32(dir->i_ino);
de->rec_len = cpu_to_le16(inode->i_sb->s_blocksize-EXT3_DIR_REC_LEN(1));
de->rec_len = cpu_to_le16(inode->i_sb->s_blocksize-EXT3_DIR_REC_LEN(1)-csum_size);
de->name_len = 2;
strcpy (de->name, "..");
ext3_set_de_type(inode->i_sb, de, S_IFDIR);
@@ -672,6 +672,7 @@ NTSTATUS Ext2AddDotEntries(struct ext2_icb *icb, struct inode *dir,
t = EXT4_DIRENT_TAIL(bh->b_data, blocksize);
initialize_dirent_tail(t, blocksize);
}
ext4_dirent_csum_set(inode, (struct ext4_dir_entry *)bh->b_data);
set_buffer_dirty(bh);
ext3_mark_inode_dirty(icb, inode);