From owner-cvs-all Tue Jul 11 15: 8: 9 2000 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id B953F37B8DC; Tue, 11 Jul 2000 15:08:00 -0700 (PDT) (envelope-from mckusick@FreeBSD.org) Received: (from mckusick@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id PAA98204; Tue, 11 Jul 2000 15:08:00 -0700 (PDT) (envelope-from mckusick@FreeBSD.org) Message-Id: <200007112208.PAA98204@freefall.freebsd.org> From: Kirk McKusick Date: Tue, 11 Jul 2000 15:07:58 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/conf files src/sys/dev/vn vn.c src/sys/kern kern_ktrace.c kern_sig.c tty_tty.c uipc_usrreq.c vfs_bio.c vfs_default.c vfs_subr.c vfs_syscalls.c vfs_vnops.c vnode_if.src src/sys/miscfs/fdesc fdesc_vnops.c src/sys/miscfs/fifofs ... X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG mckusick 2000/07/11 15:07:58 PDT Modified files: sys/conf files sys/dev/vn vn.c sys/kern kern_ktrace.c kern_sig.c tty_tty.c uipc_usrreq.c vfs_bio.c vfs_default.c vfs_subr.c vfs_syscalls.c vfs_vnops.c vnode_if.src sys/miscfs/fdesc fdesc_vnops.c sys/miscfs/fifofs fifo_vnops.c sys/miscfs/specfs spec_vnops.c sys/miscfs/union union_subr.c union_vnops.c sys/nfs nfs_serv.c sys/svr4 svr4_fcntl.c sys/sys buf.h proc.h vnode.h sys/ufs/ffs ffs_alloc.c ffs_balloc.c ffs_extern.h ffs_softdep.c ffs_vfsops.c ffs_vnops.c softdep.h sys/ufs/ufs inode.h ufs_bmap.c ufs_extern.h ufs_inode.c ufs_quota.c ufs_vnops.c sys/vm vm_pageout.c vnode_pager.c Added files: sys/ufs/ffs README.snapshot ffs_snapshot.c Log: Add snapshots to the fast filesystem. Most of the changes support the gating of system calls that cause modifications to the underlying filesystem. The gating can be enabled by any filesystem that needs to consistently suspend operations by adding the vop_stdgetwritemount to their set of vnops. Once gating is enabled, the function vfs_write_suspend stops all new write operations to a filesystem, allows any filesystem modifying system calls already in progress to complete, then sync's the filesystem to disk and returns. The function vfs_write_resume allows the suspended write operations to begin again. Gating is not added by default for all filesystems as for SMP systems it adds two extra locks to such critical kernel paths as the write system call. Thus, gating should only be added as needed. Details on the use and current status of snapshots in FFS can be found in /sys/ufs/ffs/README.snapshot so for brevity and timelyness is not included here. Unless and until you create a snapshot file, these changes should have no effect on your system (famous last words). Revision Changes Path 1.386 +3 -1 src/sys/conf/files 1.116 +10 -10 src/sys/dev/vn/vn.c 1.40 +5 -2 src/sys/kern/kern_ktrace.c 1.82 +12 -1 src/sys/kern/kern_sig.c 1.31 +7 -1 src/sys/kern/tty_tty.c 1.58 +13 -5 src/sys/kern/uipc_usrreq.c 1.260 +6 -2 src/sys/kern/vfs_bio.c 1.33 +16 -1 src/sys/kern/vfs_default.c 1.266 +27 -4 src/sys/kern/vfs_subr.c 1.159 +222 -96 src/sys/kern/vfs_syscalls.c 1.98 +163 -3 src/sys/kern/vfs_vnops.c 1.30 +17 -1 src/sys/kern/vnode_if.src 1.61 +8 -3 src/sys/miscfs/fdesc/fdesc_vnops.c 1.49 +2 -1 src/sys/miscfs/fifofs/fifo_vnops.c 1.141 +19 -5 src/sys/miscfs/specfs/spec_vnops.c 1.46 +25 -7 src/sys/miscfs/union/union_subr.c 1.75 +17 -1 src/sys/miscfs/union/union_vnops.c 1.97 +114 -2 src/sys/nfs/nfs_serv.c 1.10 +5 -1 src/sys/svr4/svr4_fcntl.c 1.105 +2 -1 src/sys/sys/buf.h 1.107 +2 -1 src/sys/sys/proc.h 1.119 +18 -9 src/sys/sys/vnode.h 1.68 +17 -2 src/sys/ufs/ffs/ffs_alloc.c 1.28 +10 -1 src/sys/ufs/ffs/ffs_balloc.c 1.33 +7 -1 src/sys/ufs/ffs/ffs_extern.h 1.70 +38 -17 src/sys/ufs/ffs/ffs_softdep.c 1.123 +110 -154 src/sys/ufs/ffs/ffs_vfsops.c 1.69 +13 -3 src/sys/ufs/ffs/ffs_vnops.c 1.11 +4 -4 src/sys/ufs/ffs/softdep.h 1.31 +2 -1 src/sys/ufs/ufs/inode.h 1.43 +17 -8 src/sys/ufs/ufs/ufs_bmap.c 1.28 +2 -1 src/sys/ufs/ufs/ufs_extern.h 1.28 +11 -3 src/sys/ufs/ufs/ufs_inode.c 1.34 +3 -1 src/sys/ufs/ufs/ufs_quota.c 1.139 +4 -1 src/sys/ufs/ufs/ufs_vnops.c 1.160 +12 -2 src/sys/vm/vm_pageout.c 1.124 +6 -1 src/sys/vm/vnode_pager.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message