Mercurial > hgrepos > FreeBSD > ports > sysutils > local-bsdtools
changeset 254:39268cba8c46
FIX: Error handling
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Sun, 11 Sep 2022 21:40:57 +0200 |
| parents | 590007b0e902 |
| children | 7f21d242f79f |
| files | sbin/ftjail |
| diffstat | 1 files changed, 7 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/sbin/ftjail Sun Sep 11 18:37:51 2022 +0200 +++ b/sbin/ftjail Sun Sep 11 21:40:57 2022 +0200 @@ -658,8 +658,11 @@ _ds="${1}" _snap_name="${2}" + [ -z "${_ds}" ] && { echo "ERROR: no dataset given" 1>&2; return 2; } + [ -z "${_snap_name}" ] && { echo "ERROR: no snapshot name given" 1>&2; return 2; } + if ! zfs list -H -o name -t filesystem "${_ds}" 1> /dev/null 2> /dev/null ; then - echo "ERROR: parent dataset \`${_ds}' does not exist" 1>&2 + echo "ERROR: parent dataset \`${_ds}' does not exist or is not available" 1>&2 return 1 fi @@ -679,9 +682,9 @@ _ds_skel="${2-}" _snap_name="${3-}" - [ -z "${_ds_base}" ] && echo "ERROR: no RO base dataset name given" 1>&2 - [ -z "${_ds_skel}" ] && echo "ERROR: no RW skeleton dataset name given" 1>&2 - [ -z "${_snap_name}" ] && echo "ERROR: no snapshot name given" 1>&2 + # Here extra checks because of better error messages possible + [ -z "${_ds_base}" ] && { echo "ERROR: no RO base dataset name given" 1>&2; return 2; } + [ -z "${_ds_skel}" ] && { echo "ERROR: no RW skeleton dataset name given" 1>&2; return 2; } _do_snapshot "${_ds_base}" "${_snap_name}" || return _do_snapshot "${_ds_skel}" "${_snap_name}" || return
