I have an SSD for temporary (usually minutes ) storage of files mounted at /mnt/zpool-downloads . It’s only purpose is for downloads, so I planned to just share the root dataset via SMB in case I need to do any manual filing from it.
However, if I try to share the root dataset, I get the warning message “Configuring SMB exports of root-level datasets may lead to storage reconfiguration issues”
I’ll honor it by creating a DOWNLOADS child dataset and share that. But, I would like to understand the technical constraint that prevents the sharing of the root dataset, and the implications of ignoring it.
I’m using TrueNAS ElectricEel-24.10.0.2
Thx in advance.
That’s what the documentation hub has, it leads to “storage configuration issues”.
Apparently never a supported configuration, I found a thread (from 2018) in the old forum where someone had problems creating a folder in the the shared root dataset. Not sure if that is it.
As far as i can remember it was changed during the same period where root could no longer be used for smb access, and since the permissions of the root dataset can not be changed ( or was that also changed at the same time), other users could access the share, but do not have permissions to read/write to the share.
It has to do with permissions and the way ACLs are inherited. It also is like bullet 3 on how not to configure a NAS (At least in my book). Each dataset has a purpose. Root dataset it to hold other datasets (only)
It was likely a business decision for Enterprise customers. Meaning whence a root dataset was configured one way, any child dataset would inherit some / all of the configuration. Thus leading to a “fixed / static” configuration.
For Enterprise purposes that may later want another dataset with different configuration, forcing all shares to be child datasets of the root dataset makes business sense. This would reduce some customer support calls that can’t easily be solved.
For home and small business users such a limitation might be annoying. But, TrueNAS was not written for SOHO uses.
One side effect of this forced child dataset creation, is to separate pool name from dataset name. You can then use dataset name for the share name.