mirror of
https://github.com/bobranten/Ext4Fsd.git
synced 2025-10-30 05:18:31 -05:00
added a initialize_dirent_tail
This commit is contained in:
@@ -640,9 +640,15 @@ NTSTATUS Ext2AddDotEntries(struct ext2_icb *icb, struct inode *dir,
|
||||
{
|
||||
struct ext3_dir_entry_2 * de;
|
||||
struct buffer_head * bh;
|
||||
struct ext4_dir_entry_tail *t;
|
||||
ext3_lblk_t block = 0;
|
||||
unsigned int blocksize = dir->i_sb->s_blocksize;
|
||||
int csum_size = 0;
|
||||
int rc = 0;
|
||||
|
||||
if (ext4_has_metadata_csum(dir->i_sb))
|
||||
csum_size = sizeof(struct ext4_dir_entry_tail);
|
||||
|
||||
bh = ext3_append(icb, inode, &block, &rc);
|
||||
if (!bh) {
|
||||
goto errorout;
|
||||
@@ -662,6 +668,10 @@ NTSTATUS Ext2AddDotEntries(struct ext2_icb *icb, struct inode *dir,
|
||||
strcpy (de->name, "..");
|
||||
ext3_set_de_type(inode->i_sb, de, S_IFDIR);
|
||||
inode->i_nlink = 2;
|
||||
if (csum_size) {
|
||||
t = EXT4_DIRENT_TAIL(bh->b_data, blocksize);
|
||||
initialize_dirent_tail(t, blocksize);
|
||||
}
|
||||
set_buffer_dirty(bh);
|
||||
ext3_mark_inode_dirty(icb, inode);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user