Subject: kern/10122: /var/run as mount_mfs
To: None <>
From: None <>
List: netbsd-bugs
Date: 05/15/2000 11:14:14
>Number:         10122
>Category:       kern
>Synopsis:       /var/run as mount_mfs
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon May 15 11:15:00 PDT 2000
>Originator:     Hitoshi Matsunawa
>Release:        NetBSD 1.4.2 i386


System: NetBSD 1.4.2 i386
Running daemons: syslogd, named, update, cron, apmd, inetd
Mounted (mfs) filesystem: /tmp and /var/run mounted as mfs


If ``halt''-ed immediately after creating some number of dirty buffer,
system will fail to shutdown.


  % mknmz -a ~/src/linux-2.3.51/Documentation/
  % super halt


If I changed mfs_start() (in src/ufs/mfs/mfs_vfops.c) as follows, the
problem disappear (at least for me).

	while(mounted) {
		while(bio_request exist)
			doio (...);
			dounmount (...);
		signaled = tsleep (...);

It may still potentially problematic, since mfs i/o is only served by
a mfs process. When a mfs process enters into doumount(), mfs i/o
won't be served for other processes (other than mfs process itself).