diff mbox

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

Message ID 20160329140244.GV17997@ZenIV.linux.org.uk (mailing list archive)
State New, archived
Headers show

Commit Message

Al Viro March 29, 2016, 2:02 p.m. UTC
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?

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Arend Van Spriel March 29, 2016, 7:17 p.m. UTC | #1
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@broadcom.com>

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);
>  	}
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Junichi Nomura March 29, 2016, 10:36 p.m. UTC | #2
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 <arend@broadcom.com>

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

Tested-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
diff mbox

Patch

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