Bug 796352

Summary: NFS mounts fail against Windows 8 servers
Product: Red Hat Enterprise Linux 6 Reporter: Steve Dickson <steved>
Component: kernelAssignee: Steve Dickson <steved>
Status: CLOSED ERRATA QA Contact: Chao Ye <cye>
Severity: high Docs Contact:
Priority: high    
Version: 6.3CC: chorn, dhoward, eguan, jiali, jpallich, jwest, kzhang, nfs-maint, rwheeler, sforsber, yanwang
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: kernel-2.6.32-280.el6 Doc Type: Bug Fix
Doc Text:
On Red Hat Enterprise Linux 6, mounting an NFS export from a Windows 2012 server failed due to the fact that the Windows server contains support for the minor version 1 (v4.1) of the NFS version 4 protocol only, along with support for versions 2 and 3. The lack of the minor version 0 (v4.0) support caused Red Hat Enterprise Linux 6 clients to fail instead of rolling back to version 3 as expected. This update fixes this bug and mounting an NFS export works as expected.
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-21 06:03:32 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 832365, 857028, 861444, 883511, 883515, 891859, 891862    

Description Steve Dickson 2012-02-22 17:56:38 UTC
Description of problem:
With RHEL6.x, NFS mounts always fail against when mount an export on
a Windows 8 server.

The reason being, Windows 8 only support v4.1 and the RHEL6
client does not auto negotiate back to v3 as expected.

Note, The Windows 8 server does indeed return the correct
error NFS4ERR_MINOR_VERS_MISMATCH(10021).  

Version-Release number of selected component (if applicable):
Any and all RHEL6 releases.

How reproducible:
Always

Steps to Reproduce:
1. mount win8:/export /mnt

  
Actual results:
mount.nfs: mount system call failed

Expected results:
The mount to auto negotiate back to v3 and succeed.

Additional info:
Workarounds:
mount -o minorversion=1 # to used NFSv4.1 
mount -o v3             # to use v3
Set the 'Nfsvers=3' variable in the "[ Server "Server_Name" ]"
  section of the /etc/nfsmount.conf file 
An Example will be:
  [ Server "win8" ]
     Nfsvers=3

Comment 2 RHEL Program Management 2012-05-03 05:19:32 UTC
Since RHEL 6.3 External Beta has begun, and this bug remains
unresolved, it has been rejected as it is not proposed as
exception or blocker.

Red Hat invites you to ask your support representative to
propose this request, if appropriate and relevant, in the
next release of Red Hat Enterprise Linux.

Comment 3 Steve Dickson 2012-06-06 18:35:13 UTC
The patch that fixes the problem. Tested at the spring Bakeathon.

diff -up linux-2.6.32-278.el6.pnfsgetdevicelist.x86_64/fs/nfs/nfs4proc.c.orig linux-2.6.32-278.el6.pnfsgetdevicelist.x86_64/fs/nfs/nfs4proc.c
--- linux-2.6.32-278.el6.pnfsgetdevicelist.x86_64/fs/nfs/nfs4proc.c.orig	2012-06-05 16:47:18.000000000 -0400
+++ linux-2.6.32-278.el6.pnfsgetdevicelist.x86_64/fs/nfs/nfs4proc.c	2012-06-06 12:01:59.000000000 -0400
@@ -92,6 +92,8 @@ static int nfs4_map_errors(int err)
 	case -NFS4ERR_BADOWNER:
 	case -NFS4ERR_BADNAME:
 		return -EINVAL;
+	case -NFS4ERR_MINOR_VERS_MISMATCH:
+		return -EPROTONOSUPPORT;
 	default:
 		dprintk("%s could not handle NFSv4 error %d\n",
 				__func__, -err);

Comment 7 Jarod Wilson 2012-06-19 17:06:40 UTC
Patch(es) available on kernel-2.6.32-280.el6

Comment 11 Martin Prpič 2012-07-10 14:37:29 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
On Red Hat Enterprise Linux 6, mounting an NFS export from a Windows 2012 server failed due to the fact that the Windows server contains support for the minor version 1 (v4.1) of the NFS version 4 protocol only, along with support for versions 2 and 3. The lack of the minor version 0 (v4.0) support caused Red Hat Enterprise Linux 6 clients to fail instead of rolling back to version 3 as expected. This update fixes this bug and mounting an NFS export works as expected.

Comment 17 errata-xmlrpc 2013-02-21 06:03:32 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHSA-2013-0496.html