ZFS plugin missing ZSTD option

    • Offizieller Beitrag

    The plugin currently creates the pool and then sets the options (whether on the form or not). I could change the code to pass the options on creation (creating a filesystem does that). I was more concerned about whether you think those options should just be set on pool creation for the filesystem to inherit them OR if the filesystem creation should explicitly set them.

    omv 7.0.5-1 sandworm | 64 bit | 6.8 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.13 | compose 7.1.6 | k8s 7.1.0-3 | cputemp 7.0.1 | mergerfs 7.0.4


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

  • @ryecoarron I looked at https://docs.openmediavault.or…velopment/howitworks.html to get a better idea of how the front end and back end communicate. Putting omv-egined in debug shows the rpc call is to the zfs service addpool method when the user creates a pool via the WebUI. Looking at your commit changes for including zstd compression confirms "method ‎OMVRpcServiceZFS.addPool" is the central piece of code.


    Line 158, looks to be the place where you could add pool properties options "failmode=continue" and "autoexpand=on".

    The pool is effectively created at line 194.


    More importantly, between line 197 & 202 is where you could add/amend code to set pool filesystem properties "atime=off, alctype=posix, xattr=sa" before the setProperties method is called.


    Is the idea of hidden fields used on OMV WebUI pages? Are hidden fixed fields with names and values on the create pool page a viable way to get those options passed to the back end?

    • Offizieller Beitrag

    Line 158, looks to be the place where you could add pool properties options "failmode=continue" and "autoexpand=on".

    The pool is effectively created at line 194.


    More importantly, between line 197 & 202 is where you could add/amend code to set pool filesystem properties "atime=off, alctype=posix, xattr=sa" before the setProperties method is called.

    Yep, I already have the changes made and have been doing some testing.


    Is the idea of hidden fields used on OMV WebUI pages?

    It can be done but that isn't what I am doing for this.


    Are hidden fixed fields with names and values on the create pool page a viable way to get those options passed to the back end?

    Sure but I was hard-coding them in the php code

    omv 7.0.5-1 sandworm | 64 bit | 6.8 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.13 | compose 7.1.6 | k8s 7.1.0-3 | cputemp 7.0.1 | mergerfs 7.0.4


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

    • Offizieller Beitrag

    update defaults · OpenMediaVault-Plugin-Developers/openmediavault-zfs@46198b1
    Signed-off-by: Aaron Murray <plugins@omv-extras.org>
    github.com

    • Offizieller Beitrag

    zfs plugin 7.0.3 in the repo now.


    * Exclude root and boot filesystems if they are zfs

    * Set default ashift to 12

    * Add zstd compression types and populate compression types with a function

    * Add search field and make columns sortable on properties form

    * Sort properties by name by default

    * Update pool and filesystem creation defaults

    omv 7.0.5-1 sandworm | 64 bit | 6.8 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.13 | compose 7.1.6 | k8s 7.1.0-3 | cputemp 7.0.1 | mergerfs 7.0.4


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

  • ryecoaaron

    Hat das Label gelöst hinzugefügt.
  • @ryecoarron Things are not quite right yet. This is what I have after creating a new pool from the WebUI:


    Values of acltype, xattr, and atime are still the defaults.




    Not part of this bug fix, but two other problems are incorrect mount option shown in WebUI for zfs filesystmes and devices used in pools are not excluded from "creating filesytems", e.g:



    At the CLI:



    • Offizieller Beitrag

    Values of acltype, xattr, and atime are still the defaults.

    These are set for the filesystem not pool because trying to create pool with those options from the command line told me they are not pool options.


    Code
    $ sudo zpool create ztest10 -o ashift=12 -o atime=off -o acltype=posix -o xattr=sa -o failmode=continue -o autoexpand=on -m /srv/ztest11 /dev/vdj
    property 'atime' is not a valid pool or vdev property
    $ sudo zpool create ztest10 -o ashift=12 -o acltype=posix -o xattr=sa -o failmode=continue -o autoexpand=on -m /srv/ztest11 /dev/vdj
    property 'acltype' is not a valid pool or vdev property
    $ sudo zpool create ztest10 -o ashift=12 -o xattr=sa -o failmode=continue -o autoexpand=on -m /srv/ztest11 /dev/vdjproperty 'xattr' is not a valid pool or vdev property
    $ sudo zpool create ztest10 -o ashift=12 -o failmode=continue -o autoexpand=on -m /srv/ztest11 /dev/vdj
    $

    Not part of this bug fix, but two other problems are incorrect mount option shown in WebUI for zfs filesystmes and devices used in pools are not excluded from "creating filesytems", e.g

    Guess I will have to see where the mount options come from

    omv 7.0.5-1 sandworm | 64 bit | 6.8 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.13 | compose 7.1.6 | k8s 7.1.0-3 | cputemp 7.0.1 | mergerfs 7.0.4


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

    Einmal editiert, zuletzt von ryecoaaron ()

    • Offizieller Beitrag

    I guess I need to use capital 'O' for the options. I will fix.

    omv 7.0.5-1 sandworm | 64 bit | 6.8 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.13 | compose 7.1.6 | k8s 7.1.0-3 | cputemp 7.0.1 | mergerfs 7.0.4


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

    • Offizieller Beitrag

    add options to pool creation · OpenMediaVault-Plugin-Developers/openmediavault-zfs@f21dee0
    Signed-off-by: Aaron Murray <plugins@omv-extras.org>
    github.com

    omv 7.0.5-1 sandworm | 64 bit | 6.8 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.13 | compose 7.1.6 | k8s 7.1.0-3 | cputemp 7.0.1 | mergerfs 7.0.4


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

    • Offizieller Beitrag

    ere in the zfs command.

    And that is why I dislike working on this plugin.

    omv 7.0.5-1 sandworm | 64 bit | 6.8 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.13 | compose 7.1.6 | k8s 7.1.0-3 | cputemp 7.0.1 | mergerfs 7.0.4


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

    • Offizieller Beitrag

    The mount options are hard-coded. I will look for a better solution but not going to put a lot of time into this since it has always been this way.

    openmediavault-zfs/usr/share/omvzfs/Utils.php at master · OpenMediaVault-Plugin-Developers/openmediavault-zfs
    OpenMediaVault plugin for zfs. Contribute to OpenMediaVault-Plugin-Developers/openmediavault-zfs development by creating an account on GitHub.
    github.com

    omv 7.0.5-1 sandworm | 64 bit | 6.8 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.13 | compose 7.1.6 | k8s 7.1.0-3 | cputemp 7.0.1 | mergerfs 7.0.4


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

    • Offizieller Beitrag

    7.0.4 is in the repos. It will set the mount options from the output of /proc/mounts when importing or creating a new pool.

    omv 7.0.5-1 sandworm | 64 bit | 6.8 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.13 | compose 7.1.6 | k8s 7.1.0-3 | cputemp 7.0.1 | mergerfs 7.0.4


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

  • 7.0.4 is in the repos. It will set the mount options from the output of /proc/mounts when importing or creating a new pool.

    ryecoaaron Adding a pool now creates the pool with the desired properties set. Thanks for the enhancements to the complex zfs plugin.


    The sort/search on the properties from greatly improves the usability. Not only did you previously have to page back and forth, but with the edit button being at the top of the page and the save button at the bottom it was necessary to scroll up and down a lot to make a few changes to filesystem properties. Now you can just search for the property you want to edit which is much simpler to do.


    Want to know which filesystem properties are inherited form the pool just sort on source. If you want to know current value of recordsize, sort on Value. Want to know current value of all ACL related properties search on ACL. These few examples show the improvement.

  • Just wanted to say thank you for setting such sensible defaults and adding the option.


    I continue to be impressed by your dedication to these plugins :)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!