changeset 819:8f144f4e8441 v0.29.1

FIX: farray_tryget_XXX_at_index() does not exist any more: use the new "cookie" functions instead
author Franz Glasner <fzglas.hg@dom66.de>
date Sun, 19 Jan 2025 15:30:47 +0100
parents 31d5d152126c
children 547939986714
files sbin/ftjail
diffstat 1 files changed, 14 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/sbin/ftjail	Sat Jan 18 16:38:39 2025 +0100
+++ b/sbin/ftjail	Sun Jan 19 15:30:47 2025 +0100
@@ -911,7 +911,7 @@
     local _tmp _line _log_sock
     local _root_dataset _root_mountpoint _root_type _root_options
     local _mnt_device _mnt_mountpoint _mnt_type _mnt_options
-    local _idx _sn_ds _sn_name _sn_ds_related
+    local _acookie _sn_ds _sn_name _sn_ds_related
     local _etcupdate_status
 
     _rc=0
@@ -974,8 +974,8 @@
     fi
 
     # Check snapshotting
-    _idx=1
-    while falist_tryget_item_at_index _sn_ds _sn_name _opt_snapshots ${_idx}; do
+    _acookie="$(falist_cookie_first _opt_snapshots)"
+    while falist_tryget_item_at _sn_ds _sn_name "${_acookie}"; do
         if zfs get -H -o value name "${_sn_ds}" >/dev/null 2>/dev/null; then
             # yes dataset exists: check that snapshots do not exist
             while IFS=$'\t' read -r _line; do
@@ -988,7 +988,7 @@
         else
             farray_append _errors "dataset for snapshots \`${_sn_ds}' does not exist"
         fi
-        _idx=$((_idx + 1))
+        _acookie="$(falist_cookie_next "${_acookie}")"
     done
 
     _jailname=''
@@ -1079,8 +1079,8 @@
                     true
                     ;;
             esac
-            _idx=1
-            while falist_tryget_key_at_index _sn_ds _opt_snapshots ${_idx}; do
+            _acookie="$(falist_cookie_first _opt_snapshots)"
+            while falist_tryget_key_at _sn_ds "${_acookie}"; do
                 case "${_mnt_device}" in
                     "${_sn_ds}")
                         _sn_ds_related="yes"
@@ -1091,7 +1091,7 @@
                     *)
                         ;;
                 esac
-                _idx=$((_idx + 1))
+                _acookie="$(falist_cookie_next "${_acookie}")"
             done
         done <<EOF4tHGCAASL775f9f320205
 ${_dir_mounts}
@@ -1145,7 +1145,7 @@
     local _dir_basename _dir_fn_tldir
     local _root_dataset _root_mountpoint _root_type _root_options
     local _mnt_device _mnt_mountpoint _mnt_type _mnt_options
-    local _idx _sn_ds _sn_name
+    local _acookie _sn_ds _sn_name
     local _clone_extra_props _canmount_prop
     local _line _opt
     local _root_readonly _root_origin
@@ -1201,8 +1201,8 @@
     fi
 
     # Check snapshotting
-    _idx=1
-    while falist_tryget_item_at_index _sn_ds _sn_name _opt_snapshots ${_idx}; do
+    _acookie="$(falist_cookie_first _opt_snapshots)"
+    while falist_tryget_item_at _sn_ds _sn_name "${_acookie}"; do
         if zfs get -H -o value name "${_sn_ds}" >/dev/null 2>/dev/null; then
             # yes dataset exists: check that snapshots do not exist
             while IFS=$'\t' read -r _line; do
@@ -1217,7 +1217,7 @@
             err "dataset for snapshots \`${_sn_ds}' does not exist"
             return 1
         fi
-        _idx=$((_idx + 1))
+        _acookie="$(falist_cookie_next "${_acookie}")"
     done
 
     _dir_basename="$(basename "${_directory}")"
@@ -1331,11 +1331,11 @@
     _dir_fn_tldir="${_u_tmpdir}/tldirs"
     LC_ALL=C /usr/bin/find "${_directory}" -depth 1 -type d 2>/dev/null | LC_ALL=C /usr/bin/sort >>"${_dir_fn_tldir}"
 
-    _idx=1
-    while falist_tryget_item_at_index _sn_ds _sn_name _opt_snapshots ${_idx}; do
+    _acookie="$(falist_cookie_first _opt_snapshots)"
+    while falist_tryget_item_at _sn_ds _sn_name "${_acookie}"; do
         echo "Creating snapshot \`${_sn_ds}@${_sn_name}'"
         zfs snapshot -r "${_sn_ds}@${_sn_name}" || { err "cannot snapshot \`${_sn_ds}@${_sn_name}'"; return 1; }
-        _idx=$((_idx + 1))
+        _acookie="$(falist_cookie_next "${_acookie}")"
     done
 
     # Unmount in reverse order: unmount can do it for us