Bug 806333 - mount -t nfs4 server:/export /mnt fails with mount.nfs4: No such device
mount -t nfs4 server:/export /mnt fails with mount.nfs4: No such device
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: nfs-utils (Show other bugs)
17
Unspecified Unspecified
high Severity high
: ---
: ---
Assigned To: Steve Dickson
Fedora Extras Quality Assurance
AcceptedNTH
:
: 815829 (view as bug list)
Depends On:
Blocks: F17-accepted/F17FinalFreezeExcept
  Show dependency treegraph
 
Reported: 2012-03-23 09:15 EDT by Steve Dickson
Modified: 2012-05-15 01:25 EDT (History)
17 users (show)

See Also:
Fixed In Version: nfs-utils-1.2.5-15.fc17
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-05-15 01:25:53 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)
Patch to have nfs-utils install the appropriate nfs4 modalias file (2.03 KB, text/plain)
2012-04-26 15:35 EDT, Josh Boyer
no flags Details

  None (edit)
Description Steve Dickson 2012-03-23 09:15:07 EDT
Description of problem:
Using the -t nfs4 mount option on NFS mount fails with ENODEV
because the nfs kernel module is not being loaded. 

Doing a modprobe nfs before the mount -t nfs4 causes 
the mount to succeed.

Version-Release number of selected component (if applicable):
kernel-3.3.0-1.fc17.x86_64
kmod-7-1.fc17.x86_64
nfs-utils-1.2.5-13.fc17.x86_64

How reproducible:
everytime

Steps to Reproduce:
1. mount -t nfs4 server:/export /mnt
2.
3.
  

Additional info:
At this point its not clear whether this is a kernel, kmod or nfs-utils bug.
So since kmod is the new kid on the block lets start with it.
Comment 1 Braden McDaniel 2012-04-25 00:39:27 EDT
Seeing this with:

kernel-3.3.2-8.fc17.x86_64
kmod-7-1.fc17.x86_64
nfs-utils-1.2.5-14.fc17.x86_64
Comment 2 Braden McDaniel 2012-04-25 00:42:56 EDT
*** Bug 815829 has been marked as a duplicate of this bug. ***
Comment 3 Josh Boyer 2012-04-25 20:30:38 EDT
This seems to basically boil down to a lack of an alias for 'nfs4' to 'nfs' because the kmod package doesn't ship /etc/modprobe.d/dist.conf.

Long version:

Mount eventually calls /sbin/mount.nfs4, which does some wicked awesome socket-fu and then just calls the mount(2) syscall with "nfs4" as the fs_type parameter.  The kernel goes off and tries to find said filesystem and can't because it's not loaded yet.  So it eventually boils down to request_module with "nfs4" being the module name.  That gets handled by modprobe.

On F16, module-init-tools ships /etc/modprobe.d/dist.conf which includes:

alias nfs4 nfs

so modprobe happily goes off and does all the wonderful things it does to load that, including processing any and all dependencies for the nfs module.  It gets loaded, the kernel can find the filesystem now, and you're off running into other proverbial problems with NFS that have nothing to do with mounting it.

On F17, we ship kmod instead of module-init-tools.  This is actually really cool, but I won't digress that much into why.  However, despite the coolness of it, kmod can't read minds.  Since there actually _isn't_ a real module named 'nfs4.ko' and the package isn't shipping the dist.conf file with a crap-load of aliases, it gets called with 'nfs4' and basically looks at you sideways and says "whatchu talkin' bout, Willis?"  No NFS for you.

There are a couple of different solutions here.

1) Ship something with the alias again.  Simplest, though I don't know why kmod isn't shipping dist.conf at all.

2) Somehow use MODULE_ALIAS in nfs.ko to alias it to nfs4.ko so the depmod magic happens and it works.  That's untested but seems viable.

3) Make nfs-utils/util-linux magically know that 'nfs4' means 'nfs' and load the module.  Honestly, that's a crappy solution but I listed it for completeness.
Comment 4 Josh Boyer 2012-04-25 20:41:20 EDT
OK, so 725841 is why dist.conf isn't shipped in kmod (via being dropped in module-init-tools).

So either kmod or nfs-utils needs to ship a nfs.conf file that has the alias for nfs4->nfs, or option #2 above needs to happen.

Maybe option 1 as a stop gap, with option #2 being long term.
Comment 5 Josh Boyer 2012-04-26 15:35:41 EDT
Created attachment 580534 [details]
Patch to have nfs-utils install the appropriate nfs4 modalias file

OK, since kmod isn't really specific to a single module, I decided to fix this in nfs-utils.

Steve, how's this look to you?  If you approve, I can commit and build it for F17 and rawhide.
Comment 6 Josh Boyer 2012-04-26 16:29:32 EDT
(In reply to comment #5)
> Created attachment 580534 [details]
> Patch to have nfs-utils install the appropriate nfs4 modalias file
> 
> OK, since kmod isn't really specific to a single module, I decided to fix this
> in nfs-utils.
> 
> Steve, how's this look to you?  If you approve, I can commit and build it for
> F17 and rawhide.

Small correction needed to the patch, which is to mkdir -p the directory the alias file is installed in in the %install section.
Comment 7 Josh Boyer 2012-04-27 09:22:22 EDT
I tested this too, and it works as well:

http://thread.gmane.org/gmane.linux.kernel/1288720

if upstream is quick about it, maybe the nfs-utils patch won't be needed.
Comment 8 Josh Boyer 2012-04-27 12:07:36 EDT
(In reply to comment #7)
> I tested this too, and it works as well:
> 
> http://thread.gmane.org/gmane.linux.kernel/1288720
> 
> if upstream is quick about it, maybe the nfs-utils patch won't be needed.

Upstream disliked the kernel patch.

I've committed the patch to nfs-utils to F17 and master and started a build for each.
Comment 9 Orion Poplawski 2012-05-08 14:26:25 EDT
Can we get an F17 update ASAP please?  1.2.5-15.fc17 works for me.
Comment 10 Fedora Update System 2012-05-08 15:25:07 EDT
nfs-utils-1.2.5-15.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/nfs-utils-1.2.5-15.fc17
Comment 11 Adam Williamson 2012-05-08 15:32:48 EDT
Proposing as NTH, this seems like something we ought to fix for final.



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers
Comment 12 Fedora Update System 2012-05-09 12:09:32 EDT
Package nfs-utils-1.2.5-15.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing nfs-utils-1.2.5-15.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-7499/nfs-utils-1.2.5-15.fc17
then log in and leave karma (feedback).
Comment 13 Orion Poplawski 2012-05-10 16:00:32 EDT
I *strongly* support the NTH effort here.  We mount nfs directories in %post and this is failing currently with TC4.  I'm sure we could setup the module aliases there too, but this would be a nasty surprise for a lot of people I suspect.  Having it in updates won't help the installer (at least it didn't for me), it needs to be in the installer image.
Comment 14 Dennis Gilmore 2012-05-11 22:19:06 EDT
+1 NTH
Comment 15 Adam Williamson 2012-05-11 23:45:25 EDT
we have +3 NTH votes above (me, Orion, Dennis) so accepting as NTH.



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers
Comment 16 Bruno Wolff III 2012-05-13 09:34:04 EDT
+1 NTH as this seems like it could cause install issues in some cases.
Comment 17 Fedora Update System 2012-05-15 01:25:53 EDT
nfs-utils-1.2.5-15.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.

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