# RAIDZ2 pool creation
#
#      -o (lowercase) is a _pool_ setting, -O (uppercase) is a _root dataset_ setting
#
#      ashift=12:           2^12 = 4KiB sectors, for certain NVMe drives use 13 (8KiB)
#      autotrim:            TRIM for SSDs
#      encryption=on:       Defaults to aes-256-gcm (since 0.8.4)
#      pbkdf2iters=700000:  Double the default PBKDF2-SHA1(?) iterations, default is 350000
#      dnodesize=auto:      Is supposed to be used on systems running SAMBA with xattr=sa
#      compression=on:      Defaults to lz4 (when lz4_compress is enabled, see `zpool get feature@lz4_compress ${NAME}`)
#      normalization=formD: Decomposed Unicode normalization, implies utf8only=on, so UTF-8 filenames only
#      longname=on:         Allows filenames up to 1023 bytes, default is off meaning 255 bytes (supported since 2.3.0)
#      direct:              Unset, defaulting to always (since 2.2.0)
#  !!! recordsize:          Unset, defaulting to 128KiB (important performance related setting!)
#
#      Sources:
#      https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Trixie%20Root%20on%20ZFS.html#step-2-disk-formatting
#      https://openzfs.github.io/openzfs-docs/man/master/7/zfsprops.7.html#compression
#      https://openzfs.github.io/openzfs-docs/man/master/7/zfsprops.7.html#direct
#      https://openzfs.github.io/openzfs-docs/man/master/7/zfsprops.7.html#dnodesize
#      https://openzfs.github.io/openzfs-docs/man/master/7/zfsprops.7.html#longname
#      https://openzfs.github.io/openzfs-docs/man/master/7/zfsprops.7.html#pbkdf2iters
#
#
zpool create \
    -o ashift=12 \
    -o autotrim=on \
    -O encryption=on -O keylocation=prompt -O keyformat=passphrase \
    -O pbkdf2iters=700000 \
    -O acltype=posixacl -O xattr=sa -O dnodesize=auto \
    -O compression=on \
    -O normalization=formD \
    -O relatime=on \
    -O longname=on \
    -O canmount=off \
    -O mountpoint=/mnt/${NAME} ${NAME} \
    raidz2 \
    ${DISK1..N} 


# Dataset creation
TODO