Whamcloud - gitweb
b=20595
[fs/lustre-release.git] / lustre / kernel_patches / patches / vfs-keep-inode-hashed-for-clear-inode.patch
1 --- a/fs/inode.c.orig   2007-10-01 16:42:24.567821866 +0100
2 +++ b/fs/inode.c        2007-10-01 16:43:30.022037788 +0100
3 @@ -288,6 +288,12 @@
4                 if (inode->i_data.nrpages)
5                         truncate_inode_pages(&inode->i_data, 0);
6                 clear_inode(inode);
7 +
8 +               spin_lock(&inode_lock);
9 +               hlist_del_init(&inode->i_hash);
10 +               spin_unlock(&inode_lock);
11 +
12 +               wake_up_inode(inode);
13                 destroy_inode(inode);
14                 nr_disposed++;
15         }
16 @@ -317,7 +323,6 @@
17                 else {
18                         invalidate_inode_buffers(inode);
19                         if (!atomic_read(&inode->i_count)) {
20 -                               hlist_del_init(&inode->i_hash);
21                                 list_move(&inode->i_list, dispose);
22                                 inode->i_state |= I_FREEING;
23                                 count++;
24 @@ -455,7 +460,6 @@
25                         if (!can_unuse(inode))
26                                 continue;
27                 }
28 -               hlist_del_init(&inode->i_hash);
29                 list_move(&inode->i_list, &freeable);
30                 inode->i_state |= I_FREEING;
31                 nr_pruned++;
32