ceph: LOOKUP_OPEN is set only when it's the last component

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2011-06-25 21:43:56 -04:00
parent 5c0f360b08
commit a127e0af59

View file

@ -566,7 +566,6 @@ static struct dentry *ceph_lookup(struct inode *dir, struct dentry *dentry,
/* open (but not create!) intent? */ /* open (but not create!) intent? */
if (nd && if (nd &&
(nd->flags & LOOKUP_OPEN) && (nd->flags & LOOKUP_OPEN) &&
(nd->flags & LOOKUP_CONTINUE) == 0 && /* only open last component */
!(nd->intent.open.flags & O_CREAT)) { !(nd->intent.open.flags & O_CREAT)) {
int mode = nd->intent.open.create_mode & ~current->fs->umask; int mode = nd->intent.open.create_mode & ~current->fs->umask;
return ceph_lookup_open(dir, dentry, nd, mode, 1); return ceph_lookup_open(dir, dentry, nd, mode, 1);