@@ -68,13 +68,26 @@ struct inode *hfsplus_iget(struct super_block *sb, unsigned long ino)
6868 if (!(inode -> i_state & I_NEW ))
6969 return inode ;
7070
71- INIT_LIST_HEAD (& HFSPLUS_I (inode )-> open_dir_list );
72- spin_lock_init (& HFSPLUS_I (inode )-> open_dir_lock );
73- mutex_init (& HFSPLUS_I (inode )-> extents_lock );
74- HFSPLUS_I (inode )-> flags = 0 ;
71+ atomic_set (& HFSPLUS_I (inode )-> opencnt , 0 );
72+ HFSPLUS_I (inode )-> first_blocks = 0 ;
73+ HFSPLUS_I (inode )-> clump_blocks = 0 ;
74+ HFSPLUS_I (inode )-> alloc_blocks = 0 ;
75+ HFSPLUS_I (inode )-> cached_start = U32_MAX ;
76+ HFSPLUS_I (inode )-> cached_blocks = 0 ;
77+ memset (HFSPLUS_I (inode )-> first_extents , 0 , sizeof (hfsplus_extent_rec ));
78+ memset (HFSPLUS_I (inode )-> cached_extents , 0 , sizeof (hfsplus_extent_rec ));
7579 HFSPLUS_I (inode )-> extent_state = 0 ;
80+ mutex_init (& HFSPLUS_I (inode )-> extents_lock );
7681 HFSPLUS_I (inode )-> rsrc_inode = NULL ;
77- atomic_set (& HFSPLUS_I (inode )-> opencnt , 0 );
82+ HFSPLUS_I (inode )-> create_date = 0 ;
83+ HFSPLUS_I (inode )-> linkid = 0 ;
84+ HFSPLUS_I (inode )-> flags = 0 ;
85+ HFSPLUS_I (inode )-> fs_blocks = 0 ;
86+ HFSPLUS_I (inode )-> userflags = 0 ;
87+ HFSPLUS_I (inode )-> subfolders = 0 ;
88+ INIT_LIST_HEAD (& HFSPLUS_I (inode )-> open_dir_list );
89+ spin_lock_init (& HFSPLUS_I (inode )-> open_dir_lock );
90+ HFSPLUS_I (inode )-> phys_size = 0 ;
7891
7992 if (inode -> i_ino >= HFSPLUS_FIRSTUSER_CNID ||
8093 inode -> i_ino == HFSPLUS_ROOT_CNID ) {
0 commit comments