commit 991d87e426f93bf68acf8541a51f9e6fb13517fe Author: Tomohiro Kusumi <kusumi.tomoh...@gmail.com> Date: Thu Aug 6 02:46:58 2015 +0900
sys/vfs/hammer: Fix wrong big-block accounting hammer volume-add|del should not count zone4 big-blocks as a part of vol0_stat_bigblocks. newfs_hammer excludes zone4 big-blocks from vol0_stat_bigblocks on bootstrapping, then volume-add|del should exclude either. As the following example shows, it currently makes difference on Used big-blocks/bytes between 1. newfs_hammer on multiple volumes and 2. newfs_hammer on a single volume and then add volumes which isn't something expected to happen. Example 1. # newfs_hammer -L TEST /dev/da1 /dev/da2 /dev/da3 > /dev/null # mount_hammer /dev/da1:/dev/da2:/dev/da3 /HAMMER # hammer info /HAMMER | grep Used Used 2 (0.00%) /* btree + meta */ Used 16M (0.00%) # umount /HAMMER Example 2. # newfs_hammer -L TEST /dev/da1 > /dev/null # mount_hammer /dev/da1 /HAMMER # hammer volume-add /dev/da2 /HAMMER # hammer volume-add /dev/da3 /HAMMER # hammer volume-blkdevs /HAMMER /dev/da1:/dev/da2:/dev/da3 # hammer info /HAMMER | grep Used Used 4 (0.01%) /* btree + meta + 2freemaps */ Used 32M (0.01%) # umount /HAMMER With this commit it results the same as the Example 1. # newfs_hammer -L TEST /dev/da1 > /dev/null # mount_hammer /dev/da1 /HAMMER # hammer volume-add /dev/da2 /HAMMER # hammer volume-add /dev/da3 /HAMMER # hammer volume-blkdevs /HAMMER /dev/da1:/dev/da2:/dev/da3 # hammer info /HAMMER | grep Used Used 2 (0.00%) Used 16M (0.00%) # umount /HAMMER Summary of changes: sys/vfs/hammer/hammer_volume.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/991d87e426f93bf68acf8541a51f9e6fb13517fe -- DragonFly BSD source repository