On Wed, Dec 25, 2019 at 2:58 PM Till Wegmüller <toaster...@gmail.com> wrote:

> I can't remember where I learned it but I know what they mean.
>
> I think all if from the zfs man page.
>
> Refer is short for Blocks referenced. It shows the size of the
> Filesystem table at that the Snapshot or Dataset References. Even if the
> Blocks on disk are not related to that snapshot.


"Not related" doesn't sound like the right way to phrase it, "not deleted
since" would be somewhat better - however, zfs snapshots are not
implemented as "diffs" from a previous state (unlike virtualbox disk
snapshots, which have to operate oblivious to the filesystem being used).
Every zfs snapshot is basically a reference to the root of a filesystem
tree, which has full references to the entire filesystem as it was at the
point the snapshot was taken.  The sharing of unmodified data between
snapshots is simply that many nodes in this tree are the same exact blocks
on disk as they are in some other snapshot's tree (or the live filesystem
tree).  Thus, "referenced" is the full size of the filesystem as it was at
the time of the snapshot.

"Used", for the filesystem itself, instead reports all blocks referenced by
the filesystem, all its snapshots, and all child filesystems and their
snapshots (without counting any block twice).  If you want to know which
snapshots are holding onto the most "old" blocks, you can either mess
around with 'zfs destroy -nv', or you can use zfs properties like
'written@<snapshot>'
to back-calculate how much has been deleted/overwritten between snapshots.
I have a pair of scripts that use the second way, snapspace and snapreport,
here:

https://github.com/coalsont/zfs-scripts

snapspace is the simpler and more useful one, snapreport is mainly meant
for figuring out ambiguous situations.
_______________________________________________
openindiana-discuss mailing list
openindiana-discuss@openindiana.org
https://openindiana.org/mailman/listinfo/openindiana-discuss

Reply via email to