hammer + nfs => Input/output error
Matthew Dillon
dillon at apollo.backplane.com
Tue Sep 9 16:51:38 PDT 2008
:Using HAMMER for nfs exports, nfs client often get in a state
:where access to most files return `Input/output error' (EIO state).
:
:Example:
: - nfs server using HAMMER for all exports
: - nfs client mount of usr/src and /home/thomas (/usr/obj local)
Another question. Are you trying to export PFSs or are you exporting
a base HAMMER mount?
There are going to be multiple issues with PFSs.
:When this happens nfs server log error (multiple times):
:lookupdotdot failed 2 dvp 0xca3087d0
:
:Is core dump needed?
:(will decrease hw.physmem; 2G now)
:
: -thomas
Hmm. I will try to reproduce it. What is your system config?
e.g. Memory, df output, exports list, on the server. Also your
df output and fstab on the client.
That particular VOP doesn't get run very often due to caching. It
is probably (hopefully) a simple bug but I probably need to instrument
the filesystem to track it down.
A kernel core would be useful if you add code to panic the system
in the correct procedure so I get some context to work with. I have
included a patch for that below (adding temporary debugging panics
in the right places). This would be on the server side.
-Matt
Matthew Dillon
<dillon at backplane.com>
Index: hammer_vnops.c
===================================================================
RCS file: /cvs/src/sys/vfs/hammer/hammer_vnops.c,v
retrieving revision 1.96
diff -u -p -r1.96 hammer_vnops.c
--- hammer_vnops.c 9 Aug 2008 07:04:16 -0000 1.96
+++ hammer_vnops.c 9 Sep 2008 23:50:12 -0000
@@ -965,6 +965,7 @@ hammer_vop_nlookupdotdot(struct vop_nloo
dip->obj_asof);
} else {
*ap->a_vpp = NULL;
+ panic("HAMMER DOTDOT1");
return ENOENT;
}
}
@@ -982,6 +983,8 @@ hammer_vop_nlookupdotdot(struct vop_nloo
*ap->a_vpp = NULL;
}
hammer_done_transaction(&trans);
+ if (error)
+ panic("HAMMER DOTDOT2");
return (error);
}
More information about the Bugs
mailing list