Bug 869400
Summary: | NFSv4 referrals fail if NFS server returns hostnames rather than IP addresses (nfs-utils part) | |||
---|---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Chuck Lever <chuck.lever> | |
Component: | nfs-utils | Assignee: | Steve Dickson <steved> | |
Status: | CLOSED ERRATA | QA Contact: | Rock Lee <xinli> | |
Severity: | medium | Docs Contact: | ||
Priority: | unspecified | |||
Version: | 6.5 | CC: | eguan, kzhang, xinli | |
Target Milestone: | rc | |||
Target Release: | --- | |||
Hardware: | All | |||
OS: | Linux | |||
Whiteboard: | ||||
Fixed In Version: | nfs-utils-1.2.3-33.el6 | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 873816 (view as bug list) | Environment: | ||
Last Closed: | 2013-02-21 10:55:48 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: | ||||
Bug Blocks: | 873816 |
Description
Chuck Lever
2012-10-23 19:23:24 UTC
Correction: the script is /sbin/nfs_cache_getent, not /usr/sbin/nfs_cache_getent. Following an NFSv4 referral containing a hostname location FAILS on kernel 2.6.32-279.9.1.el6.x86_64, even with the /sbin/nfs_cache_getent script installed. I confirmed the CONFIG_NFS_USE_LEGACY_DNS is set to "y" in this kernel's config. I used "git bisect" to find the point at which legacy DNS resolution starts failing. It is this commit (just before 2.6.37): commit c5b29f885afe890f953f7f23424045cdad31d3e4 Author: NeilBrown <neilb> Date: Thu Aug 12 16:55:22 2010 +1000 sunrpc: use seconds since boot in expiry cache This protects us from confusion when the wallclock time changes. We convert to and from wallclock when setting or reading expiry times. Also use seconds since boot for last_clost time. Signed-off-by: NeilBrown <neilb> Signed-off-by: J. Bruce Fields <bfields> Neil has proposed a fix, which I've tested. I will post a commit ID here when the fix is merged upstream. Let me recommend a way to test NFSv4 referral support. For EL6: 1. Set up a Linux NFS server with NFSv4.0 support enabled 2. Create several "refer=" exports (see exports(5)) in an exported directory - One refers to a working NFS export by hostname - One refers to a working NFS export by hostname (which has IPv4 and IPv6 addresses) - One refers to a working NFS export by a raw IPv4 address - One refers to a working NFS export by a raw IPv6 address - One refers to an export on an NFS server that is not available 3. Mount the exported directory via NFSv4.0 on the client under test 4. "cd" and "ls" commands should cause a successful submount in all but the final case As of v3.7-rc4, the Linus tree has a commit to address the regression. The commit is 8d96b10639fb4023 "NFS: fix bug in legacy DNS resolver." As a test, I've built and installed 2.6.32-279 with this fix applied, and NFSv4 referrals work as expected. GregKH reports he has applied this fix to stable trees 3.6.y, 3.4.y, and 3.0.y. Reproduced on VERSION nfs-utils-1.2.3-30.el6 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/RHBA-2013-0468.html |