Subject: CVS commit: src/sys
To: None <source-changes@NetBSD.org>
From: Juergen Hannken-Illjes <hannken@netbsd.org>
List: source-changes
Date: 10/15/2003 11:29:01
Module Name:	src
Committed By:	hannken
Date:		Wed Oct 15 11:29:01 UTC 2003

Modified Files:
	src/sys/compat/svr4: svr4_fcntl.c
	src/sys/compat/svr4_32: svr4_32_fcntl.c
	src/sys/dev: vnd.c
	src/sys/fs/union: union_subr.c
	src/sys/kern: kern_sig.c tty_tty.c uipc_usrreq.c vfs_subr.c
	    vfs_syscalls.c vfs_vnops.c
	src/sys/miscfs/syncfs: sync_subr.c sync_vnops.c
	src/sys/nfs: nfs_serv.c
	src/sys/sys: mount.h vnode.h
	src/sys/ufs/ext2fs: ext2fs_inode.c
	src/sys/ufs/ffs: ffs_softdep.c ffs_vfsops.c softdep.h
	src/sys/ufs/ufs: ufs_inode.c ufs_quota.c

Log Message:
Add the gating of system calls that cause modifications to the underlying
file system.
The function vfs_write_suspend stops all new write operations to a file
system, allows any file system modifying system calls already in progress
to complete, then sync's the file system to disk and returns. The
function vfs_write_resume allows the suspended write operations to
complete.

From FreeBSD with slight modifications.

Approved by: Frank van der Linden <fvdl@netbsd.org>


To generate a diff of this commit:
cvs rdiff -r1.45 -r1.46 src/sys/compat/svr4/svr4_fcntl.c
cvs rdiff -r1.9 -r1.10 src/sys/compat/svr4_32/svr4_32_fcntl.c
cvs rdiff -r1.102 -r1.103 src/sys/dev/vnd.c
cvs rdiff -r1.7 -r1.8 src/sys/fs/union/union_subr.c
cvs rdiff -r1.168 -r1.169 src/sys/kern/kern_sig.c
cvs rdiff -r1.22 -r1.23 src/sys/kern/tty_tty.c
cvs rdiff -r1.69 -r1.70 src/sys/kern/uipc_usrreq.c
cvs rdiff -r1.207 -r1.208 src/sys/kern/vfs_subr.c
cvs rdiff -r1.196 -r1.197 src/sys/kern/vfs_syscalls.c
cvs rdiff -r1.74 -r1.75 src/sys/kern/vfs_vnops.c
cvs rdiff -r1.14 -r1.15 src/sys/miscfs/syncfs/sync_subr.c
cvs rdiff -r1.10 -r1.11 src/sys/miscfs/syncfs/sync_vnops.c
cvs rdiff -r1.81 -r1.82 src/sys/nfs/nfs_serv.c
cvs rdiff -r1.114 -r1.115 src/sys/sys/mount.h
cvs rdiff -r1.116 -r1.117 src/sys/sys/vnode.h
cvs rdiff -r1.36 -r1.37 src/sys/ufs/ext2fs/ext2fs_inode.c
cvs rdiff -r1.52 -r1.53 src/sys/ufs/ffs/ffs_softdep.c
cvs rdiff -r1.124 -r1.125 src/sys/ufs/ffs/ffs_vfsops.c
cvs rdiff -r1.7 -r1.8 src/sys/ufs/ffs/softdep.h
cvs rdiff -r1.40 -r1.41 src/sys/ufs/ufs/ufs_inode.c
cvs rdiff -r1.28 -r1.29 src/sys/ufs/ufs/ufs_quota.c

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