]> git.baikalelectronics.ru Git - kernel.git/commit
xfs: rcu free inodes
authorDave Chinner <dchinner@redhat.com>
Thu, 16 Dec 2010 05:41:39 +0000 (16:41 +1100)
committerDave Chinner <david@fromorbit.com>
Thu, 16 Dec 2010 05:41:39 +0000 (16:41 +1100)
commita6c2b7059d614e08d269d4c10c74444310578a22
treeb949bfa2c4588a84f1acf5d84e2fd7b41eab5a2f
parentd8b6539b3bba3be95af904f38e0c9b1a1d376968
xfs: rcu free inodes

Introduce RCU freeing of XFS inodes so that we can convert lookup
traversals to use rcu_read_lock() protection. This patch only
introduces the RCU freeing to minimise the potential conflicts with
mainline if this is merged into mainline via a VFS patchset. It
abuses the i_dentry list for the RCU callback structure because the
VFS patches make this a union so it is safe to use like this and
simplifies and merge issues.

This patch uses basic RCU freeing rather than SLAB_DESTROY_BY_RCU.
The later lookup patches need the same "found free inode" protection
regardless of the RCU freeing method used, so once again the RCU
freeing method can be dealt with apprpriately at merge time without
affecting any other code.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
fs/xfs/xfs_iget.c