Re: [REGRESSION 4.6-rc1] NFS mounts (using autofs) failing

From: Arend van Spriel
Date: Tue Mar 29 2016 - 15:17:16 EST




On 29-03-16 16:02, Al Viro wrote:
> On Tue, Mar 29, 2016 at 01:11:55PM +0200, Arend Van Spriel wrote:
>> Hi Al,
>>
>> Moved to 4.6-rc1 and found NFS mounts were failing moving to the new
>> kernel. The NFS mounts are done using autofs. Below is the bisect log
>> and attached the kernel .config file. Let me know if you need any other
>> information.
>
> AFAICS, it's the same one that got reported yesterday by Junichi Nomura.
> Folks, could you check if the delta below fixes it?

Works for me so you may add

Tested-by: Arend van Spriel <arend@xxxxxxxxxxxx>

Regards,
Arend

> diff --git a/fs/namei.c b/fs/namei.c
> index 3498d53..0d80c72 100644
> --- a/fs/namei.c
> +++ b/fs/namei.c
> @@ -1740,15 +1740,17 @@ static int walk_component(struct nameidata *nd, int flags)
> nd->flags);
> if (IS_ERR(path.dentry))
> return PTR_ERR(path.dentry);
> - if (unlikely(d_is_negative(path.dentry))) {
> - dput(path.dentry);
> - return -ENOENT;
> - }
> +
> path.mnt = nd->path.mnt;
> err = follow_managed(&path, nd);
> if (unlikely(err < 0))
> return err;
>
> + if (unlikely(d_is_negative(path.dentry))) {
> + path_to_nameidata(&path, nd);
> + return -ENOENT;
> + }
> +
> seq = 0; /* we are already out of RCU mode */
> inode = d_backing_inode(path.dentry);
> }
>