Whamcloud - gitweb
Branch HEAD
[fs/lustre-release.git] / lustre / kernel_patches / patches / ext3-extents-asyncdel-2.4.24.patch
1 Index: linux-2.4.24/fs/ext3/inode.c
2 ===================================================================
3 --- linux-2.4.24.orig/fs/ext3/inode.c   2004-05-18 12:34:48.000000000 -0700
4 +++ linux-2.4.24/fs/ext3/inode.c        2004-05-18 12:47:50.000000000 -0700
5 @@ -2244,6 +2244,13 @@
6         else
7                 inode->u.ext3_i.i_extra_isize = 0;
8  
9 +       if (EXT3_I(inode)->i_flags & EXT3_EXTENTS_FL) {
10 +               inode->u.ext3_i.i_cached_extent[0] = 0;
11 +               inode->u.ext3_i.i_cached_extent[1] = 0;
12 +               inode->u.ext3_i.i_cached_extent[2] = 0;
13 +               inode->u.ext3_i.i_cached_extent[3] = 0;
14 +       }
15 +
16         if (S_ISREG(inode->i_mode)) {
17                 inode->i_op = &ext3_file_inode_operations;
18                 inode->i_fop = &ext3_file_operations;
19 @@ -2659,6 +2665,12 @@
20  
21         memcpy(nei->i_data, oei->i_data, sizeof(nei->i_data));
22         memset(oei->i_data, 0, sizeof(oei->i_data));
23 +       if (EXT3_I(old_inode)->i_flags & EXT3_EXTENTS_FL) {
24 +               EXT3_I(new_inode)->i_flags |= EXT3_EXTENTS_FL;
25 +               ext3_extents_initialize_blockmap(handle, old_inode);
26 +       } else {
27 +               EXT3_I(new_inode)->i_flags &= ~EXT3_EXTENTS_FL;
28 +       }
29  
30         nei->i_disksize = oei->i_disksize;
31         nei->i_state |= EXT3_STATE_DELETE;