tree e6cc564fc18e012ed2bdd76ee5e5d0785c310c50
parent ea7d4c046ba6e2c6135c98721f4f09efd1adaabc
author Al Viro <viro@zeniv.linux.org.uk> 1464567210 -0400
committer Al Viro <viro@zeniv.linux.org.uk> 1464568102 -0400

unify dentry_iput() and dentry_unlink_inode()

There is a lot of duplication between dentry_unlink_inode() and dentry_iput().
The only real difference is that dentry_unlink_inode() bumps ->d_seq and
dentry_iput() doesn't.  The argument of the latter is known to have been
unhashed, so anybody who might've found it in RCU lookup would already be
doomed to a ->d_seq mismatch.  And we want to avoid pointless smp_rmb() there.

This patch makes dentry_unlink_inode() bump ->d_seq only for hashed dentries.
It's safe (d_delete() calls that sucker only if we are holding the only
reference to dentry, so rehash is not going to happen) and it allows
to use dentry_unlink_inode() in __dentry_kill() and get rid of dentry_iput().

The interesting question here is profiling; it *is* a hot path, and extra
conditional jumps in there might or might not be painful.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
