Re: 2.6.0-test7-mm1

From: Kirill Korotaev
Date: Fri Oct 17 2003 - 03:59:30 EST


> 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);