2016-03-29 14:02:48

by Al Viro

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

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?

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);
}


2016-03-29 19:17:10

by Arend van Spriel

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



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 <[email protected]>

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);
> }
>

2016-03-29 22:37:01

by Junichi Nomura

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

On 03/30/16 04:17, Arend van Spriel wrote:
> On 29-03-16 16:02, Al Viro wrote:
>> On Tue, Mar 29, 2016 at 01:11:55PM +0200, Arend Van Spriel wrote:
>>> 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 <[email protected]>

Yes, that works for me, too. Thank you.

Tested-by: Jun'ichi Nomura <[email protected]>

--
Jun'ichi Nomura, NEC Corporation