Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 257343
b: refs/heads/master
c: 49084c3
h: refs/heads/master
i:
  257341: 33a9685
  257339: b9fdf0b
  257335: 99f6bb4
  257327: 9d36d27
  257311: 50c208c
  257279: 0a5d2c5
v: v3
  • Loading branch information
Al Viro committed Jul 20, 2011
1 parent 2454203 commit 8efaec2
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8aeb376ca0fe61038166c3b8243c678addb80abf
refs/heads/master: 49084c3bb2055c401f3493c13edae14d49128ca0
11 changes: 3 additions & 8 deletions trunk/fs/namei.c
Original file line number Diff line number Diff line change
Expand Up @@ -664,7 +664,7 @@ static int follow_automount(struct path *path, unsigned flags,
/* We don't want to mount if someone supplied AT_NO_AUTOMOUNT
* and this is the terminal part of the path.
*/
if ((flags & LOOKUP_NO_AUTOMOUNT) && !(flags & LOOKUP_CONTINUE))
if ((flags & LOOKUP_NO_AUTOMOUNT) && !(flags & LOOKUP_PARENT))
return -EISDIR; /* we actually want to stop here */

/* We want to mount if someone is trying to open/create a file of any
Expand All @@ -676,7 +676,7 @@ static int follow_automount(struct path *path, unsigned flags,
* appended a '/' to the name.
*/
if (!(flags & LOOKUP_FOLLOW) &&
!(flags & (LOOKUP_CONTINUE | LOOKUP_DIRECTORY |
!(flags & (LOOKUP_PARENT | LOOKUP_DIRECTORY |
LOOKUP_OPEN | LOOKUP_CREATE)))
return -EISDIR;

Expand All @@ -695,7 +695,7 @@ static int follow_automount(struct path *path, unsigned flags,
* the path being looked up; if it wasn't then the remainder of
* the path is inaccessible and we should say so.
*/
if (PTR_ERR(mnt) == -EISDIR && (flags & LOOKUP_CONTINUE))
if (PTR_ERR(mnt) == -EISDIR && (flags & LOOKUP_PARENT))
return -EREMOTE;
return PTR_ERR(mnt);
}
Expand Down Expand Up @@ -1281,7 +1281,6 @@ static int link_path_walk(const char *name, struct nameidata *nd)
{
struct path next;
int err;
unsigned int lookup_flags = nd->flags;

while (*name=='/')
name++;
Expand All @@ -1295,8 +1294,6 @@ static int link_path_walk(const char *name, struct nameidata *nd)
unsigned int c;
int type;

nd->flags |= LOOKUP_CONTINUE;

err = may_lookup(nd);
if (err)
break;
Expand Down Expand Up @@ -1358,8 +1355,6 @@ static int link_path_walk(const char *name, struct nameidata *nd)
/* here ends the main loop */

last_component:
/* Clear LOOKUP_CONTINUE iff it was previously unset */
nd->flags &= lookup_flags | ~LOOKUP_CONTINUE;
nd->last = this;
nd->last_type = type;
return 0;
Expand Down
1 change: 0 additions & 1 deletion trunk/include/linux/namei.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ enum {LAST_NORM, LAST_ROOT, LAST_DOT, LAST_DOTDOT, LAST_BIND};
*/
#define LOOKUP_FOLLOW 0x0001
#define LOOKUP_DIRECTORY 0x0002
#define LOOKUP_CONTINUE 0x0004

#define LOOKUP_PARENT 0x0010
#define LOOKUP_REVAL 0x0020
Expand Down

0 comments on commit 8efaec2

Please sign in to comment.