Ian Kent <[EMAIL PROTECTED]> writes: > Signed-off-by: Ian Kent <[EMAIL PROTECTED]>
Reviewed-by: Jeff Moyer <[EMAIL PROTECTED]> Cheers, Jeff > > --- > > fs/autofs4/waitq.c | 17 ++++++++++++++--- > 1 files changed, 14 insertions(+), 3 deletions(-) > > > diff --git a/fs/autofs4/waitq.c b/fs/autofs4/waitq.c > index bcb6c52..35216d1 100644 > --- a/fs/autofs4/waitq.c > +++ b/fs/autofs4/waitq.c > @@ -328,9 +328,20 @@ int autofs4_wait(struct autofs_sb_info *sbi, struct > dentry *dentry, > if (sbi->catatonic) > return -ENOENT; > > - if (!dentry->d_inode && > - (sbi->type & (AUTOFS_TYPE_DIRECT | AUTOFS_TYPE_OFFSET))) > - return -ENOENT; > + if (!dentry->d_inode) { > + /* > + * A wait for a negative dentry is invalid for certain > + * cases. A direct or offset mount "always" has its mount > + * point directory created and so the request dentry must > + * be positive or the map key doesn't exist. The situation > + * is very similar for indirect mounts except only dentrys > + * in the root of the autofs file system may be negative. > + */ > + if (sbi->type & (AUTOFS_TYPE_DIRECT|AUTOFS_TYPE_OFFSET)) > + return -ENOENT; > + else if (!IS_ROOT(dentry->d_parent)) > + return -ENOENT; > + } > > name = kmalloc(NAME_MAX + 1, GFP_KERNEL); > if (!name) > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to [EMAIL PROTECTED] > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ _______________________________________________ autofs mailing list autofs@linux.kernel.org http://linux.kernel.org/mailman/listinfo/autofs