import CS sg3_utils-1.47-12.el9
This commit is contained in:
parent
077da9eb9b
commit
3accc51f50
@ -0,0 +1,46 @@
|
||||
From bdd99d9be808ae55a4d4ff78357adfa9d3d5f0b3 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Evans <pevans@redhat.com>
|
||||
Date: Wed, 28 Jan 2026 14:42:02 +0000
|
||||
Subject: [PATCH] rescan-scsi-bus.sh Correctly read RMB bit on enquiry
|
||||
|
||||
Make changes to is_removable() in rescan-scsi-bus.sh to correctly
|
||||
read the RMB byte on its hexedit enquiry response.
|
||||
|
||||
As things stand the script incorrectly reads the first byte of the
|
||||
repsonse the "Peripheral Qualifier" and will always return a device
|
||||
as non-removable.
|
||||
|
||||
Signed-off-by: Paul Evans <pevans@redhat.com>
|
||||
---
|
||||
scripts/rescan-scsi-bus.sh | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/scripts/rescan-scsi-bus.sh b/scripts/rescan-scsi-bus.sh
|
||||
index e1363b66..2ccc316a 100755
|
||||
--- a/scripts/rescan-scsi-bus.sh
|
||||
+++ b/scripts/rescan-scsi-bus.sh
|
||||
@@ -4,7 +4,7 @@
|
||||
# (c) 2006--2018 Hannes Reinecke, GNU GPL v2 or later
|
||||
# $Id: rescan-scsi-bus.sh,v 1.57 2012/03/31 14:08:48 garloff Exp $
|
||||
|
||||
-VERSION="20180615"
|
||||
+VERSION="20260126"
|
||||
SCAN_WILD_CARD=4294967295
|
||||
|
||||
setcolor ()
|
||||
@@ -242,9 +242,10 @@ is_removable ()
|
||||
|
||||
p=/sys/class/scsi_device/${host}:${channel}:${id}:${lun}/device/inquiry
|
||||
# Extract the second byte of the INQUIRY response and check bit 7 (mask 0x80).
|
||||
- b=$(hexdump -n1 -e '/1 "%02X"' "$p" 2>/dev/null)
|
||||
+ b=$(od -j1 -N1 -An -t x1 "$p" 2>/dev/null)
|
||||
if [ -n "$b" ]; then
|
||||
- echo $(((0x$b & 0x80) != 0))
|
||||
+ # Handle od leading space with parameter substitution.
|
||||
+ echo $(((0x${b// /} & 0x80) != 0))
|
||||
else
|
||||
sg_inq /dev/$SGDEV 2>/dev/null | sed -n 's/^.*RMB=\([0-9]*\).*$/\1/p'
|
||||
fi
|
||||
--
|
||||
2.53.0
|
||||
|
||||
@ -0,0 +1,63 @@
|
||||
From 91981b9f091cf81b43fe5e8bbdb82fd0f90ebb8d Mon Sep 17 00:00:00 2001
|
||||
From: Paul Evans <pevans@redhat.com>
|
||||
Date: Tue, 2 Jun 2026 15:03:41 +0100
|
||||
Subject: [PATCH] sg_inq: --export output conformance for SCSI name string and
|
||||
ATA fields
|
||||
|
||||
Apply udev-conforming character encoding to VPD 0x83 designator type 8
|
||||
(SCSI name string) and the T10 vendor ID ATA subfield, matching the
|
||||
encoding already used by designator types 0 and 1 since commit
|
||||
4d770f10.
|
||||
|
||||
Signed-off-by: Paul Evans <pevans@redhat.com>
|
||||
---
|
||||
src/sg_inq.c | 26 ++++++++++++++++++++++----
|
||||
1 file changed, 22 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/sg_inq.c b/src/sg_inq.c
|
||||
index b3b8127f..a3b78965 100644
|
||||
--- a/src/sg_inq.c
|
||||
+++ b/src/sg_inq.c
|
||||
@@ -1919,8 +1919,17 @@ export_dev_ids(uint8_t * buff, int len, int verbose)
|
||||
}
|
||||
printf("\n");
|
||||
if (!memcmp(ip, "ATA_", 4)) {
|
||||
- printf("SCSI_IDENT_%s_ATA=%.*s\n", assoc_str,
|
||||
- k - 4, ip + 4);
|
||||
+ printf("SCSI_IDENT_%s_ATA=", assoc_str);
|
||||
+ for (m = 4; m < k; ++m) {
|
||||
+ if ((ip[m] >= '0' && ip[m] <= '9') ||
|
||||
+ (ip[m] >= 'A' && ip[m] <= 'Z') ||
|
||||
+ (ip[m] >= 'a' && ip[m] <= 'z') ||
|
||||
+ strchr("#+-.:=@_", ip[m]) != NULL)
|
||||
+ printf("%c", ip[m]);
|
||||
+ else
|
||||
+ printf("\\x%02x", ip[m]);
|
||||
+ }
|
||||
+ printf("\n");
|
||||
}
|
||||
} else {
|
||||
for (m = 0; m < i_len; ++m)
|
||||
@@ -2043,8 +2052,17 @@ export_dev_ids(uint8_t * buff, int len, int verbose)
|
||||
break;
|
||||
}
|
||||
|
||||
- printf("SCSI_IDENT_%s_NAME=%.*s\n", assoc_str, i_len,
|
||||
- (const char *)ip);
|
||||
+ printf("SCSI_IDENT_%s_NAME=", assoc_str);
|
||||
+ for (m = 0; m < i_len; ++m) {
|
||||
+ if ((ip[m] >= '0' && ip[m] <= '9') ||
|
||||
+ (ip[m] >= 'A' && ip[m] <= 'Z') ||
|
||||
+ (ip[m] >= 'a' && ip[m] <= 'z') ||
|
||||
+ strchr("#+-.:=@_", ip[m]) != NULL)
|
||||
+ printf("%c", ip[m]);
|
||||
+ else
|
||||
+ printf("\\x%02x", ip[m]);
|
||||
+ }
|
||||
+ printf("\n");
|
||||
break;
|
||||
case 9: /* Protocol specific port identifier */
|
||||
if (TPROTO_UAS == p_id) {
|
||||
--
|
||||
2.54.0
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
Summary: Utilities for devices that use SCSI command sets
|
||||
Name: sg3_utils
|
||||
Version: 1.47
|
||||
Release: 10%{?dist}
|
||||
Release: 12%{?dist}
|
||||
License: GPLv2+ and BSD
|
||||
URL: https://sg.danny.cz/sg/sg3_utils.html
|
||||
Source0: https://sg.danny.cz/sg/p/sg3_utils-%{version}.tar.xz
|
||||
@ -33,6 +33,10 @@ Patch6: sg3_utils-1.48-sg_vpd_vendor-Fix-missing-newline-in-the-svpd_decode.pat
|
||||
# https://issues.redhat.com/browse/RHEL-29139
|
||||
# 63-scsi-sg3_symlink.rules sets up symlinks for multipath paths
|
||||
Patch7: 63-scsi-sg3_symlink.rules-DM_MULTIPATH_DEVICE_PATH-skip.patch
|
||||
# https://redhat.atlassian.net/browse/RHEL-122982
|
||||
Patch8: RHEL-111346-rescan-scsi-bus.sh-Correctly-read-RMB-bit-on-enquiry.patch
|
||||
# https://redhat.atlassian.net/browser/RHEL-188125
|
||||
Patch9: RHEL-188125-sg_inq-export-output-conformance-for-SCSI-name-string-and-ATA-fields.patch
|
||||
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
BuildRequires: make
|
||||
@ -129,6 +133,12 @@ install -p -m 755 scripts/fc_wwpn_id $RPM_BUILD_ROOT%{_udevlibdir}
|
||||
|
||||
|
||||
%changelog
|
||||
* Thu Jun 25 2026 Paul Evans <pevans@redhat.com> - 1.47-12
|
||||
- sg_inq output conformance for SCSI name string and ATA fields (RHEL-188125)
|
||||
|
||||
* Wed Mar 25 2026 Paul Evans <pevans@redhat.com> - 1.47-11
|
||||
- rescan-scsi-bus.sh Correctly read RMB bit on enquiry (RHEL-122982)
|
||||
|
||||
* Tue Nov 05 2024 Tomas Bzatek <tbzatek@redhat.com> - 1.47-10
|
||||
- Skip symlink generation for multipath (RHEL-29139)
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user