Messages in this thread Patch in this message | | | From | Kirill Korotaev <> | Subject | Re: 2.6.0-test7-mm1 | Date | Fri, 17 Oct 2003 12:58:11 +0400 |
| |
> Yup. The "invalidate_inodes-speedup-fixes" and "invalidate_inodes-speedup" > patches were not so great and need to be reverted. 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.
Kirill --- linux-2.6.0-test7-mm1/fs/inode.c.ii 2003-10-17 12:26:59.000000000 +0400 +++ linux-2.6.0-test7-mm1/fs/inode.c 2003-10-17 12:55:54.000000000 +0400 @@ -303,6 +303,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; --- linux-2.6.0-test7-mm1/fs/hugetlbfs/inode.c.ii 2003-10-17 12:51:51.000000000 +0400 +++ linux-2.6.0-test7-mm1/fs/hugetlbfs/inode.c 2003-10-17 12:52:24.000000000 +0400 @@ -191,6 +191,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); @@ -233,6 +234,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); | |