History log of /dragonfly/sys/vfs/hammer2/CHANGES (Results 1 – 1 of 1)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3, v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1, v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4, v4.0.3, v4.0.2, v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1, v3.6.0, v3.7.1, v3.6.0rc, v3.7.0, v3.4.3, v3.4.2, v3.4.0, v3.4.1, v3.4.0rc, v3.5.0, v3.2.2, v3.2.1, v3.2.0, v3.3.0, v3.0.3, v3.0.2, v3.0.1
# db71f61f 14-Feb-2012 Matthew Dillon <dillon@apollo.backplane.com>

hammer2 - clean-up the chain code, first cut at the read/write/strategy code

* Do a major cleanup of the hammer2_chain handling code.

We no longer kmalloc() a local copy when a chain element is m

hammer2 - clean-up the chain code, first cut at the read/write/strategy code

* Do a major cleanup of the hammer2_chain handling code.

We no longer kmalloc() a local copy when a chain element is modified.

Instead we differentiate elements whos data is embedded (volume header,
inodes) vs elements whos data is mapped to a buffer cache buffer (indirect
blocks and data).

Elements with embedded data simply leave the data pointer pointing at the
embedded data as before.

Elements without embedded data instantiate the newly allocated
copy-on-write buffer cache buffer and bcopy() the data from the old
buffer to the new buffer, replacing chain->bp and the chain->data pointer.
The new bp is dirtied.

The modified data no longer needs to be retained when the chain elmeent
is released, we bdwrite() the bp and thus can reinstantiate the modified
data at any time in the future. This also allows the system to flush
the modified data out.

* Implement hammer2_vop_read(), hammer2_vop_write(), and
hammer2_vop_strategy().

Currently untested (files cannot be created yet), but fairly
straight-forward. Definitely also not optimized yet.

show more ...