Messages in this thread | | | Subject | Re: Linux 2.6.26-rc4 | From | Miklos Szeredi <> | Date | Tue, 03 Jun 2008 12:45:33 +0200 |
| |
> > > > http://www.kerneloops.org/raw.php?rawid=12419&msgid= > > > > Looks like a negative inode in S_ISDIR(mnt->mnt_root->d_inode->i_mode), > > which would be due to NFS not properly filling in its root dentry? > > Look more carefully. It's path->dentry; aside of the fact that dentry > pointer is fetched at offset 8 from one of the arguments (fits path->dentry, > too low for mnt->mnt_root),
Yup, realized this after posting.
> do_add_mount() itself has just done S_ISLNK > on the very same thing, so it'd die before getting to graft_tree(). > > No, it's either path_lookup() somehow returning a negative dentry in > do_mount() (which shouldn't be possible, unless it's some crap around > return_reval in __link_path_walk()) or it's follow_down() giving us > a negative dentry. Which almost certainly would've exploded prior to > that...
I think it must be autofs4 doing something weird. Like this in autofs4_lookup_unhashed():
/* * Make the rehashed dentry negative so the VFS * behaves as it should. */ if (inode) { dentry->d_inode = NULL;
Miklos
| |