On Sun, 2007-11-18 at 19:44 +0100, Gianluca Alberici wrote: > Trond, > > The problem is in nfs_mountpoint_timeout. After this time > dentry_delete(/,4) removes the mountpoint, then it is very difficult to > automount (at least with CFSD), one has got to try 2 or three times > cd'ing into the mount point. Applications wont ever had the chance to > autoremount (ENOTDIR).
Sounds like CFSD has a bug w.r.t. what fsid it returns to the client. > I have some questions: > > - nfs_mountpoint_timeout seems to be set in sysctl.c even if nfsv4 is > not. Is this correct ? I've read somewhere that it was introduced for v4. Wrong. It applies to all mountpoint crossing. If the server tells us that the fsid has changed, then we create a new mountpoint. > - Why this sysctl is not registered in my 2.6.20 kernel where it should > be registered ? Prior to 2.6.21-rc5, we had a bug in register_nfs_fs() whereby it failed to register the sysctl table unless you enabled NFSv4. > - Why this parameter has not a 'disabled' value (i mean kind of -1) ? Why should it? The current behaviour is quite correct. If you cross a mountpoint, then you should remount in order to ensure that the inode numbers remain unique per-filesystem. We know that some ancient NFS servers had problems returning the correct fsid in readdirplus replies, so 2.6.22 adds support to disable readdirplus calls via a 'nordirplus' mount option. I guess you could try that... Trond - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/