xfs
[Top] [All Lists]

[PATCH 3/3] xfs: use hlist_add_fake

To: xfs@xxxxxxxxxxx
Subject: [PATCH 3/3] xfs: use hlist_add_fake
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Sat, 6 Nov 2010 07:43:08 -0400
In-reply-to: <20101106114226.GA25395@xxxxxxxxxxxxx>
References: <20101106114226.GA25395@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
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@xxxxxx>

Index: linux-2.6/fs/xfs/linux-2.6/xfs_iops.c
===================================================================
--- linux-2.6.orig/fs/xfs/linux-2.6/xfs_iops.c  2010-11-05 19:17:18.511013308 
+0100
+++ linux-2.6/fs/xfs/linux-2.6/xfs_iops.c       2010-11-05 19:23:31.772029658 
+0100
@@ -762,7 +762,8 @@ xfs_setup_inode(
        inode->i_state = I_NEW;
 
        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_nlink  = ip->i_d.di_nlink;

<Prev in Thread] Current Thread [Next in Thread>