浏览代码

xfs: use hlist_add_fake

XFS does not need it's inodes to actuall be hashed in the VFS inode
cache, but we require the inode to be marked hashed for the
writeback code to work.

Insted of using insert_inode_hash, which requires a second
inode_lock roundtrip after the partial merge of the inode
scalability patches in 2.6.37-rc simply use the new hlist_add_fake
helper to mark it hashed without requiring a lock or touching a
global cache line.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Alex Elder <aelder@sgi.com>
Christoph Hellwig 14 年之前
父节点
当前提交
c6f6cd0608
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      fs/xfs/linux-2.6/xfs_iops.c

+ 2 - 1
fs/xfs/linux-2.6/xfs_iops.c

@@ -762,7 +762,8 @@ xfs_setup_inode(
 	inode->i_state = I_NEW;
 	inode->i_state = I_NEW;
 
 
 	inode_sb_list_add(inode);
 	inode_sb_list_add(inode);
-	insert_inode_hash(inode);
+	/* make the inode look hashed for the writeback code */
+	hlist_add_fake(&inode->i_hash);
 
 
 	inode->i_mode	= ip->i_d.di_mode;
 	inode->i_mode	= ip->i_d.di_mode;
 	inode->i_nlink	= ip->i_d.di_nlink;
 	inode->i_nlink	= ip->i_d.di_nlink;