Commit ac637746 authored by NeilBrown's avatar NeilBrown Committed by Greg Kroah-Hartman
Browse files

staging: lustre: llite: remove directory-specific code from ll_find_alias()



Now that ll_find_alias() is never called for directories,
we can remove code that only applies to directories.

Signed-off-by: default avatarNeilBrown <neilb@suse.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e9d4f0b9
Loading
Loading
Loading
Loading
+8 −18
Original line number Diff line number Diff line
@@ -380,21 +380,15 @@ void ll_i2gids(__u32 *suppgids, struct inode *i1, struct inode *i2)
}

/*
 * try to reuse three types of dentry:
 * 1. unhashed alias, this one is unhashed by d_invalidate (but it may be valid
 *    by concurrent .revalidate).
 * 2. INVALID alias (common case for no valid ldlm lock held, but this flag may
 *    be cleared by others calling d_lustre_revalidate).
 * 3. DISCONNECTED alias.
 * Try to reuse unhashed or invalidated dentries.
 */
static struct dentry *ll_find_alias(struct inode *inode, struct dentry *dentry)
{
	struct dentry *alias, *discon_alias, *invalid_alias;
	struct dentry *alias, *invalid_alias;

	if (hlist_empty(&inode->i_dentry))
		return NULL;

	discon_alias = NULL;
	invalid_alias = NULL;

	spin_lock(&inode->i_lock);
@@ -402,11 +396,7 @@ static struct dentry *ll_find_alias(struct inode *inode, struct dentry *dentry)
		LASSERT(alias != dentry);

		spin_lock(&alias->d_lock);
		if ((alias->d_flags & DCACHE_DISCONNECTED) &&
		    S_ISDIR(inode->i_mode))
			/* LASSERT(last_discon == NULL); LU-405, bz 20055 */
			discon_alias = alias;
		else if (alias->d_parent == dentry->d_parent	     &&
		if (alias->d_parent == dentry->d_parent	     &&
		    alias->d_name.hash == dentry->d_name.hash       &&
		    alias->d_name.len == dentry->d_name.len	 &&
		    memcmp(alias->d_name.name, dentry->d_name.name,
@@ -417,7 +407,7 @@ static struct dentry *ll_find_alias(struct inode *inode, struct dentry *dentry)
		if (invalid_alias)
			break;
	}
	alias = invalid_alias ?: discon_alias ?: NULL;
	alias = invalid_alias ?: NULL;
	if (alias) {
		spin_lock(&alias->d_lock);
		dget_dlock(alias);