Bug 152982

Summary: fail to mount nfs4 servers
Product: Red Hat Enterprise Linux 4 Reporter: Bill Peck <bpeck>
Component: kernelAssignee: David Howells <dhowells>
Status: CLOSED ERRATA QA Contact: Brian Brock <bbrock>
Severity: high Docs Contact:
Priority: medium    
Version: 4.0CC: davej, kzak, sct, steved, twoerner
Target Milestone: ---   
Target Release: ---   
Hardware: powerpc   
OS: Linux   
Whiteboard:
Fixed In Version: RHSA-2005-514 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-10-05 12:55:54 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: 156322    
Attachments:
Description Flags
Add 32-bit compatibilty for NFS mount none

Description Bill Peck 2005-03-31 17:20:53 UTC
Description of problem:

I get the following error when trying to mount an nfs version 4 server:

mount -t nfs4 sol10.boston.redhat.com:/export/home/tmp /mnt
mount: Bad address

I get the same if I try with the IP address.

Mounting the same server with -t nfs works fine.

Both ppc64 and ppc64iseries show this problem. All other arches using the same
kernel versions work.

Version-Release number of selected component (if applicable):
2.6.9-6.37.EL
AND
2.6.9-6.16.EL

How reproducible:
Everytime

Comment 1 David Howells 2005-04-11 10:27:11 UTC
Have you tried stracing mount to see what that shows? 

Comment 2 Steve Dickson 2005-04-15 11:18:32 UTC
it turns out the the -m64 compile and link flags is needed to fix the problem since
ppc64 machines use a 32-bit userspaces by default (unlike  x86_64 which use
64-bit userspaces by default).

But when I added -m64 flag, it broke the linking of mkswap because it links with
(when it exist)
libuuid.so which is not 64bit compatible...

cc -s -m64 -o mkswap mkswap.o -luuid
/usr/bin/ld: skipping incompatible
/usr/lib/gcc/ppc64-redhat-linux/3.4.3/../../../libuuid.so when searching for -luuid
/usr/bin/ld: skipping incompatible
/usr/lib/gcc/ppc64-redhat-linux/3.4.3/../../../libuuid.a when searching for -luuid
/usr/bin/ld: skipping incompatible /usr/lib/libuuid.so when searching for -luuid
/usr/bin/ld: skipping incompatible /usr/lib/libuuid.a when searching for -luuid
/usr/bin/ld: cannot find -luuid
collect2: ld returned 1 exit status

Now when I set HAVE_UUID=no and added the -m64 flag everything
compiles and works....

Since Karel says the libuuid lib is need to mkswap for correctly,
the question is what can be done to e2fsprogs-devel to allow
apps using the  -m64 flag to link? Stephen would you have
a suggestion?



Comment 3 Stephen Tweedie 2005-04-15 11:26:06 UTC
For e2fsprogs build issues, please ask Thomas Woerner.  Adding him to CC.

Comment 4 Thomas Woerner 2005-04-15 12:27:24 UTC
You have to install the ppc64 e2fsprogs devel package. BTW: We do not shop it.

Comment 5 David Howells 2005-04-15 12:49:42 UTC
Better still, in the kernel fs/compat.c's compat_sys_mount() should be updated 
to handle NFS4 as well. 

Comment 6 David Howells 2005-04-15 14:56:46 UTC
Created attachment 113228 [details]
Add 32-bit compatibilty for NFS mount

This patch adds a 32-bit compatibility handler for NFS4 mount data.

Comment 11 Red Hat Bugzilla 2005-10-05 12:55:54 UTC
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 the 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-2005-514.html