1 Index: 57chaos/fs/ext3/inode.c
2 ===================================================================
3 --- 57chaos.orig/fs/ext3/inode.c 2004-06-21 14:15:31.000000000 -0700
4 +++ 57chaos/fs/ext3/inode.c 2004-06-21 14:19:27.000000000 -0700
5 @@ -2270,6 +2270,10 @@ void ext3_truncate_thread(struct inode *
7 memcpy(nei->i_data, oei->i_data, sizeof(nei->i_data));
8 memset(oei->i_data, 0, sizeof(oei->i_data));
9 + if (EXT3_I(old_inode)->i_flags & EXT3_EXTENTS_FL) {
10 + EXT3_I(new_inode)->i_flags |= EXT3_EXTENTS_FL;
11 + ext3_extents_initialize_blockmap(handle, old_inode);
14 nei->i_disksize = oei->i_disksize;
15 nei->i_state |= EXT3_STATE_DELETE;
16 @@ -2522,6 +2526,13 @@ void ext3_read_inode(struct inode * inod
18 EXT3_I(inode)->i_extra_isize = 0;
20 + if (EXT3_I(inode)->i_flags & EXT3_EXTENTS_FL) {
21 + inode->u.ext3_i.i_cached_extent[0] = 0;
22 + inode->u.ext3_i.i_cached_extent[1] = 0;
23 + inode->u.ext3_i.i_cached_extent[2] = 0;
24 + inode->u.ext3_i.i_cached_extent[3] = 0;
27 if (S_ISREG(inode->i_mode)) {
28 inode->i_op = &ext3_file_inode_operations;
29 inode->i_fop = &ext3_file_operations;