The TrueNAS 12.0 WebUI allows a user to choose from 3-4 different levels of zstd compression on a dataset, but ZFS itself offers many more. A dataset might have a zstd compression level set on it that isn't offered by the WebUI, whether set through the command line or set on a different system and then imported into TrueNAS.
When a dataset has a zstd compression level set that isn't available in the WebUI, it becomes impossible to edit any of the dataset's properties in the WebUI, even if those properties are completely unrelated to compression. TrueNAS throws an error, does not save any changes made in the WebUI, and displays the following traceback:
Steps to reproduce:
- Create a new dataset in the WebUI using default values
- At the commandline, set a zstd compression level not available in the WebUI. For example:
- Back in the WebUI, select "Edit Options" on the dataset
- Change a property unrelated to compression, e.g. change "Enable atime" to "off"
- Attempt to save the changes
The WebUI pops up with a traceback error and the change to the dataset is not saved.
The change to the dataset is saved without error. Even if the WebUI does not offer a particular compression setting, it shouldn't choke on saving completely unrelated changes to the dataset when such a compression setting happens to already exist on a dataset.