cvs commit: src/sys/vfs/hammer hammer.h hammer_blockmap.c hammer_flusher.c hammer_inode.c hammer_io.c hammer_mount.h hammer_object.c hammer_ondisk.c hammer_prune.c hammer_reblock.c hammer_vfsops.c hammer_vnops.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Sun Jul 13 20:21:16 PDT 2008
dillon 2008/07/13 20:20:49 PDT
DragonFly src repository
Modified files:
sys/vfs/hammer hammer.h hammer_blockmap.c
hammer_flusher.c hammer_inode.c
hammer_io.c hammer_mount.h
hammer_object.c hammer_ondisk.c
hammer_prune.c hammer_reblock.c
hammer_vfsops.c hammer_vnops.c
Log:
HAMMER 61F/Many: Stabilization w/ simultanious pruning and reblocking
* BUG FIX: When doing direct-read check to see if any device buffers
are aliasing the disk block and flush any we find which are dirty.
This ensures that reblocked data gets to disk before a direct-read
tries to read them FROM the disk.
* BUG FIX: Fix a bug introduced in a recent commit where the flusher
wlll not always completely flush the UNDO FIFO or completely flush
all meta-data, resulting in a rollback after a normal umount/mount.
* BUG FIX: Direct-writes queue I/O independant of the in-memory record.
When the backend flusher flushes the record, making it available in the
B-Tree, make sure that the indepent I/O has completed. Otherwise
a later reblocking operation might read the media before the direct-write
has actually completed.
* BUG FIX: In-memory records are not subject direct-IO, since their data
is not yet on the media.
* BUG FIX: Do not allow mount to succeed unless all volumes have been found.
(Reported-by: Sascha Wildner <saw at online.de>)
* BUG FIX: The bd_heatup() call in the reblocker was in the wrong place,
potentially causing the cursor to shift unexpectedly.
* Reorient some of the buffer invalidation code by enhancing
the reservation code.
* Add read CRC verification logic for some direct-reads, but comment it out
because the VM system's bogus-page replacement breaks it.
Revision Changes Path
1.117 +22 -7 src/sys/vfs/hammer/hammer.h
1.24 +45 -1 src/sys/vfs/hammer/hammer_blockmap.c
1.40 +33 -4 src/sys/vfs/hammer/hammer_flusher.c
1.103 +1 -1 src/sys/vfs/hammer/hammer_inode.c
1.49 +135 -12 src/sys/vfs/hammer/hammer_io.c
1.9 +1 -0 src/sys/vfs/hammer/hammer_mount.h
1.90 +40 -21 src/sys/vfs/hammer/hammer_object.c
1.69 +53 -0 src/sys/vfs/hammer/hammer_ondisk.c
1.18 +4 -2 src/sys/vfs/hammer/hammer_prune.c
1.32 +21 -13 src/sys/vfs/hammer/hammer_reblock.c
1.63 +36 -7 src/sys/vfs/hammer/hammer_vfsops.c
1.91 +46 -30 src/sys/vfs/hammer/hammer_vnops.c
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer.h.diff?r1=1.116&r2=1.117&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_blockmap.c.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_flusher.c.diff?r1=1.39&r2=1.40&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_inode.c.diff?r1=1.102&r2=1.103&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_io.c.diff?r1=1.48&r2=1.49&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_mount.h.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_object.c.diff?r1=1.89&r2=1.90&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ondisk.c.diff?r1=1.68&r2=1.69&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_prune.c.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_reblock.c.diff?r1=1.31&r2=1.32&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vfsops.c.diff?r1=1.62&r2=1.63&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vnops.c.diff?r1=1.90&r2=1.91&f=u
More information about the Commits
mailing list