tape-admin: update ltfs_devname handling

- make ltfs_devname a global variable
- update all references in functions using the variable
- introduce new function ltfs_get_devname()
- call ltfs_get_devname on startup

Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
This commit is contained in:
2018-12-29 17:52:27 +01:00
parent a5d5aa5ef5
commit f399a29084

View File

@@ -32,7 +32,7 @@ date_seconds=""
default_changer_device="/dev/changer" default_changer_device="/dev/changer"
dryrun=0 dryrun=0
ltfs_mountpoint="/media/tape" ltfs_mountpoint="/media/tape"
ltfs_devname="/dev/sg9" ltfs_devname=""
mediapools_json="/etc/dsnap-sync/MediaPools.json" mediapools_json="/etc/dsnap-sync/MediaPools.json"
mediapool_name="" mediapool_name=""
timezone="Europe/Berlin" timezone="Europe/Berlin"
@@ -75,7 +75,6 @@ check_prerequisites () {
which perl >/dev/null 2>&1 || { printf "'%s' is not installed.\n" perl && exit 1; } which perl >/dev/null 2>&1 || { printf "'%s' is not installed.\n" perl && exit 1; }
which awk >/dev/null 2>&1 || { printf "'%s' is not installed.\n" awk && exit 1; } which awk >/dev/null 2>&1 || { printf "'%s' is not installed.\n" awk && exit 1; }
which sed >/dev/null 2>&1 || { printf "'%s' is not installed.\n" sed && exit 1; } which sed >/dev/null 2>&1 || { printf "'%s' is not installed.\n" sed && exit 1; }
} }
compare_date () { compare_date () {
@@ -520,7 +519,6 @@ get_retensiondate () {
} }
ltfs_get_attribute () { ltfs_get_attribute () {
local ltfs_devname=${ltfs_devname}
local ltfs_attribute_name=${1:-volumeName} local ltfs_attribute_name=${1:-volumeName}
if [ $verbose -ge 1 ]; then if [ $verbose -ge 1 ]; then
@@ -550,8 +548,32 @@ ltfs_get_attribute () {
return $? return $?
} }
ltfs_get_devname () {
if [ $verbose -ge 1 ]; then
printf "${BLUE}ltfs_get_devname...${NO_COLOR}\n"
fi
ltfs_is_mounted
if [ $? -eq 1 ]; then
make_err_file
ltfs -o device_list -o quiet 2>/dev/null${LTFS} -o device_list 2>${ERRFILE}
# ltfs returns '1'
RET=$?
if [ $RET -eq 1 ]; then
ltfs_devname=$(cat $ERRFILE | awk -F ',' ' /Vender ID/ {print $1}' | awk -F '= ' '{print $2}')
if [ $verbose -ge 2 ]; then
printf "${MAGENTA}LTFS device name: ${GREEN}'%s'${MAGENTA}\n" \
$ltfs_devname
fi
rm -f ${ERRFILE}
return 0
else
return $RET
fi
fi
}
ltfs_format () { ltfs_format () {
local ltfs_devname=${ltfs_devname}
local volume_name=${1} local volume_name=${1}
local volume_serial=${2} local volume_serial=${2}
@@ -579,8 +601,6 @@ ltfs_format () {
} }
ltfs_is_mounted () { ltfs_is_mounted () {
local ltfs_devname
if [ $verbose -ge 1 ]; then if [ $verbose -ge 1 ]; then
printf "${BLUE}ltfs_is_mounted...${NO_COLOR}\n" printf "${BLUE}ltfs_is_mounted...${NO_COLOR}\n"
fi fi
@@ -750,7 +770,6 @@ ltfs_umount () {
} }
ltfs_wipe () { ltfs_wipe () {
local ltfs_devname=${ltfs_devname}
local volume_name=${1} local volume_name=${1}
local tape_id=${2} local tape_id=${2}
@@ -2088,6 +2107,9 @@ check_prerequisites
# validate commandline options, set resonable defaults # validate commandline options, set resonable defaults
parse_params $@ parse_params $@
# validate the device name to access ltfs
ltfs_get_devname
case $cmd in case $cmd in
add-retensiondays) add-retensiondays)
add_retensiondays_to_retensiondate "${mediapool_name}" "${volume_name}" "${retension_days}" add_retensiondays_to_retensiondate "${mediapool_name}" "${volume_name}" "${retension_days}"