summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
e236c28)
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;
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;
!(flags & LOOKUP_CONTINUE || (it->it_op & (IT_CHDIR | IT_OPEN))))
return rc;
}
LASSERT(dentry->d_inode != NULL);
}
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);
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 &&
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);
(flags & LOOKUP_CONTINUE || (it->it_op & (IT_CHDIR | IT_OPEN))))
ll_dir_process_mount_object(dentry, nd->mnt);