--- linux-2.6.8/fs/ext3/ialloc.c.=K0000=.orig +++ linux-2.6.8/fs/ext3/ialloc.c @@ -585,6 +585,7 @@ got: ei->i_rsv_window.rsv_end = 0; atomic_set(&ei->i_rsv_window.rsv_goal_size, EXT3_DEFAULT_RESERVE_BLOCKS); atomic_set(&ei->i_rsv_window.rsv_alloc_hit, 0); + seqlock_init(&ei->i_rsv_window.rsv_seqlock); ei->i_block_group = group; ext3_set_inode_flags(inode); --- linux-2.6.8/fs/ext3/inode.c.=K0000=.orig +++ linux-2.6.8/fs/ext3/inode.c @@ -2459,6 +2459,7 @@ void ext3_read_inode(struct inode * inod ei->i_rsv_window.rsv_start = 0; ei->i_rsv_window.rsv_end= 0; atomic_set(&ei->i_rsv_window.rsv_goal_size, EXT3_DEFAULT_RESERVE_BLOCKS); + seqlock_init(&ei->i_rsv_window.rsv_seqlock); /* * NOTE! The in-memory inode i_data array is in little-endian order * even on big-endian machines: we do NOT byteswap the block numbers!