Messages in this thread Patch in this message | | | Subject | Re: nfsd Security: /// bad export. error | Date | Sun, 12 Sep 1999 23:18:46 -0700 | From | "G. Allen Morris III" <> |
| |
My guess of what is happing here is that there the original dentry is flushed out of memory. Then when the file is next accessed the path has to be rebuilt. This generate all new dentries, so the search to find the export point fails.
The solution might be:
--- nfsfh.c.orig Sun Sep 12 23:15:35 1999 +++ nfsfh.c Sun Sep 12 23:16:26 1999 @@ -1124,7 +1124,7 @@ do { tdentry = tdentry->d_parent; - if (exp->ex_dentry == tdentry) + if (exp->ex_dentry->d_inode->i_ino == tdentry->d_inode->i_ino) break; /* executable only by root and we can't be root */ if (current->fsuid &&
Or something a long those lines. (I am guessing.)
Allen
>>>Philippe Troin said: > "T.A. dos Santos" <teste@naomi.fe.up.pt> writes: > I've also seen this problem, but it happens every few days on a NFS > server with linux 2.2.12 UP + HJL's knfs patches. > > I came with this patch to trace the problem: > > --- /usr/local/src/linux-2.2.12/fs/nfsd/nfsfh.c.linus Mon Aug 30 18:3 9:52 1999 > +++ /usr/local/src/linux-2.2.12/fs/nfsd/nfsfh.c Fri Sep 10 00:59:34 199 9 > @@ -1240,11 +1240,22 @@ > } > } while ((tdentry != tdentry->d_parent)); > if (exp->ex_dentry != tdentry) { > + struct dentry *pdentry = dentry; > error = nfserr_stale; > nfsdstats.fh_stale++; > printk("nfsd Security: %s/%s bad export.\n", > dentry->d_parent->d_name.name, > dentry->d_name.name);
[snip]
--------------------------------- G. Allen Morris III - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |