oops. Sorry. That last comment was meant for Kyle's (similar) bug
report.
For yours, please try this patch.
These assertions are all related to tightening up the API requirements
for VOP_LOOKUP.
-Matt
Index: ntfs_vnops.c
===================================================================
RCS file: /cvs/src/sys/vfs/ntfs/ntfs_vnops.c,v
retrieving revision 1.19
diff -u -r1.19 ntfs_vnops.c
--- ntfs_vnops.c 12 Nov 2004 00:09:38 -0000 1.19
+++ ntfs_vnops.c 22 Dec 2004 19:52:10 -0000
@@ -717,6 +717,8 @@
(int)cnp->cn_namelen, cnp->cn_nameptr, cnp->cn_namelen,
dip->i_number, lockparent, wantparent));
+ *ap->a_vpp = NULL;
+
if (cnp->cn_namelen == 1 && cnp->cn_nameptr[0] == '.') {
dprintf(("ntfs_lookup: faking . directory in %d\n",
dip->i_number));
@@ -751,7 +753,8 @@
if (lockparent) {
error = VN_LOCK(dvp, LK_EXCLUSIVE, cnp->cn_td);
if (error) {
- vput( *(ap->a_vpp) );
+ vput(*ap->a_vpp);
+ *ap->a_vpp = NULL;
return (error);
}
cnp->cn_flags &= ~CNP_PDIRUNLOCK;