afs: inode: Replace rcu_assign_pointer() with RCU_INIT_POINTER()
PATCH 1/1 afs: inode: Replace rcu_assign_pointer() with RCU_INIT_POINTER()
The use of "rcu_assign_pointer()" is NULLing out the pointer. According to RCU_INIT_POINTER()'s block comment:
"1. This use of RCU_INIT_POINTER() is NULLing out the pointer"
it is better to use it instead of rcu_assign_pointer() because it has a smaller overhead.
The following Coccinelle semantic patch was used:
@@
@@
- rcu_assign_pointer
+ RCU_INIT_POINTER
(..., NULL)
--- fs/afs/inode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
fs/afs/inode.c +1 -1
@@ -445,7 +445,7 @@ void afs_evict_inode(struct inode *inode)mutex_lock (&vnode->permits_lock); permits = vnode->permits; -rcu_assign_pointer (vnode->permits,NULL ); +RCU_INIT_POINTER (vnode->permits,NULL );mutex_unlock (&vnode->permits_lock);if (permits)call_rcu (&permits->rcu, afs_zap_permits);
Signature · 1 line
1.9.1
David Howells
maintainerI've applied these two patches, but one of them throws up a problem in Fengguang's magic auto-compilation thing.
David
Quoted 2 lines · David Howells
I've applied these two patches, but one of them throws up a problem in Fengguang's magic auto-compilation thing.
Hello, David,
I seem to have fat-fingered Fengguang's magic auto-compilation thing's email. (One of those mornings, I guess...) Could you please point me at it?
Thanx, Paul