empty compression setting on imported pools blocks extra mount options. Fixes #1896 #1899
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Newly created pools have Pool.compression set to 'no' however imported pools, and the system pool, defaulted to Null / None for this field. Consequently "Empty" was indicated by x-editable inline compression edit on pool overview and detail pages. This entry and it's consequent value failed the dual submission of compression and mount options.
Summary:
Fixes #1896
and additionally:
Fixes #1861
Please see both issues texts for context.
@schakrava Ready for review.
Test for 'proof of fix':
Imported pools on fresh build and ensured that their 'extra mount options' could be inline edited prior to their 'Empty' (post pr 'Unset') compression entries having a selection made. Also edited system pool's compression and mnt_options entries in storageadmin_pool db to ensure future configuration on these elements will display as intended. Tested a completely fresh build to ensure system pool had it's Pool.compression set as intended.
Outstanding caveat: When editing both compression and mount options in Pool details page without a page refresh between them, stale settings can be re-applied. This is due to the Pool info held by that page not being refreshed and the js using this outdated info on the second settings submission. This bug can be addressed separately against an issue opened for this purpose.