Bug 1353680

Summary: NFSv4 export of "/" doesn't respect "crossmnt" export option
Product: Red Hat Enterprise Linux 7 Reporter: Steve Dickson <steved>
Component: nfs-utilsAssignee: Steve Dickson <steved>
Status: CLOSED ERRATA QA Contact: Yongcheng Yang <yoyang>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 7.3CC: bfields, dwysocha, eguan, raarora, steved, yoyang
Target Milestone: rcKeywords: Patch, Reproducer
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: nfs-utils-1.3.0-0.31.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1331207 Environment:
Last Closed: 2016-11-04 05:04:16 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:
Bug Depends On: 1331207    
Bug Blocks:    
Attachments:
Description Flags
The back ported patches none

Comment 1 Steve Dickson 2016-07-07 17:04:16 UTC
These are the needed commits

commit 0f1f4e7278c1bc93d54da1026dfe484f27bcd873
Author: NeilBrown <neilb>
Date:   Thu Feb 26 14:10:35 2015 -0500

    exports.man: improve documentation of 'nohide' and 'crossmnt'

commit 1e4a4c3816ca5a1e1a345117a201d9cc6c468beb
Author: NeilBrown <neilb>
Date:   Wed Feb 25 16:47:56 2015 -0500

    mountd: fix next_mnt handling for "/"

commit 78240c41be17bd20d5fb5b70b6f470d8e779adee
Author: Vivek Trivedi <t.vivek>
Date:   Wed Sep 16 11:14:03 2015 -0400

    mountd: fix mount issue due to comparison with uninitialized uuid

Comment 3 Steve Dickson 2016-07-07 17:10:21 UTC
Created attachment 1177399 [details]
The back ported patches

Comment 7 Yongcheng Yang 2016-07-19 03:42:54 UTC
Also have checked the man page update.

[root@ibm-x3250m4-07 ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.31.el7.x86_64
[root@ibm-x3250m4-07 ~]# man exports | col -b | sed -n '/nohide/,/no_subtree_check/p' 
       nohide This option is based on the option of the same name provided in IRIX NFS.	 Normally, if a server exports two filesystems	one  of
	      which  is mounted on the other, then the client will have to mount both filesystems explicitly to get access to them.  If it just
	      mounts the parent, it will see an empty directory at the place where the other filesystem is mounted.  That filesystem  is  "hid‐
	      den".

	      Setting the nohide option on a filesystem causes it not to be hidden, and an appropriately authorised client will be able to move
	      from the parent to that filesystem without noticing the change.

	      However, some NFS clients do not cope well with this situation as, for instance, it is then possible for two  files  in  the  one
	      apparent filesystem to have the same inode number.

	      The  nohide option is currently only effective on single host exports.  It does not work reliably with netgroup, subnet, or wild‐
	      card exports.

	      This option can be very useful in some situations, but it should be used with due care, and only after confirming that the client
	      system copes with the situation effectively.

	      The option can be explicitly disabled for NFSv2 and NFSv3 with hide.

	      This  option is not relevant when NFSv4 is use.  NFSv4 never hides subordinate filesystems.  Any filesystem that is exported will
	      be visible where expected when using NFSv4.

       crossmnt
	      This option is similar to nohide but it makes it possible for clients to access all filesystems mounted on  a  filesystem	 marked
	      with crossmnt.  Thus when a child filesystem "B" is mounted on a parent "A", setting crossmnt on "A" has a similar effect to set‐
	      ting "nohide" on B.

	      With nohide the child filesystem needs to be explicitly exported.	 With crossmnt it need not.  If a child of a crossmnt  file  is
	      not  explicitly exported, then it will be implicitly exported with the same export options as the parent, except for fsid=.  This
	      makes it impossible to not export a child of a crossmnt filesystem.  If some but not all subordinate filesystems of a parent  are
	      to be exported, then they must be explicitly exported and the parent should not have crossmnt set.

	      The nocrossmnt option can explictly disable crossmnt if it was previously set.  This is rarely useful.

       no_subtree_check
[root@ibm-x3250m4-07 ~]#

Comment 8 Yongcheng Yang 2016-07-19 03:46:39 UTC
Move to VERIFIED as comment 6 and comment 7.
And will continue to run the automatic case.

Comment 10 errata-xmlrpc 2016-11-04 05:04:16 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.

https://rhn.redhat.com/errata/RHBA-2016-2383.html