OpenMediaVault-Plugin-Developers / openmediavault-zfs

OpenMediaVault plugin for zfs
74 stars 15 forks source link

BUG: After creating a ZFS dataset, all GUI SharedFolders Change from Pool to new dataset #83

Open stephendee opened 2 years ago

stephendee commented 2 years ago

Forum discussion:

Steps to reproduce problem

CLI Create a new zfs pool # zfs create tank GUI create a new shared FS (e.g. NewShare1) that uses the new pool "tank" GUI create a new shared FS (e.g. NewShare2) that uses the new pool "tank" CLI create a new zfs dataset # zfs create tank/stuff GUI PROBLEM: Examine GUI shared Folders -> NewShare1 and NewShare2 now use device reference tank/stuff instead of tank All systems and services up to date. Running on the latest PVE kernel (due to ZFS).

Based on first forum comment I found about this issue, this problem has existed since at least August 18, 2022

MANUAL WORKAROUND: manually change all device sources from the new dataset back to the original pool every time a new dataset is added.

FEATURE SUGGESTION: Add dataset support to the GUI. Ideally, I would like to create a Shared Folder that is a dataset and use the dataset as the "File System" and the relative path as "." - The current approach requires that the pool be mounted on the filesystem with datasets hanging off it, rather than simply mounting the dataset on the filesystem. I think that this scenario might be an unexpected use case workaround for the relative path requirement and contributing to the bug.

ryecoaaron commented 2 years ago

Based on first forum comment I found about this issue, this problem has existed since at least August 18, 2022

Since the backend hasn't changed in years, it has probably existed for a very long time. I never saw that thread. The behavior seems like a visual issue in the web interface and not actually changing sharedfolder config. But I will have to try to reproduce.

ryecoaaron commented 2 years ago

This seems to be caused by the import. I can replicate it using the command line but not from the web interface. I will see what I can find but the "workaround" (not really a workaround) is to use the web interface for all parts.