diff options
author | Jan Houben | 2018-11-10 20:04:20 -0500 |
---|---|---|
committer | Jan Houben | 2018-11-10 20:05:29 -0500 |
commit | bbaf647639da445552186cf317edc54b31cbc5d8 (patch) | |
tree | 8a328932e3594d7a3d4f31811896faf3b4b4f9f1 | |
parent | 91f309d8ae804f1fb17d375cae64843bb882adc2 (diff) | |
download | aur-bbaf647639da445552186cf317edc54b31cbc5d8.tar.gz |
Prepare for archzfs
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | .gitignore | 12 | ||||
-rw-r--r-- | PKGBUILD | 12 | ||||
-rw-r--r-- | zfs-utils.bash-completion-r1 | 391 | ||||
-rw-r--r-- | zfs-utils.initcpio.hook | 181 | ||||
-rw-r--r-- | zfs-utils.initcpio.install | 104 | ||||
-rw-r--r-- | zfs-utils.install | 18 |
7 files changed, 8 insertions, 716 deletions
@@ -7,13 +7,7 @@ pkgbase = zfs-dkms-git license = CDDL makedepends = git source = git+https://github.com/zfsonlinux/zfs.git - source = zfs-utils.bash-completion-r1 - source = zfs-utils.initcpio.install - source = zfs-utils.initcpio.hook sha256sums = SKIP - sha256sums = b60214f70ffffb62ffe489cbfabd2e069d14ed2a391fac0e36f914238394b540 - sha256sums = 335e309ebf5b74fd8956f5e8805939c37d4008b0bcc3b00be6e7ef1d5b7c1669 - sha256sums = 290b18f538badce2eedd4ac4926a579535ec6c887436569fa6ff3685b55776bf pkgname = zfs-dkms-git pkgdesc = Kernel modules for the Zettabyte File System. (Git version) diff --git a/.gitignore b/.gitignore index edb102fd0fb8..b18b49395bde 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,5 @@ -!.gitignore - -/zfs -/src -/pkg -*.pkg* -*.orig +*.tar.xz +*.tar.gz +*.sig +*.log +zfs/ @@ -2,21 +2,15 @@ # Contributor: Iacopo Isimbaldi <isiachi@rhye.it> pkgbase="zfs-dkms-git" -pkgname=("zfs-dkms-git") +pkgname="zfs-dkms-git" pkgver=0.7.0_r1575_g93491c4bb pkgrel=1 license=('CDDL') makedepends=("git") arch=("i686" "x86_64") url="http://zfsonlinux.org/" -source=("git+https://github.com/zfsonlinux/zfs.git" - "zfs-utils.bash-completion-r1" - "zfs-utils.initcpio.install" - "zfs-utils.initcpio.hook") -sha256sums=('SKIP' - 'b60214f70ffffb62ffe489cbfabd2e069d14ed2a391fac0e36f914238394b540' - '335e309ebf5b74fd8956f5e8805939c37d4008b0bcc3b00be6e7ef1d5b7c1669' - '290b18f538badce2eedd4ac4926a579535ec6c887436569fa6ff3685b55776bf') +source=("git+https://github.com/zfsonlinux/zfs.git") +sha256sums=('SKIP') pkgver() { cd "${srcdir}/zfs" diff --git a/zfs-utils.bash-completion-r1 b/zfs-utils.bash-completion-r1 deleted file mode 100644 index b1aded368e85..000000000000 --- a/zfs-utils.bash-completion-r1 +++ /dev/null @@ -1,391 +0,0 @@ -# Copyright (c) 2013, Aneurin Price <aneurin.price@gmail.com> - -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: - -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. - -#if [[ -w /dev/zfs ]]; then - __ZFS_CMD="zfs" - __ZPOOL_CMD="zpool" -#else -# __ZFS_CMD="sudo zfs" -# __ZPOOL_CMD="sudo zpool" -#fi - -__zfs_get_commands() -{ - $__ZFS_CMD 2>&1 | awk '/^\t[a-z]/ {print $1}' | cut -f1 -d '|' | uniq -} - -__zfs_get_properties() -{ - $__ZFS_CMD get 2>&1 | awk '$2 == "YES" || $2 == "NO" {print $1}'; echo all name space -} - -__zfs_get_editable_properties() -{ - $__ZFS_CMD get 2>&1 | awk '$2 == "YES" {print $1"="}' -} - -__zfs_get_inheritable_properties() -{ - $__ZFS_CMD get 2>&1 | awk '$3 == "YES" {print $1}' -} - -__zfs_list_datasets() -{ - $__ZFS_CMD list -H -o name -t filesystem,volume -} - -__zfs_list_filesystems() -{ - $__ZFS_CMD list -H -o name -t filesystem -} - -__zfs_match_snapshot() -{ - local base_dataset=${cur%@*} - if [[ $base_dataset != $cur ]] - then - $__ZFS_CMD list -H -o name -t snapshot -d 1 $base_dataset - else - $__ZFS_CMD list -H -o name -t filesystem,volume | awk '{print $1"@"}' - fi -} - -__zfs_match_explicit_snapshot() -{ - local base_dataset=${cur%@*} - if [[ $base_dataset != $cur ]] - then - $__ZFS_CMD list -H -o name -t snapshot -d 1 $base_dataset - fi -} - -__zfs_match_multiple_snapshots() -{ - local existing_opts=$(expr "$cur" : '\(.*\)[%,]') - if [[ $existing_opts ]] - then - local base_dataset=${cur%@*} - if [[ $base_dataset != $cur ]] - then - local cur=${cur##*,} - if [[ $cur =~ ^%|%.*% ]] - then - # correct range syntax is start%end - return 1 - fi - local range_start=$(expr "$cur" : '\(.*%\)') - $__ZFS_CMD list -H -o name -t snapshot -d 1 $base_dataset | sed 's$.*@$'$range_start'$g' - fi - else - __zfs_match_explicit_snapshot; __zfs_list_datasets - fi -} - -__zfs_list_volumes() -{ - $__ZFS_CMD list -H -o name -t volume -} - -__zfs_argument_chosen() -{ - local word property - for word in $(seq $((COMP_CWORD-1)) -1 2) - do - local prev="${COMP_WORDS[$word]}" - if [[ ${COMP_WORDS[$word-1]} != -[tos] ]] - then - if [[ "$prev" == [^,]*,* ]] || [[ "$prev" == *[@:]* ]] - then - return 0 - fi - for property in $@ - do - if [[ $prev == "$property" ]] - then - return 0 - fi - done - fi - done - return 1 -} - -__zfs_complete_ordered_arguments() -{ - local list1=$1 - local list2=$2 - local cur=$3 - local extra=$4 - if __zfs_argument_chosen $list1 - then - COMPREPLY=($(compgen -W "$list2 $extra" -- "$cur")) - else - COMPREPLY=($(compgen -W "$list1 $extra" -- "$cur")) - fi -} - -__zfs_complete_multiple_options() -{ - local options=$1 - local cur=$2 - - COMPREPLY=($(compgen -W "$options" -- "${cur##*,}")) - local existing_opts=$(expr "$cur" : '\(.*,\)') - if [[ $existing_opts ]] - then - COMPREPLY=( "${COMPREPLY[@]/#/${existing_opts}}" ) - fi -} - -__zfs_complete_switch() -{ - local options=$1 - if [[ ${cur:0:1} == - ]] - then - COMPREPLY=($(compgen -W "-{$options}" -- "$cur")) - return 0 - else - return 1 - fi -} - -__zfs_complete() -{ - local cur prev cmd cmds - COMPREPLY=() - # Don't split on colon - _get_comp_words_by_ref -n : -c cur -p prev -w COMP_WORDS -i COMP_CWORD - cmd="${COMP_WORDS[1]}" - - if [[ ${prev##*/} == zfs ]] - then - cmds=$(__zfs_get_commands) - COMPREPLY=($(compgen -W "$cmds -?" -- "$cur")) - return 0 - fi - - case "${cmd}" in - clone) - case "${prev}" in - -o) - COMPREPLY=($(compgen -W "$(__zfs_get_editable_properties)" -- "$cur")) - ;; - *) - if ! __zfs_complete_switch "o,p" - then - if __zfs_argument_chosen - then - COMPREPLY=($(compgen -W "$(__zfs_list_datasets)" -- "$cur")) - else - COMPREPLY=($(compgen -W "$(__zfs_match_snapshot)" -- "$cur")) - fi - fi - ;; - esac - ;; - get) - case "${prev}" in - -d) - COMPREPLY=($(compgen -W "" -- "$cur")) - ;; - -t) - __zfs_complete_multiple_options "filesystem volume snapshot all" "$cur" - ;; - -s) - __zfs_complete_multiple_options "local default inherited temporary none" "$cur" - ;; - -o) - __zfs_complete_multiple_options "name property value source received all" "$cur" - ;; - *) - if ! __zfs_complete_switch "H,r,p,d,o,t,s" - then - if __zfs_argument_chosen $(__zfs_get_properties) - then - COMPREPLY=($(compgen -W "$(__zfs_match_explicit_snapshot) $(__zfs_list_datasets)" -- "$cur")) - else - __zfs_complete_multiple_options "$(__zfs_get_properties)" "$cur" - fi - fi - ;; - esac - ;; - inherit) - if ! __zfs_complete_switch "r" - then - __zfs_complete_ordered_arguments "$(__zfs_get_inheritable_properties)" "$(__zfs_match_explicit_snapshot) $(__zfs_list_datasets)" $cur - fi - ;; - list) - case "${prev}" in - -d) - COMPREPLY=($(compgen -W "" -- "$cur")) - ;; - -t) - __zfs_complete_multiple_options "filesystem volume snapshot all" "$cur" - ;; - -o) - __zfs_complete_multiple_options "$(__zfs_get_properties)" "$cur" - ;; - -s|-S) - COMPREPLY=($(compgen -W "$(__zfs_get_properties)" -- "$cur")) - ;; - *) - if ! __zfs_complete_switch "H,r,d,o,t,s,S" - then - COMPREPLY=($(compgen -W "$(__zfs_match_explicit_snapshot) $(__zfs_list_datasets)" -- "$cur")) - fi - ;; - esac - ;; - promote) - COMPREPLY=($(compgen -W "$(__zfs_list_filesystems)" -- "$cur")) - ;; - rollback) - if ! __zfs_complete_switch "r,R,f" - then - COMPREPLY=($(compgen -W "$(__zfs_match_snapshot)" -- "$cur")) - fi - ;; - send) - if ! __zfs_complete_switch "d,n,P,p,R,v,i,I" - then - COMPREPLY=($(compgen -W "$(__zfs_match_snapshot)" -- "$cur")) - fi - ;; - snapshot) - case "${prev}" in - -o) - COMPREPLY=($(compgen -W "$(__zfs_get_editable_properties)" -- "$cur")) - ;; - *) - if ! __zfs_complete_switch "o,r" - then - COMPREPLY=($(compgen -W "$(__zfs_list_datasets | awk '{print $1"@"}')" -- "$cur")) - fi - ;; - esac - ;; - set) - __zfs_complete_ordered_arguments "$(__zfs_get_editable_properties)" "$(__zfs_match_explicit_snapshot) $(__zfs_list_datasets)" $cur - ;; - upgrade) - case "${prev}" in - -a|-V|-v) - COMPREPLY=($(compgen -W "" -- "$cur")) - ;; - *) - if ! __zfs_complete_switch "a,V,v,r" - then - COMPREPLY=($(compgen -W "$(__zfs_list_filesystems)" -- "$cur")) - fi - ;; - esac - ;; - destroy) - if ! __zfs_complete_switch "d,f,n,p,R,r,v" - then - __zfs_complete_multiple_options "$(__zfs_match_multiple_snapshots)" $cur - fi - ;; - *) - COMPREPLY=($(compgen -W "$(__zfs_match_explicit_snapshot) $(__zfs_list_datasets)" -- "$cur")) - ;; - esac - __ltrim_colon_completions "$cur" - return 0 -} - -__zpool_get_commands() -{ - $__ZPOOL_CMD 2>&1 | awk '/^\t[a-z]/ {print $1}' | uniq -} - -__zpool_get_properties() -{ - $__ZPOOL_CMD get 2>&1 | awk '$2 == "YES" || $2 == "NO" {print $1}'; echo all -} - -__zpool_get_editable_properties() -{ - $__ZPOOL_CMD get 2>&1 | awk '$2 == "YES" {print $1"="}' -} - -__zpool_list_pools() -{ - $__ZPOOL_CMD list -H -o name -} - -__zpool_complete() -{ - local cur prev cmd cmds - COMPREPLY=() - cur="${COMP_WORDS[COMP_CWORD]}" - prev="${COMP_WORDS[COMP_CWORD-1]}" - cmd="${COMP_WORDS[1]}" - - if [[ ${prev##*/} == zpool ]] - then - cmds=$(__zpool_get_commands) - COMPREPLY=($(compgen -W "$cmds" -- "$cur")) - return 0 - fi - - case "${cmd}" in - get) - __zfs_complete_ordered_arguments "$(__zpool_get_properties)" "$(__zpool_list_pools)" $cur - return 0 - ;; - import) - if [[ $prev == -d ]] - then - _filedir -d - else - COMPREPLY=($(compgen -W "$(__zpool_list_pools) -d" -- "$cur")) - fi - return 0 - ;; - set) - __zfs_complete_ordered_arguments "$(__zpool_get_editable_properties)" "$(__zpool_list_pools)" $cur - return 0 - ;; - add|attach|clear|create|detach|offline|online|remove|replace) - local pools="$(__zpool_list_pools)" - if __zfs_argument_chosen $pools - then - _filedir - else - COMPREPLY=($(compgen -W "$pools" -- "$cur")) - fi - return 0 - ;; - *) - COMPREPLY=($(compgen -W "$(__zpool_list_pools)" -- "$cur")) - return 0 - ;; - esac - -} - -complete -F __zfs_complete zfs -complete -F __zpool_complete zpool diff --git a/zfs-utils.initcpio.hook b/zfs-utils.initcpio.hook deleted file mode 100644 index 2b6da8e6fd17..000000000000 --- a/zfs-utils.initcpio.hook +++ /dev/null @@ -1,181 +0,0 @@ -# -# WARNING: This script is parsed by ash in busybox at boot time, not bash! -# http://linux.die.net/man/1/ash -# https://wiki.ubuntu.com/DashAsBinSh -# http://www.jpsdomain.org/public/2008-JP_bash_vs_dash.pdf -# -ZPOOL_FORCE="" -ZPOOL_IMPORT_FLAGS="" - -zfs_get_bootfs () { - for zfs_dataset in $(zpool list -H -o bootfs); do - case ${zfs_dataset} in - "" | "-") - # skip this line/dataset - ;; - "no pools available") - return 1 - ;; - *) - ZFS_DATASET=${zfs_dataset} - return 0 - ;; - esac - done - return 1 -} - -zfs_decrypt_fs() { - dataset=$1 - - # check if 'zfs load-key' is available - zfs 2>&1 | grep load-key > /dev/null || return 0 - - # check if dataset is encrypted - [ "$(zfs get -H -o value encryption "${dataset}")" != "off" ] || return 0 - - # check if key is already loaded - [ "$(zfs get -H -o value keystatus "${dataset}")" != "available" ] || return 0 - - # get the encryption root - encryptionroot=$(zfs get -H -o value encryptionroot "${dataset}") - - # loop until we get the correct password - while ! eval zfs load-key "${encryptionroot}"; do - sleep 2 - done -} - -zfs_mount_handler () { - if [ "${ZFS_DATASET}" = "bootfs" ] ; then - if ! zfs_get_bootfs ; then - # Lets import everything and try again - zpool import ${ZPOOL_IMPORT_FLAGS} -N -a ${ZPOOL_FORCE} - if ! zfs_get_bootfs ; then - die "ZFS: Cannot find bootfs." - fi - fi - fi - - local pool="${ZFS_DATASET%%/*}" - local rwopt_exp="${rwopt:-ro}" - - if ! zpool list -H "${pool}" 2>1 > /dev/null ; then - if [ ! "${rwopt_exp}" = "rw" ]; then - msg "ZFS: Importing pool ${pool} readonly." - ZPOOL_IMPORT_FLAGS="${ZPOOL_IMPORT_FLAGS} -o readonly=on" - else - msg "ZFS: Importing pool ${pool}." - fi - - if ! zpool import ${ZPOOL_IMPORT_FLAGS} -N "${pool}" ${ZPOOL_FORCE} ; then - die "ZFS: Unable to import pool ${pool}." - fi - fi - - local node="$1" - local rootmnt=$(zfs get -H -o value mountpoint "${ZFS_DATASET}") - local tab_file="${node}/etc/fstab" - local zfs_datasets="$(zfs list -H -o name -t filesystem -r ${ZFS_DATASET})" - - # Mount the root, and any child datasets - for dataset in ${zfs_datasets}; do - mountpoint=$(zfs get -H -o value mountpoint "${dataset}") - case ${mountpoint} in - "none") - # skip this line/dataset. - ;; - "legacy") - if [ -f "${tab_file}" ]; then - if findmnt -snero source -F "${tab_file}" -S "${dataset}" > /dev/null 2>&1; then - opt=$(findmnt -snero options -F "${tab_file}" -S "${dataset}") - mnt=$(findmnt -snero target -F "${tab_file}" -S "${dataset}") - zfs_decrypt_fs "${dataset}" - mount -t zfs -o "${opt}" "${dataset}" "${node}${mnt}" - fi - fi - ;; - *) - zfs_decrypt_fs "${dataset}" - mount -t zfs -o "zfsutil,${rwopt_exp}" "${dataset}" "${node}/${mountpoint##${rootmnt}}" - ;; - esac - done -} - -set_flags() { - # Force import the pools, useful if the pool has not properly been exported using 'zpool export <pool>' - [ ! "${zfs_force}" = "" ] && ZPOOL_FORCE="-f" - - # Add import directory to import command flags - [ ! "${zfs_import_dir}" = "" ] && ZPOOL_IMPORT_FLAGS="${ZPOOL_IMPORT_FLAGS} -d ${zfs_import_dir}" - [ "${zfs_import_dir}" = "" ] && ZPOOL_IMPORT_FLAGS="${ZPOOL_IMPORT_FLAGS} -c /etc/zfs/zpool.cache" -} - -run_hook() { - set_flags - - # Wait 15 seconds for ZFS devices to show up - [ "${zfs_wait}" = "" ] && ZFS_WAIT="15" || ZFS_WAIT="${zfs_wait}" - - case ${root} in - # root=zfs - "zfs") - mount_handler="zfs_mount_handler" - ;; - # root=ZFS=... syntax (grub) - "ZFS="*) - mount_handler="zfs_mount_handler" - ZFS_DATASET="${root#*[=]}" - ;; - esac - - case ${zfs} in - "") - # skip this line/dataset - ;; - auto|bootfs) - ZFS_DATASET="bootfs" - mount_handler="zfs_mount_handler" - local pool="[a-zA-Z][^ ]*" - ;; - *) - ZFS_DATASET="${zfs}" - mount_handler="zfs_mount_handler" - local pool="${ZFS_DATASET%%/*}" - ;; - esac - - # Allow at least n seconds for zfs device to show up. Especially - # when using zfs_import_dir instead of zpool.cache, the listing of - # available pools can be slow, so this loop must be top-tested to - # ensure we do one 'zpool import' pass after the timer has expired. - sleep ${ZFS_WAIT} & pid=$! - local break_after=0 - while :; do - kill -0 $pid > /dev/null 2>&1 || break_after=1 - if [ -c "/dev/zfs" ]; then - zpool import ${ZPOOL_IMPORT_FLAGS} | awk " - BEGIN { pool_found=0; online=0; unavail=0 } - /^ ${pool} .*/ { pool_found=1 } - /^\$/ { pool_found=0 } - /UNAVAIL/ { if (pool_found == 1) { unavail=1 } } - /ONLINE/ { if (pool_found == 1) { online=1 } } - END { if (online == 1 && unavail != 1) - { exit 0 } - else - { exit 1 } - }" && break - fi - [ $break_after == 1 ] && break - sleep 1 - done - kill $pid > /dev/null 2>&1 -} - -run_latehook () { - set_flags - zpool import ${ZPOOL_IMPORT_FLAGS} -N -a ${ZPOOL_FORCE} -} - -# vim:set ts=4 sw=4 ft=sh et: diff --git a/zfs-utils.initcpio.install b/zfs-utils.initcpio.install deleted file mode 100644 index c3d5a9860aae..000000000000 --- a/zfs-utils.initcpio.install +++ /dev/null @@ -1,104 +0,0 @@ -#!/bin/bash - -build() { - map add_module \ - zavl \ - znvpair \ - zunicode \ - zcommon \ - zfs \ - spl - - map add_binary \ - arcstat.py \ - dbufstat.py \ - fsck.zfs \ - mount.zfs \ - seq \ - zdb \ - zed \ - zfs \ - zhack \ - zinject \ - zpool \ - zstreamdump \ - ztest \ - /lib/udev/vdev_id \ - /lib/udev/zvol_id \ - findmnt - - map add_file \ - /lib/udev/rules.d/60-zvol.rules \ - /lib/udev/rules.d/69-vdev.rules \ - /lib/udev/rules.d/90-zfs.rules \ - /lib/libgcc_s.so.1 - - map add_dir \ - /etc/zfs/zed.d - - add_runscript - - # allow mount(8) to "autodetect" ZFS - echo 'zfs' >>"${BUILDROOT}/etc/filesystems" - - [[ -f /etc/zfs/zpool.cache ]] && add_file "/etc/zfs/zpool.cache" - [[ -f /etc/modprobe.d/zfs.conf ]] && add_file "/etc/modprobe.d/zfs.conf" -} - -help() { - cat<<HELPEOF -This hook allows you to use ZFS as your root filesystem. - -Command Line Setup: - - You can append the following arguments to your kernel parameters list. See - https://wiki.archlinux.org/index.php/Kernel_parameters for more information. - - To use ZFS as your boot filesystem: - - zfs=bootfs or zfs=auto or root=zfs - - To use a pool or dataset: - - zfs=<pool/dataset> - - To force importing of a ZFS pool: - - zfs_force=1 - - If set to 1, this will use "zpool import -f" when attempting to import - pools. - - To change the seconds of time to wait for ZFS devices to show up at boot: - - zfs_wait=30 - - To search for devices in a directory other than "/dev": - - zfs_import_dir=/dev/disk/by-uuid - or - zfs_import_dir=/dev/disk/by-partuuid - or - zfs_import_dir=/dev/disk/by-path - etc. - - Following initcpio convention, the 'rw' option must be specified to load the - pool as read/write. Pools are loaded as read only by default. - -Examples: - - To use bootfs on your pool, use - - zfs=bootfs rw - - This will setup your root using tank/root zfs pool. - - zfs=tank/root rw - -If you want to set properties for zfs-on-linux module, you should add them to -/etc/modprobe.d/zfs.conf and then rebuild initcpio. - -HELPEOF -} - -# vim: set ts=4 sw=4 ft=sh et: diff --git a/zfs-utils.install b/zfs-utils.install deleted file mode 100644 index 85d0a9f574da..000000000000 --- a/zfs-utils.install +++ /dev/null @@ -1,18 +0,0 @@ -post_upgrade() { - - # If upgrading from 0.7.0_r211_g4e9b15696-1 or older - # display zfs-import warning - if [[ $(vercmp $2 0.7.0_r211_g4e9b15696-1) -le 0 ]]; then - echo '>>> WARNING: A new systemd unit file was added to archzfs!' - echo '>>> You may need enable zfs-import.target' - echo '>>> See https://github.com/archzfs/archzfs/issues/186' - fi - - # If upgrading from 0.7.0_r275_g1b66810ba-1 or older - # display encryption format change warning - if [[ $(vercmp $2 0.7.0_r275_g1b66810ba-1) -le 0 ]]; then - echo '>>> WARNING: The on-disk format for encrypted datasets has changed!' - echo '>>> All encrypted datasets will mount read only and need to be migrated.' - echo '>>> See https://github.com/archzfs/archzfs/issues/222' - fi -} |