From: Kirill Korotaev I found another bug in invalidate_inodes-speedup.patch introduced by WLI when doing forward porting: - list_del(&inode->i_list); + list_del(&inode->i_sb_list); first list_del should be kept!!! Patch fixing this issue and hugetlbfs is attached. 25-akpm/fs/hugetlbfs/inode.c | 2 ++ 25-akpm/fs/inode.c | 1 + 2 files changed, 3 insertions(+) diff -puN fs/hugetlbfs/inode.c~invalidate_inodes-speedup-fixes-2 fs/hugetlbfs/inode.c --- 25/fs/hugetlbfs/inode.c~invalidate_inodes-speedup-fixes-2 Wed Oct 22 12:17:11 2003 +++ 25-akpm/fs/hugetlbfs/inode.c Wed Oct 22 12:17:11 2003 @@ -194,6 +194,7 @@ static void hugetlbfs_delete_inode(struc hlist_del_init(&inode->i_hash); list_del_init(&inode->i_list); + list_del_init(&inode->i_sb_list); inode->i_state |= I_FREEING; inodes_stat.nr_inodes--; spin_unlock(&inode_lock); @@ -236,6 +237,7 @@ static void hugetlbfs_forget_inode(struc hlist_del_init(&inode->i_hash); out_truncate: list_del_init(&inode->i_list); + list_del_init(&inode->i_sb_list); inode->i_state |= I_FREEING; inodes_stat.nr_inodes--; spin_unlock(&inode_lock); diff -puN fs/inode.c~invalidate_inodes-speedup-fixes-2 fs/inode.c --- 25/fs/inode.c~invalidate_inodes-speedup-fixes-2 Wed Oct 22 12:17:11 2003 +++ 25-akpm/fs/inode.c Wed Oct 22 12:17:11 2003 @@ -302,6 +302,7 @@ static int invalidate_list(struct list_h invalidate_inode_buffers(inode); if (!atomic_read(&inode->i_count)) { hlist_del_init(&inode->i_hash); + list_del(&inode->i_list); list_del(&inode->i_sb_list); list_add(&inode->i_list, dispose); inode->i_state |= I_FREEING; _