On Sun, Jun 07, 2009 at 05:28:45PM +0000, Martin Spott wrote:
> reconnect_path: npd != pd
> reconnect_path: npd != pd
> reconnect_path: npd != pd
> [...]
>
>
> .... I'm unable to find any helpful information in this context.
> Anything I could try - this sunday evening ?
That warning is what really makes me freak out, as it really, really
shouldn't happen. Can you see if it gives any additional useful output
with the patch below?
Index: linux-2.6/fs/exportfs/expfs.c
===================================================================
--- linux-2.6.orig/fs/exportfs/expfs.c 2009-06-07 20:40:09.085814403 +0200
+++ linux-2.6/fs/exportfs/expfs.c 2009-06-07 20:54:47.550942377 +0200
@@ -88,6 +88,14 @@ find_disconnected_root(struct dentry *de
return dentry;
}
+static void dump_dentry(struct dentry *dentry, const char *var)
+{
+ printk("%s: dentry 0x%p inode 0x%p ino %lld name %s\n",
+ var, dentry, dentry->d_inode,
+ dentry->d_inode ?
+ (unsigned long long)dentry->d_inode->i_ino : 0,
+ dentry->d_name.name);
+}
/*
* Make sure target_dir is fully connected to the dentry tree.
@@ -187,8 +195,11 @@ reconnect_path(struct vfsmount *mnt, str
*/
if (npd == pd)
noprogress = 0;
- else
+ else {
printk("%s: npd != pd\n", __func__);
+ dump_dentry(npd, "npd");
+ dump_dentry(pd, "pd");
+ }
dput(npd);
dput(ppd);
if (IS_ROOT(pd)) {
|