From: | Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx> |
Date: | Sun, 30 Apr 2006 10:22:18 -0700 (PDT) |
dillon 2006/04/30 10:22:18 PDT DragonFly src repository Modified files: sys/amd64/amd64 genassym.c sys/bus/cam cam_periph.c sys/bus/cam/scsi scsi_cd.c scsi_da.c scsi_pt.c scsi_sa.c sys/bus/firewire fwmem.c sys/bus/isa isavar.h sys/bus/isa/i386 isa_device.h isa_dma.c sys/contrib/dev/fla fla.c sys/dev/disk/ata ata-disk.c ata-raid.c atapi-cd.c atapi-fd.c atapi-tape.c sys/dev/disk/ccd ccd.c sys/dev/disk/fd fd.c sys/dev/disk/mcd mcd.c sys/dev/disk/md md.c sys/dev/disk/scd scd.c sys/dev/disk/vn vn.c sys/dev/disk/wt wt.c sys/dev/misc/labpc labpc.c sys/dev/misc/ppc ppc.c sys/dev/raid/aac aac.c aac_compat.h sys/dev/raid/amr amr.c sys/dev/raid/ida ida.c ida_disk.c sys/dev/raid/ips ips.h sys/dev/raid/mlx mlx.c mlx_compat.h sys/dev/raid/pst pst-raid.c sys/dev/raid/twe twe.c twe_compat.h sys/dev/raid/vinum vinumdaemon.c vinumext.h vinuminterrupt.c vinumio.c vinumparser.c vinumraid5.c vinumrequest.c vinumrevive.c vinumstate.c sys/dev/sound/pcm buffer.c sound.h sys/dev/video/gsc gsc.c sys/i386/i386 genassym.c machdep.c sys/i386/isa asc.c sys/kern kern_device.c kern_physio.c subr_devstat.c subr_disk.c subr_diskmbr.c subr_diskslice.c vfs_aio.c vfs_bio.c vfs_cluster.c vfs_default.c vfs_vopops.c sys/sys buf.h sys/vfs/gnu/ext2fs ext2_bmap.c ext2_inode.c sys/vfs/mfs mfs_vnops.c sys/vfs/nfs nfs_bio.c nfs_vnops.c sys/vfs/ntfs ntfs_vnops.c sys/vfs/nwfs nwfs_io.c sys/vfs/smbfs smbfs_io.c sys/vfs/specfs spec_vnops.c sys/vfs/ufs ffs_alloc.c ffs_inode.c ffs_rawread.c ffs_softdep.c ufs_bmap.c sys/vfs/union union_vnops.c sys/vm swap_pager.c vm_pager.c vm_swap.c vnode_pager.c Removed files: sys/bus/isa/i386 isa_dma.h Log: Replace the the buffer cache's B_READ, B_WRITE, B_FORMAT, and B_FREEBUF b_flags with a separate b_cmd field. Use b_cmd to test for I/O completion as well (getting rid of B_DONE in the process). This further simplifies the setup required to issue a buffer cache I/O. Remove a redundant header file, bus/isa/i386/isa_dma.h and merge any discrepancies into bus/isa/isavar.h. Give ISADMA_READ/WRITE/RAW their own independant flag definitions instead of trying to overload them on top of B_READ, B_WRITE, and B_RAW. Add a routine isa_dmabp() which takes a struct buf pointer and returns the ISA dma flags associated with the operation. Remove the 'clear_modify' argument to vfs_busy_pages(). Instead, vfs_busy_pages() asserts that the buffer's b_cmd is valid and then uses it to determine the action it must take. Revision Changes Path 1.10 +0 -1 src/sys/amd64/amd64/genassym.c 1.14 +9 -10 src/sys/bus/cam/cam_periph.c 1.22 +1 -1 src/sys/bus/cam/scsi/scsi_cd.c 1.29 +1 -1 src/sys/bus/cam/scsi/scsi_da.c 1.14 +1 -1 src/sys/bus/cam/scsi/scsi_pt.c 1.17 +4 -4 src/sys/bus/cam/scsi/scsi_sa.c 1.9 +1 -1 src/sys/bus/firewire/fwmem.c 1.9 +7 -3 src/sys/bus/isa/isavar.h 1.8 +0 -5 src/sys/bus/isa/i386/isa_device.h 1.8 +23 -2 src/sys/bus/isa/i386/isa_dma.c 1.12 +11 -4 src/sys/contrib/dev/fla/fla.c 1.28 +1 -1 src/sys/dev/disk/ata/ata-disk.c 1.19 +9 -7 src/sys/dev/disk/ata/ata-raid.c 1.22 +2 -2 src/sys/dev/disk/ata/atapi-cd.c 1.15 +3 -3 src/sys/dev/disk/ata/atapi-fd.c 1.15 +4 -4 src/sys/dev/disk/ata/atapi-tape.c 1.27 +3 -3 src/sys/dev/disk/ccd/ccd.c 1.29 +27 -23 src/sys/dev/disk/fd/fd.c 1.18 +1 -1 src/sys/dev/disk/mcd/mcd.c 1.11 +29 -9 src/sys/dev/disk/md/md.c 1.17 +1 -1 src/sys/dev/disk/scd/scd.c 1.19 +7 -7 src/sys/dev/disk/vn/vn.c 1.14 +7 -4 src/sys/dev/disk/wt/wt.c 1.16 +2 -2 src/sys/dev/misc/labpc/labpc.c 1.12 +4 -3 src/sys/dev/misc/ppc/ppc.c 1.23 +2 -2 src/sys/dev/raid/aac/aac.c 1.8 +0 -7 src/sys/dev/raid/aac/aac_compat.h 1.18 +1 -1 src/sys/dev/raid/amr/amr.c 1.11 +1 -1 src/sys/dev/raid/ida/ida.c 1.11 +1 -1 src/sys/dev/raid/ida/ida_disk.c 1.9 +1 -17 src/sys/dev/raid/ips/ips.h 1.18 +1 -1 src/sys/dev/raid/mlx/mlx.c 1.7 +0 -18 src/sys/dev/raid/mlx/mlx_compat.h 1.15 +2 -2 src/sys/dev/raid/pst/pst-raid.c 1.15 +1 -1 src/sys/dev/raid/twe/twe.c 1.14 +0 -18 src/sys/dev/raid/twe/twe_compat.h 1.10 +1 -1 src/sys/dev/raid/vinum/vinumdaemon.c 1.7 +3 -3 src/sys/dev/raid/vinum/vinumext.h 1.9 +8 -8 src/sys/dev/raid/vinum/vinuminterrupt.c 1.13 +5 -5 src/sys/dev/raid/vinum/vinumio.c 1.6 +1 -0 src/sys/dev/raid/vinum/vinumparser.c 1.5 +4 -4 src/sys/dev/raid/vinum/vinumraid5.c 1.11 +11 -10 src/sys/dev/raid/vinum/vinumrequest.c 1.10 +10 -7 src/sys/dev/raid/vinum/vinumrevive.c 1.6 +1 -1 src/sys/dev/raid/vinum/vinumstate.c 1.4 +5 -4 src/sys/dev/sound/pcm/buffer.c 1.8 +0 -5 src/sys/dev/sound/pcm/sound.h 1.11 +2 -2 src/sys/dev/video/gsc/gsc.c 1.49 +0 -1 src/sys/i386/i386/genassym.c 1.90 +2 -2 src/sys/i386/i386/machdep.c 1.12 +3 -3 src/sys/i386/isa/asc.c 1.17 +2 -1 src/sys/kern/kern_device.c 1.18 +5 -3 src/sys/kern/kern_physio.c 1.3 +9 -5 src/sys/kern/subr_devstat.c 1.23 +5 -6 src/sys/kern/subr_disk.c 1.13 +2 -2 src/sys/kern/subr_diskmbr.c 1.17 +7 -5 src/sys/kern/subr_diskslice.c 1.24 +7 -4 src/sys/kern/vfs_aio.c 1.67 +81 -67 src/sys/kern/vfs_bio.c 1.22 +41 -35 src/sys/kern/vfs_cluster.c 1.35 +4 -4 src/sys/kern/vfs_default.c 1.22 +1 -1 src/sys/kern/vfs_vopops.c 1.31 +15 -7 src/sys/sys/buf.h 1.3 +2 -2 src/sys/vfs/gnu/ext2fs/ext2_bmap.c 1.17 +3 -5 src/sys/vfs/gnu/ext2fs/ext2_inode.c 1.25 +29 -14 src/sys/vfs/mfs/mfs_vnops.c 1.34 +23 -20 src/sys/vfs/nfs/nfs_bio.c 1.58 +15 -12 src/sys/vfs/nfs/nfs_vnops.c 1.31 +11 -6 src/sys/vfs/ntfs/ntfs_vnops.c 1.20 +4 -4 src/sys/vfs/nwfs/nwfs_io.c 1.23 +3 -4 src/sys/vfs/smbfs/smbfs_io.c 1.39 +12 -13 src/sys/vfs/specfs/spec_vnops.c 1.21 +0 -2 src/sys/vfs/ufs/ffs_alloc.c 1.21 +2 -2 src/sys/vfs/ufs/ffs_inode.c 1.21 +5 -7 src/sys/vfs/ufs/ffs_rawread.c 1.39 +1 -1 src/sys/vfs/ufs/ffs_softdep.c 1.12 +2 -2 src/sys/vfs/ufs/ufs_bmap.c 1.26 +1 -1 src/sys/vfs/union/union_vnops.c 1.22 +31 -40 src/sys/vm/swap_pager.c 1.19 +1 -0 src/sys/vm/vm_pager.c 1.23 +1 -1 src/sys/vm/vm_swap.c 1.25 +5 -7 src/sys/vm/vnode_pager.c http://www.dragonflybsd.org/cvsweb/src/sys/amd64/amd64/genassym.c.diff?r1=1.9&r2=1.10&f=u http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/cam_periph.c.diff?r1=1.13&r2=1.14&f=u http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_cd.c.diff?r1=1.21&r2=1.22&f=u http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_da.c.diff?r1=1.28&r2=1.29&f=u http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_pt.c.diff?r1=1.13&r2=1.14&f=u http://www.dragonflybsd.org/cvsweb/src/sys/bus/cam/scsi/scsi_sa.c.diff?r1=1.16&r2=1.17&f=u http://www.dragonflybsd.org/cvsweb/src/sys/bus/firewire/fwmem.c.diff?r1=1.8&r2=1.9&f=u http://www.dragonflybsd.org/cvsweb/src/sys/bus/isa/isavar.h.diff?r1=1.8&r2=1.9&f=u http://www.dragonflybsd.org/cvsweb/src/sys/bus/isa/i386/isa_device.h.diff?r1=1.7&r2=1.8&f=u http://www.dragonflybsd.org/cvsweb/src/sys/bus/isa/i386/isa_dma.c.diff?r1=1.7&r2=1.8&f=u http://www.dragonflybsd.org/cvsweb/src/sys/contrib/dev/fla/fla.c.diff?r1=1.11&r2=1.12&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/ata/ata-disk.c.diff?r1=1.27&r2=1.28&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/ata/ata-raid.c.diff?r1=1.18&r2=1.19&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/ata/atapi-cd.c.diff?r1=1.21&r2=1.22&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/ata/atapi-fd.c.diff?r1=1.14&r2=1.15&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/ata/atapi-tape.c.diff?r1=1.14&r2=1.15&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/ccd/ccd.c.diff?r1=1.26&r2=1.27&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/fd/fd.c.diff?r1=1.28&r2=1.29&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/mcd/mcd.c.diff?r1=1.17&r2=1.18&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/md/md.c.diff?r1=1.10&r2=1.11&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/scd/scd.c.diff?r1=1.16&r2=1.17&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/vn/vn.c.diff?r1=1.18&r2=1.19&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/wt/wt.c.diff?r1=1.13&r2=1.14&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/misc/labpc/labpc.c.diff?r1=1.15&r2=1.16&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/misc/ppc/ppc.c.diff?r1=1.11&r2=1.12&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/aac/aac.c.diff?r1=1.22&r2=1.23&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/aac/aac_compat.h.diff?r1=1.7&r2=1.8&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/amr/amr.c.diff?r1=1.17&r2=1.18&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/ida/ida.c.diff?r1=1.10&r2=1.11&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/ida/ida_disk.c.diff?r1=1.10&r2=1.11&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/ips/ips.h.diff?r1=1.8&r2=1.9&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/mlx/mlx.c.diff?r1=1.17&r2=1.18&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/mlx/mlx_compat.h.diff?r1=1.6&r2=1.7&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/pst/pst-raid.c.diff?r1=1.14&r2=1.15&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/twe/twe.c.diff?r1=1.14&r2=1.15&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/twe/twe_compat.h.diff?r1=1.13&r2=1.14&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/vinum/vinumdaemon.c.diff?r1=1.9&r2=1.10&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/vinum/vinumext.h.diff?r1=1.6&r2=1.7&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/vinum/vinuminterrupt.c.diff?r1=1.8&r2=1.9&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/vinum/vinumio.c.diff?r1=1.12&r2=1.13&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/vinum/vinumparser.c.diff?r1=1.5&r2=1.6&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/vinum/vinumraid5.c.diff?r1=1.4&r2=1.5&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/vinum/vinumrequest.c.diff?r1=1.10&r2=1.11&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/vinum/vinumrevive.c.diff?r1=1.9&r2=1.10&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/raid/vinum/vinumstate.c.diff?r1=1.5&r2=1.6&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/sound/pcm/buffer.c.diff?r1=1.3&r2=1.4&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/sound/pcm/sound.h.diff?r1=1.7&r2=1.8&f=u http://www.dragonflybsd.org/cvsweb/src/sys/dev/video/gsc/gsc.c.diff?r1=1.10&r2=1.11&f=u http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/genassym.c.diff?r1=1.48&r2=1.49&f=u http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/machdep.c.diff?r1=1.89&r2=1.90&f=u http://www.dragonflybsd.org/cvsweb/src/sys/i386/isa/asc.c.diff?r1=1.11&r2=1.12&f=u http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_device.c.diff?r1=1.16&r2=1.17&f=u http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_physio.c.diff?r1=1.17&r2=1.18&f=u http://www.dragonflybsd.org/cvsweb/src/sys/kern/subr_devstat.c.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/sys/kern/subr_disk.c.diff?r1=1.22&r2=1.23&f=u http://www.dragonflybsd.org/cvsweb/src/sys/kern/subr_diskmbr.c.diff?r1=1.12&r2=1.13&f=u http://www.dragonflybsd.org/cvsweb/src/sys/kern/subr_diskslice.c.diff?r1=1.16&r2=1.17&f=u http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_aio.c.diff?r1=1.23&r2=1.24&f=u http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_bio.c.diff?r1=1.66&r2=1.67&f=u http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_cluster.c.diff?r1=1.21&r2=1.22&f=u http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_default.c.diff?r1=1.34&r2=1.35&f=u http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_vopops.c.diff?r1=1.21&r2=1.22&f=u http://www.dragonflybsd.org/cvsweb/src/sys/sys/buf.h.diff?r1=1.30&r2=1.31&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/gnu/ext2fs/ext2_bmap.c.diff?r1=1.2&r2=1.3&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/gnu/ext2fs/ext2_inode.c.diff?r1=1.16&r2=1.17&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/mfs/mfs_vnops.c.diff?r1=1.24&r2=1.25&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_bio.c.diff?r1=1.33&r2=1.34&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nfs/nfs_vnops.c.diff?r1=1.57&r2=1.58&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ntfs/ntfs_vnops.c.diff?r1=1.30&r2=1.31&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/nwfs/nwfs_io.c.diff?r1=1.19&r2=1.20&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/smbfs/smbfs_io.c.diff?r1=1.22&r2=1.23&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/specfs/spec_vnops.c.diff?r1=1.38&r2=1.39&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/ffs_alloc.c.diff?r1=1.20&r2=1.21&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/ffs_inode.c.diff?r1=1.20&r2=1.21&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/ffs_rawread.c.diff?r1=1.20&r2=1.21&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/ffs_softdep.c.diff?r1=1.38&r2=1.39&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/ufs_bmap.c.diff?r1=1.11&r2=1.12&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vfs/union/union_vnops.c.diff?r1=1.25&r2=1.26&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vm/swap_pager.c.diff?r1=1.21&r2=1.22&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_pager.c.diff?r1=1.18&r2=1.19&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_swap.c.diff?r1=1.22&r2=1.23&f=u http://www.dragonflybsd.org/cvsweb/src/sys/vm/vnode_pager.c.diff?r1=1.24&r2=1.25&f=u