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