Teach inode.c about list_move(). --- 25-akpm/fs/inode.c | 15 +++++---------- 1 files changed, 5 insertions(+), 10 deletions(-) diff -puN fs/inode.c~inode-cleanup fs/inode.c --- 25/fs/inode.c~inode-cleanup 2004-04-03 02:59:49.957758208 -0800 +++ 25-akpm/fs/inode.c 2004-04-03 02:59:49.961757600 -0800 @@ -216,10 +216,8 @@ void __iget(struct inode * inode) return; } atomic_inc(&inode->i_count); - if (!(inode->i_state & (I_DIRTY|I_LOCK))) { - list_del(&inode->i_list); - list_add(&inode->i_list, &inode_in_use); - } + if (!(inode->i_state & (I_DIRTY|I_LOCK))) + list_move(&inode->i_list, &inode_in_use); inodes_stat.nr_unused--; } @@ -304,8 +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_add(&inode->i_list, dispose); + list_move(&inode->i_list, dispose); inode->i_state |= I_FREEING; count++; continue; @@ -1017,10 +1014,8 @@ static void generic_forget_inode(struct struct super_block *sb = inode->i_sb; if (!hlist_unhashed(&inode->i_hash)) { - if (!(inode->i_state & (I_DIRTY|I_LOCK))) { - list_del(&inode->i_list); - list_add(&inode->i_list, &inode_unused); - } + if (!(inode->i_state & (I_DIRTY|I_LOCK))) + list_move(&inode->i_list, &inode_unused); inodes_stat.nr_unused++; spin_unlock(&inode_lock); if (!sb || (sb->s_flags & MS_ACTIVE)) _