diff -Nur sg3_utils-1.37_old/scripts/rescan-scsi-bus.sh sg3_utils-1.37/scripts/rescan-scsi-bus.sh
--- sg3_utils-1.37_old/scripts/rescan-scsi-bus.sh 2018-06-12 19:54:42.668354127 +0800
+++ sg3_utils-1.37/scripts/rescan-scsi-bus.sh 2018-06-12 19:55:13.261890351 +0800
@@ -273,9 +273,19 @@
return 2
fi
TMPSTR=`echo "$SCSISTR" | grep 'Vendor:'`
- if [ "$TMPSTR" != "$STR" ]; then
- echo -e "\e[A\e[A\e[A\e[A${red}$SGDEV changed: ${bold}\nfrom:${SCSISTR#* } \nto: $STR ${norm} \n\n\n"
- return 1
+ if test $ignore_rev -eq 0 ; then
+ if [ "$TMPSTR" != "$STR" ]; then
+ echo -e "\e[A\e[A\e[A\e[A${red}$SGDEV changed: ${bold}\nfrom:${SCSISTR#* } \nto: $STR ${norm} \n\n\n"
+ return 1
+ fi
+ else
+ # Ignore disk revision change
+ local old_str_no_rev=`echo "$TMPSTR" | sed -e 's/.\{4\}$//'`
+ local new_str_no_rev=`echo "$STR" | sed -e 's/.\{4\}$//'`
+ if [ "$old_str_no_rev" != "$new_str_no_rev" ]; then
+ echo -e "\e[A\e[A\e[A\e[A${red}$SGDEV changed: ${bold}\nfrom:${SCSISTR#* } \nto: $STR ${norm} \n\n\n"
+ return 1
+ fi
fi
TMPSTR=`echo "$SCSISTR" | sed -n 's/.*Type: *\(.*\) *ANSI.*/\1/p'`
NTMPSTR="$(sed -e 's/[[:space:]]*$//' -e 's/^[[:space:]]*//' <<<${TMPSTR})"
@@ -965,6 +975,7 @@
echo "--sparselun: Tell kernel to support sparse LUN numbering"
echo "--update: same as -u"
echo "--resize: same as -s"
+ echo "--ignore-rev: Ignore the revision change"
echo " Host numbers may thus be specified either directly on cmd line (deprecated) or"
echo " or with the --hosts=LIST parameter (recommended)."
echo "LIST: A[-B][,C[-D]]... is a comma separated list of single values and ranges"
@@ -1016,6 +1027,7 @@
existing_targets=1
mp_enable=
declare -i scan_flags=0
+ignore_rev=0
# Scan options
opt="$1"
@@ -1056,6 +1068,7 @@
-sparselun) scan_flags=$((scan_flags|0x40)) ;;
-update) update=1;;
-wide) opt_idsearch=`seq 0 15` ;;
+ -ignore-rev) ignore_rev=1;;
*) echo "Unknown option -$opt !" ;;
esac
shift