knfsd problem in late 2.1
Thu, 21 May 1998 13:52:30 +0200


knfsd doesn't work for me for some time now (I think since late 2.1.8x)
exportfs always fails in its nfsctl(NFSCTL_EXPORT, ...) call with EINVAL.
This time I tried it with 2.1.103-vger.

I finally instrumented the kernel to check where the error comes from.
It comes from this code in nfsd/export.c:exp_export (printks added by me):

/* Look up the dentry */
err = -EINVAL;
dentry = lookup_dentry(nxp->ex_path, NULL, 0);
if (IS_ERR(dentry)) {
goto out_unlock;

err = -ENOENT;
inode = dentry->d_inode;
goto finish;
err = -EINVAL;
if(inode->i_dev != nxp->ex_dev || inode->i_ino != nxp->ex_ino) {
printk(KERN_DEBUG "exp_export: paranoid: %d!=%d || %d!=%d\n",
inode->i_dev, nxp->ex_dev, inode->i_ino, nxp->ex_ino);
printk(KERN_DEBUG " inode = %p, path = %s, dentry = %p\n",
inode, nxp->ex_path, dentry);
/* I'm just being paranoid... */
goto finish;


Exp_export: paranoid: 33554436!=2052 || 2!=2
inode = c3e17208, path = /u2, dentry = c320e6e0

I verified that /u2 is the correct dev_t for /u2. This means something
in the kernel mangles the the i_dev field in the dentry's inode. Anyone
have any idea what might cause that?


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to