Bug 171712 - A NFS export mounted using version 4 and TCP shows up as UDP in /proc/mounts
A NFS export mounted using version 4 and TCP shows up as UDP in /proc/mounts
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: kernel (Show other bugs)
4.0
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jeff Layton
Brian Brock
:
Depends On:
Blocks: 430698
  Show dependency treegraph
 
Reported: 2005-10-25 11:13 EDT by Vinu K
Modified: 2010-10-21 23:37 EDT (History)
4 users (show)

See Also:
Fixed In Version: RHSA-2008-0665
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-07-24 15:10:50 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Proposed patch (1.03 KB, patch)
2005-11-01 11:49 EST, Peter Staubach
no flags Details | Diff
upstream kernel patch -- show correct options for nfsv4 (1.52 KB, patch)
2007-07-20 07:36 EDT, Jeff Layton
no flags Details | Diff
patch -- remove redundant protocol option from /proc/mounts (928 bytes, patch)
2007-07-23 07:54 EDT, Jeff Layton
no flags Details | Diff
updated patch -- add the option back, but correct it (1.49 KB, patch)
2007-09-17 09:11 EDT, Jeff Layton
no flags Details | Diff

  None (edit)
Description Vinu K 2005-10-25 11:13:20 EDT
Description of problem:

A NFS export mounted using version 4 and TCP shows up as UDP in /proc/mounts

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


How reproducible:
Always

Steps to Reproduce:

[root@dhcp37-72 tmp]# uname -r
2.6.9-22.EL
[root@dhcp37-72 tmp]# mount -t nfs4 -o proto=tcp dhcp37-74:/ rhel-4/
[root@dhcp37-72 tmp]# mount -t nfs4
dhcp37-74:/ on /tmp/rhel-4 type nfs4 (rw,proto=tcp,addr=172.16.37.74)
[root@dhcp37-72 tmp]# grep nfs4 /proc/mounts
dhcp37-74:/ /tmp/rhel-4 nfs4
rw,v4,rsize=32768,wsize=32768,hard,intr,udp,nolock,addr=dhcp37-74 0 0
[root@dhcp37-72 tmp]# netstat -tn
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 172.16.37.72:800            172.16.37.74:2049          
ESTABLISHED

Actual results:
/proc/mounts shows that UDP is used

Expected results:
/proc/mounts should show TCP

Additional info:
Comment 3 Peter Staubach 2005-11-01 11:49:09 EST
Created attachment 120611 [details]
Proposed patch
Comment 5 Jeff Layton 2007-07-20 07:32:55 EDT
Actually, it looks like upstream fixed this with a kernel patch. We have most of
the patch in RHEL4 already, but are missing the delta that removes ",udp" from
the output. Too late for 4.6, we'll try for 4.7.
Comment 6 Jeff Layton 2007-07-20 07:36:40 EDT
Created attachment 159643 [details]
upstream kernel patch -- show correct options for nfsv4

This is the patch that went upstream. We already have all but the first delta
that removes this line:

		{ NFS_MOUNT_TCP, ",tcp", ",udp" },

The question is, will removing this break anything in userspace? I tend to
think not, but maybe it's better to just fix it so that these strings are still
present, but correct...
Comment 7 RHEL Product and Program Management 2007-07-20 07:38:26 EDT
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.
Comment 8 Jeff Layton 2007-07-23 07:54:07 EDT
Created attachment 159776 [details]
patch -- remove redundant protocol option from /proc/mounts

This pulls in the missing delta from the earlier patch. This would bring us
into line with upstream, but I suppose there's a chance that this could break
applications that are looking for 'tcp' or 'udp' alone as an option.

I'll propose this first, but if it's deemed to risky I'll fall back and change
it to keep the old option (but fix it).
Comment 9 Jeff Layton 2007-07-31 11:13:48 EDT
Looks like umount actually looks for a 'tcp' or 'udp' mount opt. Before I can
propose this I'll need to check that hasmntopt(...,"udp") will still match for
"proto=udp".
Comment 10 Jeff Layton 2007-09-17 09:11:57 EDT
Created attachment 197391 [details]
updated patch -- add the option back, but correct it

This patch is similar to the last one, but also adds an extra ,tcp or ,udp
option in addition to the proto= option. At this late date, I'd hate to break
anything in userspace that's depending on seeing this option in /proc/mounts
and correcting it is fairly trivial.
Comment 14 Martin Jenner 2008-01-16 16:09:01 EST
QE ack for RHEL 4.7
Comment 15 Vivek Goyal 2008-01-22 19:13:50 EST
Committed in 68.8
Comment 19 errata-xmlrpc 2008-07-24 15:10:50 EDT
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2008-0665.html

Note You need to log in before you can comment on or make changes to this bug.