Bug 422231 - contents of /proc/fs/nfsd missing
contents of /proc/fs/nfsd missing
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
All Linux
low Severity low
: ---
: ---
Assigned To: Jeff Layton
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2007-12-12 13:18 EST by Jeff Layton
Modified: 2007-12-12 15:55 EST (History)
3 users (show)

See Also:
Fixed In Version: kernel-2.6.24-0.83.rc5.fc9
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2007-12-12 15:55:14 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Jeff Layton 2007-12-12 13:18:52 EST
On recent rawhide kernels, the contents of /proc/fs/nfsd seem to be missing. The
filesystem is getting mounted according to /proc/mounts, but there are no
entries in it. This causes nfs serving to fail.

I've done a bisect search:

kernel-2.6.24-0.62.rc3.git5.fc9.x86_64 and before don't have the problem,
kernel-2.6.24-0.66.rc3.git7.fc9.x86_64 and after do.

Looking at a diff between the two codebases now to see if I can find what's
happened to cause this. The only changes I see under /fs between these two revs
is this:

diff -urN old/linux-2.6.23.noarch/fs/proc/generic.c
--- old/linux-2.6.23.noarch/fs/proc/generic.c   2007-12-03 15:29:24.000000000 -0500
+++ new/linux-2.6.23.noarch/fs/proc/generic.c   2007-12-12 13:09:05.000000000 -0500
@@ -374,9 +374,16 @@
        return 1;
+static int proc_revalidate_dentry(struct dentry *dentry, struct nameidata *nd)
+       d_drop(dentry);
+       return 0;
 static struct dentry_operations proc_dentry_operations =
        .d_delete       = proc_delete_dentry,
+       .d_revalidate   = proc_revalidate_dentry,
@@ -397,8 +404,11 @@
                        if (de->namelen != dentry->d_name.len)
                        if (!memcmp(dentry->d_name.name, de->name, de->namelen)) {
-                               unsigned int ino = de->low_ino;
+                               unsigned int ino;
+                               if (de->shadow_proc)
+                                       de = de->shadow_proc(current, de);
+                               ino = de->low_ino;
                                error = -EINVAL;

...there are also some changs to proc_net.c, but they seem less suspect.
Comment 1 Jeff Layton 2007-12-12 15:55:14 EST
Tested kernel-2.6.24-0.83.rc5.fc9.x86_64 from koji and it does not show this
issue. So I guess whatever it was was fixed upstream. Yay!

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