#!/bin/bash
# Copyright (c) 2016 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
# Author: Lin Li
source ../include/ec.sh || exit 200
function main (){
local exit_status=1
Multipath_installation || Fail "fail to install device-mapper-multipath"
Print_kernel_info
Print_multipath_pkginfo
local stdout stderr
Log "create the multipathed disk via scsi_debug"
_init || Fail "fail to create the multipathed disk"
Cmd "multipath -ll"
Log "fail the multipathed disk"
Cmd "echo 0 > /sys/bus/pseudo/drivers/scsi_debug/max_luns"
Log "check the output of multipath & multipath -ll $mpath"
#will print the unexpected output if the issue is still there
#multipath to scan disks
Cmd "multipath ; multipath -ll $mpath"
stdout=${_STDOUT}
stderr=${_STDERR}
#mark as pass if no scsi_id error message observered
echo $stdout $stderr | grep '/lib/udev/scsi_id exitted' 1>/dev/null || exit_status=0
Cmd "echo 2 > /sys/bus/pseudo/drivers/scsi_debug/max_luns"
Cmd "multipath ; multipath -ll $mpath"
_destroy
return $exit_status
}
main || Fail "still print the message: scsi_id exitted while scanning the failed path"
Pass