Only try to look for GNS mount objects inside of directories.
atomic_read(&de->d_count));
ll_lookup_finish_locks(it, de);
de->d_flags &= ~DCACHE_LUSTRE_INVALID;
- if (!(de->d_inode->i_mode & S_ISUID) ||
+ if (!((de->d_inode->i_mode & S_ISUID) &&S_ISDIR(de->d_inode->i_mode)) ||
!(flags & LOOKUP_CONTINUE || (it->it_op & (IT_CHDIR | IT_OPEN))))
return rc;
}
LASSERT(dentry->d_inode != NULL);
+ LASSERT(S_ISDIR(dentry->d_inode->i_mode));
LASSERT(lld != NULL);
sbi = ll_i2sbi(dentry->d_inode);
LASSERT(sbi != NULL);
if (nd &&
dentry->d_inode != NULL && dentry->d_inode->i_mode & S_ISUID &&
+ S_ISDIR(dentry->d_inode->i_mode) &&
(flags & LOOKUP_CONTINUE || (it->it_op & (IT_CHDIR | IT_OPEN))))
ll_dir_process_mount_object(dentry, nd->mnt);