Cannot Set Dataset Quota for zvol


I am using Truenas Scale 24 and have created a Pool called Test. inside it, I have two dataset zvol named as test1 and test1 using provisning as Sparse. I am trying to set the Quota for the zvols but not able to. It is just keeps loading and doesn’t throw any error as well. Please help

You cannot set a quota for a zvol - the volsize is the quota.


Hi @pmh thanks for your reply. I would like to know what are these options for :

Also my zvol provisioning type is Sparse and there is volume size set to 100 Gib but what is Space Available to Zvol:192.29 GiB ?

They do not apply to zvols, only to datasets to the best of my knowledge.

Your zvol has got a volsize of 100G. That means it will never grow beyond that size. It’s a virtual block device with 100G worth of virtual “disk blocks”.

192.29 GiB available means it could grow up to that if you adjusted the volsize accordingly.

Thank you for your awesome explanation. The reason that I was trying to understand it was, this dataset is connected to esxi host and when I look into vmkernel logs, it shows the below error:
Fil6 file IO () : No space left on device
2024-05-04T14:26:58.919Z cpu41:8799934)Fil6: 4060: ioCtx: 0x45d91b466a80, world: 8794344, overallStatus: No space left on device, token: 0x45b90008fb80, tokenStatus: Success, txnToken: 0x0, txnTokenStatus: N, totalIOSize: 45056, maxIOLength: 14257532928

Problem with your iSCSI target configuration, possibly? The zvol used as the backing store should grow as necessary up to the volsize.

My configuration is per the article:

and ESXI has vmhba64 iSCSI Software Adapter through which it is talking to the dataset. so I don’t really think if this is the actual problem here.

Another problem I seeing in different datastore, where I have made 8TiB of Dataset, and ESXi shows this used as 3.54 TB but truenas shows used as 1.62 Tib. Is there any different mechanism data is stored when it comes to sparse zvol dataset?

Sorry, we have left my area of expertise. I don’t use iSCSI.

But please try to get your terminology correct. Zvol =/= dataset. These are two completely different things. There is no zvol dataset. ZFS presents you either a zvol (block device) or a dataset (filesystem abstraction).

Ahh! Yes, that’s correct zvol is not dataset. Thank you for correcting me.

HI Team, could anybody else help me with this query please ?

There is no “team” here - this is the community forum, users helping users.

I suggest you change the subject of your thread or create a new one with something like “cannot access iSCSI target from ESXi” or some such. So people who know this stuff might actually look at your problem.