|
@@ -683,8 +683,6 @@ EXPORT_SYMBOL(dget_parent);
|
|
|
/**
|
|
|
* d_find_alias - grab a hashed alias of inode
|
|
|
* @inode: inode in question
|
|
|
- * @want_discon: flag, used by d_splice_alias, to request
|
|
|
- * that only a DISCONNECTED alias be returned.
|
|
|
*
|
|
|
* If inode has a hashed alias, or is a directory and has any alias,
|
|
|
* acquire the reference to alias and return it. Otherwise return NULL.
|
|
@@ -693,10 +691,9 @@ EXPORT_SYMBOL(dget_parent);
|
|
|
* of a filesystem.
|
|
|
*
|
|
|
* If the inode has an IS_ROOT, DCACHE_DISCONNECTED alias, then prefer
|
|
|
- * any other hashed alias over that one unless @want_discon is set,
|
|
|
- * in which case only return an IS_ROOT, DCACHE_DISCONNECTED alias.
|
|
|
+ * any other hashed alias over that.
|
|
|
*/
|
|
|
-static struct dentry *__d_find_alias(struct inode *inode, int want_discon)
|
|
|
+static struct dentry *__d_find_alias(struct inode *inode)
|
|
|
{
|
|
|
struct dentry *alias, *discon_alias;
|
|
|
|
|
@@ -708,7 +705,7 @@ again:
|
|
|
if (IS_ROOT(alias) &&
|
|
|
(alias->d_flags & DCACHE_DISCONNECTED)) {
|
|
|
discon_alias = alias;
|
|
|
- } else if (!want_discon) {
|
|
|
+ } else {
|
|
|
__dget_dlock(alias);
|
|
|
spin_unlock(&alias->d_lock);
|
|
|
return alias;
|
|
@@ -739,7 +736,7 @@ struct dentry *d_find_alias(struct inode *inode)
|
|
|
|
|
|
if (!list_empty(&inode->i_dentry)) {
|
|
|
spin_lock(&inode->i_lock);
|
|
|
- de = __d_find_alias(inode, 0);
|
|
|
+ de = __d_find_alias(inode);
|
|
|
spin_unlock(&inode->i_lock);
|
|
|
}
|
|
|
return de;
|
|
@@ -2481,7 +2478,7 @@ struct dentry *d_materialise_unique(struct dentry *dentry, struct inode *inode)
|
|
|
struct dentry *alias;
|
|
|
|
|
|
/* Does an aliased dentry already exist? */
|
|
|
- alias = __d_find_alias(inode, 0);
|
|
|
+ alias = __d_find_alias(inode);
|
|
|
if (alias) {
|
|
|
actual = alias;
|
|
|
write_seqlock(&rename_lock);
|