Subject: kern/10122: /var/run as mount_mfs
To: None <gnats-bugs@gnats.netbsd.org>
From: None <matsunaw@ja2.so-net.ne.jp>
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
>Closed-Date:
>Last-Modified:
>Originator: Hitoshi Matsunawa
>Release: NetBSD 1.4.2 i386
>Organization:
>Environment:
System: NetBSD 1.4.2 i386
Running daemons: syslogd, named, update, cron, apmd, inetd
Mounted (mfs) filesystem: /tmp and /var/run mounted as mfs
>Description:
If ``halt''-ed immediately after creating some number of dirty buffer,
system will fail to shutdown.
>How-To-Repeat:
% mknmz -a ~/src/linux-2.3.51/Documentation/
% super halt
>Fix:
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 (...);
if(signaled)
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).
>Release-Note:
>Audit-Trail:
>Unformatted: