HAMMER 56F/Many: Stabilization pass
authorMatthew Dillon <dillon@dragonflybsd.org>
Sat, 21 Jun 2008 20:21:58 +0000 (20:21 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Sat, 21 Jun 2008 20:21:58 +0000 (20:21 +0000)
commit43c665ae988b8aad9ffde49db18622101a33d25c
tree9ff7a68274e2d5b07e6e1c194b9ff44e8397a06f
parent7e18a3f9cbfc8eead6f61f47e3ad10773855a69b
HAMMER 56F/Many: Stabilization pass

* When data is reblocked any related direct-io offsets cached in front-end
  buffer cache buffers must be cleaned out.  This also requires running
  through any snapshotted inodes referencing the same object.

* The flusher must check that the cached B-Tree node has not been flagged
  as deleted (HAMMER_NODE_DELETED) before seeking to it.

* hammer_io_direct_read() now requires and asserts that the second-level
  cached offset in the BIO is a zone-2 offset.

* hammer_io_direct_write() no longer overwrites the second-level cached
  offset with the third level raw disk offset.  It pushes a third level
  to set the raw disk offset.

* When creating a directory entry, set the localization field for pseudo-fs
  support (which isn't quite working yet anyway so no biggy).

* Move the Red-Black tree generator for inodes from hammer_ondisk.c to
  hammer_inode.c.
sys/vfs/hammer/hammer.h
sys/vfs/hammer/hammer_inode.c
sys/vfs/hammer/hammer_io.c
sys/vfs/hammer/hammer_object.c
sys/vfs/hammer/hammer_ondisk.c
sys/vfs/hammer/hammer_reblock.c
sys/vfs/hammer/hammer_vnops.c