Bug 1269042

Summary: NFS V4 mounts of Solaris servers no longer work in FC22 RFS4_COMPOUND decode issue
Product: [Fedora] Fedora Reporter: Ian Donaldson <idonaldson0>
Component: kernelAssignee: nfs-maint
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 22CC: bfields, gansalmon, itamar, jonathan, kernel-maint, madhu.chinakonda, mchehab
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-10-06 14:53:54 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ian Donaldson 2015-10-06 06:28:49 UTC
Description of problem:

As of FC22 I can no longer mount my Solaris 10 NFS servers from Fedora
using the default mount options.

The Solaris NFS server complains of:

Oct  5 23:54:41 palms nfssrv: [ID 474727 kern.notice] NOTICE: Failed to decode arguments for NFS version 4 procedure RFS4_COMPOUND client hostname.domain (192.168.41.186)

This worked fine in FC21 and prior.


Version-Release number of selected component (if applicable):

kernel-4.1.6-100.fc21.x86_64 and prior works fine
kernel-4.1.6-201.fc22.x86_64 and later doesn't


How reproducible:

100%


Steps to Reproduce:
1.  palais# mount -r palms:/app/01/kick /x
2.
3.

Actual results:

mount.nfs: access denied by server while mounting palms:/app/01/kick


palms has this in the kernel log:

Oct  6 06:20:37 palms nfssrv: [ID 474727 kern.notice] NOTICE: Failed to decode arguments for NFS version 4 procedure RFS4_COMPOUND client palais.domain (192.168.41.191) 



Expected results:

success

Additional info:

Workaround is to use -vers=3 option, which works fine.

tcpdump of fc22 attempt shows the request that is failing has opcode EXCHANGE_ID

on fc21, the first op sent is SETCLIENTID, which gets a SETCLIENTID_CONFIRM 
response.

Comment 1 J. Bruce Fields 2015-10-06 14:53:54 UTC
See bz 1226387 for workarounds (or, if they don't work, reopen this bug so we can verify that this really is a dup).

Also, the bug is on the Solaris side, so if you have some way to lean on them to release the fix, please do.

*** This bug has been marked as a duplicate of bug 1226387 ***