cvs commit: src/sys/kern kern_shutdown.c vfs_bio.c vfs_cluster.c vfs_mount.c vfs_sync.c vfs_syscalls.c src/sys/sys buf.h buf2.h mount.h src/sys/vm vm_pager.c src/sys/dev/disk/ccd ccd.c src/sys/vfs/specfs spec_vnops.c src/sys/vfs/ufs ffs_softdep.c ...
Matthew Dillon
dillon at crater.dragonflybsd.org
Mon Nov 5 19:52:18 PST 2007
dillon 2007/11/05 19:50:02 PST
DragonFly src repository
Modified files:
sys/kern kern_shutdown.c vfs_bio.c vfs_cluster.c
vfs_mount.c vfs_sync.c vfs_syscalls.c
sys/sys buf.h buf2.h mount.h
sys/vm vm_pager.c
sys/dev/disk/ccd ccd.c
sys/vfs/specfs spec_vnops.c
sys/vfs/ufs ffs_softdep.c ffs_vnops.c
Log:
Convert the global 'bioops' into per-mount bio_ops. For now we also have
to have a per buffer b_ops as well since the controlling filesystem cannot
be located from information in struct buf (b_vp could be the backing store
so that can't be used). This change allows HAMMER to use bio_ops.
Change the ordering of the bio_ops.io_deallocate call so it occurs before
the buffer's B_LOCKED is checked. This allows the deallocate call to set
B_LOCKED to retain the buffer in situations where the target filesystem
is unable to immediately disassociate the buffer. Also keep VMIO intact
for B_LOCKED buffers (in addition to B_DELWRI buffers).
HAMMER will use this feature to keep buffers passively associated with
other filesystem structures and thus be able to avoid constantly brelse()ing
and getblk()ing them.
Revision Changes Path
1.61 +3 -2 src/sys/kern/kern_shutdown.c
1.93 +45 -28 src/sys/kern/vfs_bio.c
1.31 +2 -3 src/sys/kern/vfs_cluster.c
1.29 +36 -0 src/sys/kern/vfs_mount.c
1.17 +2 -3 src/sys/kern/vfs_sync.c
1.122 +4 -5 src/sys/kern/vfs_syscalls.c
1.39 +4 -15 src/sys/sys/buf.h
1.19 +78 -0 src/sys/sys/buf2.h
1.33 +23 -0 src/sys/sys/mount.h
1.24 +1 -1 src/sys/vm/vm_pager.c
1.50 +1 -1 src/sys/dev/disk/ccd/ccd.c
1.57 +3 -5 src/sys/vfs/specfs/spec_vnops.c
1.53 +49 -26 src/sys/vfs/ufs/ffs_softdep.c
1.19 +1 -1 src/sys/vfs/ufs/ffs_vnops.c
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_shutdown.c.diff?r1=1.60&r2=1.61&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_bio.c.diff?r1=1.92&r2=1.93&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_cluster.c.diff?r1=1.30&r2=1.31&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_mount.c.diff?r1=1.28&r2=1.29&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_sync.c.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/vfs_syscalls.c.diff?r1=1.121&r2=1.122&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/buf.h.diff?r1=1.38&r2=1.39&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/buf2.h.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/mount.h.diff?r1=1.32&r2=1.33&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vm/vm_pager.c.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/disk/ccd/ccd.c.diff?r1=1.49&r2=1.50&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/specfs/spec_vnops.c.diff?r1=1.56&r2=1.57&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/ffs_softdep.c.diff?r1=1.52&r2=1.53&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/ufs/ffs_vnops.c.diff?r1=1.18&r2=1.19&f=u
More information about the Commits
mailing list