Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 105470
b: refs/heads/master
c: 26e81b3
h: refs/heads/master
v: v3
  • Loading branch information
Ian Kent authored and Linus Torvalds committed Jul 24, 2008
1 parent c2ca9ca commit b9fa277
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 4 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: ff9cd499d6258952385cb2f12e9a3c0908fd5786
refs/heads/master: 26e81b3142f1ba497d4cd0365c13661684b784ce
9 changes: 6 additions & 3 deletions trunk/fs/autofs4/root.c
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,8 @@ static int try_to_fill_dentry(struct dentry *dentry, int flags)
return status;
}
/* Trigger mount for path component or follow link */
} else if (flags & (TRIGGER_FLAGS | TRIGGER_INTENTS) ||
} else if (dentry->d_flags & DCACHE_AUTOFS_PENDING ||
flags & (TRIGGER_FLAGS | TRIGGER_INTENTS) ||
current->link_count) {
DPRINTK("waiting for mount name=%.*s",
dentry->d_name.len, dentry->d_name.name);
Expand Down Expand Up @@ -223,7 +224,8 @@ static void *autofs4_follow_link(struct dentry *dentry, struct nameidata *nd)

/* If it's our master or we shouldn't trigger a mount we're done */
lookup_type = nd->flags & (TRIGGER_FLAGS | TRIGGER_INTENTS);
if (oz_mode || !lookup_type)
if (oz_mode ||
!(lookup_type || dentry->d_flags & DCACHE_AUTOFS_PENDING))
goto done;

/* If an expire request is pending wait for it. */
Expand All @@ -242,7 +244,8 @@ static void *autofs4_follow_link(struct dentry *dentry, struct nameidata *nd)
* don't try to mount it again.
*/
spin_lock(&dcache_lock);
if (!d_mountpoint(dentry) && __simple_empty(dentry)) {
if (dentry->d_flags & DCACHE_AUTOFS_PENDING ||
(!d_mountpoint(dentry) && __simple_empty(dentry))) {
spin_unlock(&dcache_lock);

status = try_to_fill_dentry(dentry, 0);
Expand Down

0 comments on commit b9fa277

Please sign in to comment.