commit e179dc662730328d2e2ab43f659c0d2fc9319d98 Author: Tomohiro Kusumi <kusumi.tomoh...@gmail.com> Date: Sun Jun 25 02:17:09 2017 +0300
sbin/hammer: Fix get_buffer_data()'s wrong xor for undo buffer caching As mentioned in 830ab40e "sbin/hammer: Redo e4323571 partly (after reverted by 03d5db37)", 830ab40e (originally by e4323571) fixed a bug for get_buffer_data() wrongly taking xor of zone-X offset and zone-2 offset, where X is one of the direct zones other than zone-2. This commit fixes it for indirect zone which is zone-3 (and only zone-3 in this case). The reason zone-3 being different is because zone-3 to zone-2 translation isn't direct mapped, but instead the volume header has a pointer to big-blocks that belong to zone-3. Also see 0942cbbc which made this xor bug clear. Summary of changes: sbin/hammer/ondisk.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e179dc662730328d2e2ab43f659c0d2fc9319d98 -- DragonFly BSD source repository