Subject: Bad definition for spec_bwrite
To: None <netbsd-bugs@NetBSD.ORG>
From: None <r_friedl@informatik.uni-kl.de>
List: netbsd-bugs
Date: 10/12/1995 16:24:27
'spec_bwrite' currently does nothing.  Instead 'vn_bwrite' must be
used.  This causes problems when unmountung the root filesystem.

The vnode functions for the root filesystem are those from 'ufs_spec'.
When unmounting the root filesystem, these are changed to 'spec'.  Now
attempts to update the root device fail, because the write oparation
does nothing.

This causes the problems with vfs_invalbuf, dirty buffers.


--- miscfs/specfs/spec_vnops.c.orig	Wed Jul 26 09:12:08 1995
+++ miscfs/specfs/spec_vnops.c	Sat Sep  2 20:49:22 1995
@@ -103,7 +103,7 @@
 	{ &vop_vfree_desc, spec_vfree },		/* vfree */
 	{ &vop_truncate_desc, spec_truncate },		/* truncate */
 	{ &vop_update_desc, spec_update },		/* update */
-	{ &vop_bwrite_desc, spec_bwrite },		/* bwrite */
+	{ &vop_bwrite_desc, vn_bwrite },		/* bwrite */
 	{ (struct vnodeop_desc*)NULL, (int(*)())NULL }
 };
 struct vnodeopv_desc spec_vnodeop_opv_desc =