Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: cgd usage
Date: Wed, 4 Apr 2018 01:32:48 +0200
From: Thomas Klausner <tk%giga.or.at@localhost>
Message-ID: <20180403233248.swb2p7tiziks2aug@danbala>
| Wouldn't it be better to check device availability before asking for
| the passphrase?
Seems reasonable to me. I am testing a modification now...
(While not all that hard, it isn't as trivial as it seems).
In the meantine, I find the appended script (next_avail) useful
rather than embedding cgdN type things in scripts, etc...
kre
#! /bin/sh
# Usage: next_avail cloner-type-disk
# eg; next_avail vnd
# (or cgd or raid ...)
next_avail ()
{
local dev="$1"
local N=$(( ${#dev} + 1 ))
local unit units
local nl='
'
sysctl -n kern.drivers | tr ',' "$nl" | tr -d '][' |
grep " ${dev}\$" >/dev/null 2>&1 || {
echo >&2 "No ${dev} driver in booted kernel"
return 1
}
units=$(
sysctl -n hw.disknames |
tr ' ' '\012' |
grep '^'"${dev}"'[0-9]' |
sort -u -n -k 1.$N )
test -z "${units}" && {
test -e "/dev/${dev}0a" || {
echo >&2 "No ${dev}s available!"
return 1
}
echo "${dev}0"
return
}
N=0
for unit in ${units}
do
if [ "${unit}" = "${dev}${N}" ]
then
N=$(( N + 1 ))
else
echo "${dev}${N}"
return
fi
done
test -e /dev/"${dev}${N}a" || {
echo >&2 "All ${dev}s in use"
return 1
}
echo "${dev}${N}"
}
for A
do
next_avail "${A}"
done
Home |
Main Index |
Thread Index |
Old Index