On Wed, May 2, 2012 at 3:28 PM, Fred Liu <fred_...@issi.com> wrote:
>>The size accounted for by the userused@ and groupused@ properties is the
>>"referenced" space, which is used as the basis for many other space
>>accounting values in ZFS (e.g. "du" / "ls -s" / stat(2), and the zfs
>>properties "referenced", "refquota", "refreservation", "refcompressratio",
>>"written"). It includes changes local to the dataset (compression, the
>>"copies" property, file-specific metadata such as indirect blocks), but
>>pool-wide or cross-dataset changes (space shared between a clone and its
>>origin, mirroring, raid-z, dedup[*]).
> Can we also get the *ignored* space accounted?
What problem are you trying to solve? How would you want referenced
or userused@... to work?
To be more clear: space shared between a clone and its origin is
"referenced" by both the clone and the origin, so it is charged to
both the clone's and origin's userused@... properties. The additional
space used by mirroring and raid-z applies to all blocks in the
pool[*], and is not charged anywhere (except by /sbin/zpool).
[*] Assuming you are using the recommended configuration of all the
same type of top-level vdevs; if you are not then there's no control
over which blocks go to which vdevs.
zfs-discuss mailing list