Where does one summon Storage. I suddenly got 9.11TB of storage even though i have 6

hmmm
(Imgur: The magic of the Internet)

And the above command?

my bad. forgot
here you go

NAME       SIZE  ALLOC   FREE  BCLONE_USED  BCLONE_SAVED
Volume 1  5.45T  2.78T  2.67T        83.3G         7.59T

7.59T with “BCLONE_SAVED”

1 Like

I don’t know what all of this means at this point. fully confused.

If you weren’t using block-cloning, your pool would require an additional 7.59 TiB to store the data blocks.

This is likely what occurred when you “copied” a large bulk of data.

No new data blocks were created. ZFS simply made “pointers” to the existing data blocks.

Block-cloning is a transparent feature in ZFS (2.2+). You don’t need to do anything special, other than to “copy” files as you normally would.

1 Like

Yeah but how do i know what files are affected? Since i did copy a whole lot. This problem did only occur after Nextcloud tried to transfer the ownership of all the files from one acc to the other. So that opens up a whole new problem.

Nothing is “affected”. No additional space is being consumed on the pool.

When you query each dataset, it will do “reverse math”, starting from a point of “this is how much free space remains”. That’s why according an independent dataset, it reports “9 TiB” used space, since it calculates the total amount based on “usage of the files”.

The GUI’s “Dashboard” is querying the root dataset (not the pool), which I agree is misleading. (Not just the root dataset, but all of its snapshots, children, and children’s snapshots too.)

The zpool command is not concerned with this, as it knows about “cloned blocks”, and so it does not double, triple, quadruple count the same data blocks.

So it will revert by itself or won’t do nothing?

The “BCLONE” values will decrease (or disappear) once all files[1] are deleted that point to the same data blocks.

Let’s say you “copied” a folder containing 1-TiB worth of files.

FolderA → FolderB

You will have BCLONE_SAVED reporting 1 TiB.

Both folders (and all their files) still exist.

Then you delete FolderA.

You will have BCLONE_SAVED reporting 0.

No extra space was consumed on the pool after you did the “copy”. No extra space was freed from the pool after you deleted FolderA.

You can have a hundred pointers to the same data block. The data block only consumes one instance of itself on the pool, no matter what other file-level tools (or dataset queries) might report.


  1. Once there are no data blocks that have multiple pointers. Obviously you don’t want to delete all files, since you’ll lose everything. ↩︎

1 Like

Thank you very much. I’d straight up go into panic without knowing that. Weird that TrueNas didn’t implement that in the WebUI

For some reason on the Pool’s overview page, they decided to show you the space reporting of the pool’s root dataset, but not the pool itself.

2 Likes

Yes - absolutely stupid - I believe I put in a ticket somewhere how they should address space reporting issues (including the bug related to raidz expansion).

2 Likes