Subject: CVS commit: syssrc
To: None <source-changes@netbsd.org>
From: Jason R Thorpe <thorpej@netbsd.org>
List: source-changes
Date: 05/16/2000 10:20:25
Module Name:	syssrc
Committed By:	thorpej
Date:		Tue May 16 17:20:24 UTC 2000

Modified Files:
	syssrc/sys/ufs/mfs: mfs_extern.h mfs_vfsops.c mfs_vnops.c mfsnode.h

Log Message:
Redo the way MFS does I/O to the server's address space.  Instead of
queueing up buffers and awakening the MFS server process to do the I/O,
we do the I/O to the server process's address space directly using
facilities provided by UVM.

This makes it possible for buffers attempting to flush out while the
MFS is being unmounted to actually do the I/O, where before it would
fail if the server process wasn't in the MFS idle loop (i.e. had been
signaled and was attempting to exit).

Should fix kern/10122 (I can no longer reproduce the problem described
in the PR when running with these changes), and any number of other
MFS-related complaints made by people over time.


To generate a diff of this commit:
cvs rdiff -r1.9 -r1.10 syssrc/sys/ufs/mfs/mfs_extern.h
cvs rdiff -r1.26 -r1.27 syssrc/sys/ufs/mfs/mfs_vfsops.c
cvs rdiff -r1.21 -r1.22 syssrc/sys/ufs/mfs/mfs_vnops.c
cvs rdiff -r1.8 -r1.9 syssrc/sys/ufs/mfs/mfsnode.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.