You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(19) |
Nov
(18) |
Dec
(34) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(14) |
Feb
(14) |
Mar
(3) |
Apr
(10) |
May
(10) |
Jun
(17) |
Jul
(15) |
Aug
(24) |
Sep
(24) |
Oct
(11) |
Nov
(13) |
Dec
(15) |
2008 |
Jan
(10) |
Feb
(46) |
Mar
(20) |
Apr
(42) |
May
(44) |
Jun
(22) |
Jul
(59) |
Aug
(8) |
Sep
(15) |
Oct
(52) |
Nov
(30) |
Dec
(38) |
2009 |
Jan
(27) |
Feb
(27) |
Mar
(47) |
Apr
(85) |
May
(74) |
Jun
(41) |
Jul
(70) |
Aug
(64) |
Sep
(97) |
Oct
(147) |
Nov
(67) |
Dec
(48) |
2010 |
Jan
(68) |
Feb
(33) |
Mar
(53) |
Apr
(98) |
May
(55) |
Jun
(71) |
Jul
(99) |
Aug
(132) |
Sep
(291) |
Oct
(220) |
Nov
(344) |
Dec
(300) |
2011 |
Jan
(57) |
Feb
(25) |
Mar
(59) |
Apr
(104) |
May
(60) |
Jun
(155) |
Jul
(143) |
Aug
(43) |
Sep
(53) |
Oct
(20) |
Nov
(35) |
Dec
(103) |
2012 |
Jan
(62) |
Feb
(43) |
Mar
(29) |
Apr
(80) |
May
(75) |
Jun
(61) |
Jul
(52) |
Aug
(58) |
Sep
(33) |
Oct
(32) |
Nov
(69) |
Dec
(37) |
2013 |
Jan
(77) |
Feb
(28) |
Mar
(52) |
Apr
(18) |
May
(37) |
Jun
(21) |
Jul
(22) |
Aug
(55) |
Sep
(29) |
Oct
(74) |
Nov
(50) |
Dec
(44) |
2014 |
Jan
(77) |
Feb
(62) |
Mar
(81) |
Apr
(99) |
May
(59) |
Jun
(95) |
Jul
(55) |
Aug
(34) |
Sep
(78) |
Oct
(33) |
Nov
(48) |
Dec
(51) |
2015 |
Jan
(56) |
Feb
(120) |
Mar
(37) |
Apr
(15) |
May
(22) |
Jun
(196) |
Jul
(54) |
Aug
(33) |
Sep
(32) |
Oct
(42) |
Nov
(149) |
Dec
(61) |
2016 |
Jan
(15) |
Feb
(26) |
Mar
(37) |
Apr
(27) |
May
(14) |
Jun
(11) |
Jul
(13) |
Aug
(64) |
Sep
(2) |
Oct
(36) |
Nov
(18) |
Dec
(46) |
2017 |
Jan
(6) |
Feb
(1) |
Mar
(2) |
Apr
(50) |
May
(42) |
Jun
(11) |
Jul
(4) |
Aug
(12) |
Sep
(11) |
Oct
(21) |
Nov
(15) |
Dec
(42) |
2018 |
Jan
(33) |
Feb
(27) |
Mar
(20) |
Apr
(5) |
May
(4) |
Jun
(1) |
Jul
(42) |
Aug
(29) |
Sep
(11) |
Oct
(40) |
Nov
(312) |
Dec
(18) |
2019 |
Jan
(44) |
Feb
(98) |
Mar
(125) |
Apr
(160) |
May
(123) |
Jun
(33) |
Jul
(56) |
Aug
(81) |
Sep
(24) |
Oct
(23) |
Nov
(52) |
Dec
(86) |
2020 |
Jan
(6) |
Feb
(17) |
Mar
(62) |
Apr
(21) |
May
(118) |
Jun
(42) |
Jul
(52) |
Aug
(62) |
Sep
(20) |
Oct
(5) |
Nov
(23) |
Dec
(111) |
2021 |
Jan
(31) |
Feb
(8) |
Mar
(26) |
Apr
(13) |
May
(54) |
Jun
(31) |
Jul
(17) |
Aug
(10) |
Sep
(83) |
Oct
(8) |
Nov
(21) |
Dec
(33) |
2022 |
Jan
(67) |
Feb
(11) |
Mar
(4) |
Apr
(46) |
May
(12) |
Jun
(17) |
Jul
(19) |
Aug
(7) |
Sep
(53) |
Oct
(14) |
Nov
(29) |
Dec
(22) |
2023 |
Jan
(20) |
Feb
(4) |
Mar
(37) |
Apr
(25) |
May
(15) |
Jun
(20) |
Jul
(38) |
Aug
(1) |
Sep
(1) |
Oct
(34) |
Nov
|
Dec
(8) |
2024 |
Jan
(15) |
Feb
(10) |
Mar
|
Apr
(4) |
May
(23) |
Jun
|
Jul
(8) |
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Gleb C. <lna...@ya...> - 2024-01-15 12:34:19
|
Commit: 1882567 GitHub URL: https://github.com/SCST-project/scst/commit/188256792c8b87d10af92453e33302823092264e Author: Gleb Chesnokov Date: 2024-01-15T15:33:45+03:00 Log Message: ----------- Bump the version number to 3.9.0-pre These changes have been generated by running the following command: $ scripts/update-version 3 9 0 -pre Modified Paths: -------------- doc/scst_user_spec.sgml | 2 +- fcst/fcst.h | 2 +- iscsi-scst/README | 2 +- iscsi-scst/include/iscsi_scst_ver.h | 2 +- iscsi-scst/kernel/isert-scst/isert.c | 4 ++-- qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.h | 4 ++-- qla2x00t/qla2x00-target/README | 2 +- qla2x00t/qla2x00-target/qla2x00t.h | 4 ++-- scst/README | 2 +- scst/include/scst_const.h | 4 ++-- scst/src/dev_handlers/scst_vdisk.c | 2 +- scst_local/scst_local.c | 2 +- scstadmin/scstadmin.sysfs/scstadmin | 2 +- srpt/src/ib_srpt.c | 4 ++-- usr/fileio/README | 2 +- usr/fileio/common.h | 2 +- usr/include/version.h | 2 +- 17 files changed, 22 insertions(+), 22 deletions(-) =================================================================== diff --git a/doc/scst_user_spec.sgml b/doc/scst_user_spec.sgml index 25bf10e..e4c9ea8 100644 --- a/doc/scst_user_spec.sgml +++ b/doc/scst_user_spec.sgml @@ -10,7 +10,7 @@ SCST user space device handler interface description <name>Vladislav Bolkhovitin</name> </author> -<date>Version 3.8.0</date> +<date>Version 3.9.0-pre</date> <toc> diff --git a/fcst/fcst.h b/fcst/fcst.h index 23ffedc..4335958 100644 --- a/fcst/fcst.h +++ b/fcst/fcst.h @@ -38,7 +38,7 @@ #define NEW_LIBFC_API #endif -#define FT_VERSION "3.8.0" +#define FT_VERSION "3.9.0-pre" #define FT_MODULE "fcst" #define FT_MAX_HW_PENDING_TIME 20 /* max I/O time in seconds */ diff --git a/iscsi-scst/README b/iscsi-scst/README index 8e4c035..5ed01c7 100644 --- a/iscsi-scst/README +++ b/iscsi-scst/README @@ -1,7 +1,7 @@ iSCSI SCST target driver ======================== -Version 3.8.0, 12 January 2024 +Version 3.9.0-pre, 15 January 2024 ---------------------------- ISCSI-SCST is a deeply reworked fork of iSCSI Enterprise Target (IET) diff --git a/iscsi-scst/include/iscsi_scst_ver.h b/iscsi-scst/include/iscsi_scst_ver.h index f4ea4c8..9d0d419 100644 --- a/iscsi-scst/include/iscsi_scst_ver.h +++ b/iscsi-scst/include/iscsi_scst_ver.h @@ -17,4 +17,4 @@ #define ISCSI_VERSION_STRING_SUFFIX -#define ISCSI_VERSION_STRING "3.8.0" ISCSI_VERSION_STRING_SUFFIX +#define ISCSI_VERSION_STRING "3.9.0-pre" ISCSI_VERSION_STRING_SUFFIX diff --git a/iscsi-scst/kernel/isert-scst/isert.c b/iscsi-scst/kernel/isert-scst/isert.c index 1d2a114..56c136d 100644 --- a/iscsi-scst/kernel/isert-scst/isert.c +++ b/iscsi-scst/kernel/isert-scst/isert.c @@ -503,8 +503,8 @@ out: MODULE_AUTHOR("Yan Burman"); MODULE_LICENSE("Dual BSD/GPL"); MODULE_IMPORT_NS(SCST); -#define DRV_VERSION "3.8.0" "#" __stringify(OFED_FLAVOR) -#define DRV_RELDATE "12 January 2024" +#define DRV_VERSION "3.9.0-pre" "#" __stringify(OFED_FLAVOR) +#define DRV_RELDATE "15 January 2024" MODULE_DESCRIPTION("iSER target transport driver " "v" DRV_VERSION " (" DRV_RELDATE ")"); module_init(isert_init_module); diff --git a/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.h b/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.h index 7e909c1..1722e60 100644 --- a/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.h +++ b/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.h @@ -19,8 +19,8 @@ /* Driver version number */ #define Q2T_VERSION(a, b, c, d) (((a) << 030) + ((b) << 020) + (c) << 010 + (d)) -#define Q2T_VERSION_CODE Q2T_VERSION(3, 8, 0, 0) -#define Q2T_VERSION_STRING "3.8.0" +#define Q2T_VERSION_CODE Q2T_VERSION(3, 9, 0, 0) +#define Q2T_VERSION_STRING "3.9.0-pre" #define SQA_DEFAULT_TAGS 2048 diff --git a/qla2x00t/qla2x00-target/README b/qla2x00t/qla2x00-target/README index 89e296d..399d194 100644 --- a/qla2x00t/qla2x00-target/README +++ b/qla2x00t/qla2x00-target/README @@ -1,7 +1,7 @@ Target driver for QLogic 2[2-6]xx/8[1-3]xx Fibre Channel cards ============================================================== -Version 3.8.0, 12 January 2024 +Version 3.9.0-pre, 15 January 2024 ---------------------------- This is target driver for QLogic 2[2-6]xx/8[1-3]xx Fibre Channel cards. diff --git a/qla2x00t/qla2x00-target/qla2x00t.h b/qla2x00t/qla2x00-target/qla2x00t.h index 8f9736a..4cf4fce 100644 --- a/qla2x00t/qla2x00-target/qla2x00t.h +++ b/qla2x00t/qla2x00-target/qla2x00t.h @@ -34,8 +34,8 @@ /* Version numbers, the same as for the kernel */ #define Q2T_VERSION(a, b, c, d) (((a) << 030) + ((b) << 020) + (c) << 010 + (d)) -#define Q2T_VERSION_CODE Q2T_VERSION(3, 8, 0, 0) -#define Q2T_VERSION_STRING "3.8.0" +#define Q2T_VERSION_CODE Q2T_VERSION(3, 9, 0, 0) +#define Q2T_VERSION_STRING "3.9.0-pre" #define Q2T_PROC_VERSION_NAME "version" #define Q2T_MAX_CDB_LEN 16 diff --git a/scst/README b/scst/README index f43c175..d5c215e 100644 --- a/scst/README +++ b/scst/README @@ -1,7 +1,7 @@ Generic SCSI target mid-level for Linux (SCST) ============================================== -Version 3.8.0, 12 January 2024 +Version 3.9.0-pre, 15 January 2024 ---------------------------- SCST is designed to provide unified, consistent interface between SCSI diff --git a/scst/include/scst_const.h b/scst/include/scst_const.h index 4b36c50..1b5d723 100644 --- a/scst/include/scst_const.h +++ b/scst/include/scst_const.h @@ -47,10 +47,10 @@ * and FIO_REV in usr/fileio/common.h as well. */ #define SCST_VERSION(a, b, c, d) (((a) << 24) + ((b) << 16) + ((c) << 8) + d) -#define SCST_VERSION_CODE SCST_VERSION(3, 8, 0, 0) +#define SCST_VERSION_CODE SCST_VERSION(3, 9, 0, 0) #define SCST_VERSION_STRING_SUFFIX -#define SCST_VERSION_NAME "3.8.0" +#define SCST_VERSION_NAME "3.9.0-pre" #define SCST_VERSION_STRING SCST_VERSION_NAME SCST_VERSION_STRING_SUFFIX #ifdef SCST_REVISION diff --git a/scst/src/dev_handlers/scst_vdisk.c b/scst/src/dev_handlers/scst_vdisk.c index 262e9c1..04b219e 100644 --- a/scst/src/dev_handlers/scst_vdisk.c +++ b/scst/src/dev_handlers/scst_vdisk.c @@ -75,7 +75,7 @@ #define SCST_FIO_VENDOR "SCST_FIO" #define SCST_BIO_VENDOR "SCST_BIO" /* 4 byte ASCII Product Revision Level - left aligned */ -#define SCST_FIO_REV "380 " +#define SCST_FIO_REV "390 " #define MAX_USN_LEN (20+1) /* For '\0' */ #define MAX_INQ_VEND_SPECIFIC_LEN (INQ_BUF_SZ - 96) diff --git a/scst_local/scst_local.c b/scst_local/scst_local.c index 8b90895..a8bf14b 100644 --- a/scst_local/scst_local.c +++ b/scst_local/scst_local.c @@ -71,7 +71,7 @@ README file for details. static unsigned long scst_local_trace_flag = SCST_LOCAL_DEFAULT_LOG_FLAGS; #endif -#define SCST_LOCAL_VERSION "3.8.0" +#define SCST_LOCAL_VERSION "3.9.0-pre" static const char *scst_local_version_date = "20110901"; /* Some statistics */ diff --git a/scstadmin/scstadmin.sysfs/scstadmin b/scstadmin/scstadmin.sysfs/scstadmin index 4de10a7..75d0ca8 100755 --- a/scstadmin/scstadmin.sysfs/scstadmin +++ b/scstadmin/scstadmin.sysfs/scstadmin @@ -3,7 +3,7 @@ use strict; use warnings; -my $Version = 'SCST Configurator v3.8.0'; +my $Version = 'SCST Configurator v3.9.0-pre'; # Configures SCST # diff --git a/srpt/src/ib_srpt.c b/srpt/src/ib_srpt.c index 837c896..fa7dd53 100644 --- a/srpt/src/ib_srpt.c +++ b/srpt/src/ib_srpt.c @@ -59,8 +59,8 @@ /* Name of this kernel module. */ #define DRV_NAME "ib_srpt" -#define DRV_VERSION "3.8.0" "#" __stringify(OFED_FLAVOR) -#define DRV_RELDATE "12 January 2024" +#define DRV_VERSION "3.9.0-pre" "#" __stringify(OFED_FLAVOR) +#define DRV_RELDATE "15 January 2024" #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING) /* Flags to be used in SCST debug tracing statements. */ #define DEFAULT_SRPT_TRACE_FLAGS (TRACE_OUT_OF_MEM | TRACE_MINOR \ diff --git a/usr/fileio/README b/usr/fileio/README index 7f9490d..84ff622 100644 --- a/usr/fileio/README +++ b/usr/fileio/README @@ -1,7 +1,7 @@ User space FILEIO handler ========================= -Version 3.8.0, 12 January 2024 +Version 3.9.0-pre, 15 January 2024 ---------------------------- User space program fileio_tgt uses interface of SCST's scst_user dev diff --git a/usr/fileio/common.h b/usr/fileio/common.h index efd4fa1..0be91f6 100644 --- a/usr/fileio/common.h +++ b/usr/fileio/common.h @@ -30,7 +30,7 @@ /* 8 byte ASCII Vendor */ #define VENDOR "SCST_USR" /* 4 byte ASCII Product Revision Level - left aligned */ -#define FIO_REV "380 " +#define FIO_REV "390 " #define MAX_USN_LEN (20+1) /* For '\0' */ diff --git a/usr/include/version.h b/usr/include/version.h index e98c762..55a4594 100644 --- a/usr/include/version.h +++ b/usr/include/version.h @@ -19,6 +19,6 @@ #ifndef __VERSION_H #define __VERSION_H -#define VERSION_STR "3.8.0" +#define VERSION_STR "3.9.0-pre" #endif /* __VERSION_H */ |
From: Gleb C. <lna...@ya...> - 2024-01-15 11:00:36
|
Commit: f134517 GitHub URL: https://github.com/SCST-project/scst/commit/f134517007d9dc5f9197c6b9bf5b08d930d929db Author: Gleb Chesnokov Date: 2024-01-15T13:59:19+03:00 Log Message: ----------- nightly build: Update kernel versions Modified Paths: -------------- nightly/conf/nightly.conf | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) =================================================================== diff --git a/nightly/conf/nightly.conf b/nightly/conf/nightly.conf index befe025..943c41e 100644 --- a/nightly/conf/nightly.conf +++ b/nightly/conf/nightly.conf @@ -3,40 +3,41 @@ ABT_DETAILS="x86_64" ABT_JOBS=5 ABT_KERNELS=" \ -6.6.8 \ +6.7 \ +6.6.11-nc \ 6.5.13-nc \ 6.4.16-nc \ 6.3.13-nc \ 6.2.16-nc \ -6.1.69-nc \ +6.1.72-nc \ 6.0.19-nc \ 5.19.17-nc \ 5.18.19-nc \ 5.17.15-nc \ 5.16.20-nc \ -5.15.145-nc \ +5.15.146-nc \ 5.14.21-nc \ 5.13.19-nc \ 5.12.19-nc \ 5.11.22-nc \ -5.10.205-nc \ +5.10.206-nc \ 5.9.16-nc \ 5.8.18-nc \ 5.7.19-nc \ 5.6.19-nc \ 5.5.19-nc \ -5.4.265-nc \ +5.4.266-nc \ 5.3.18-nc \ 5.2.21-nc \ 5.1.21-nc \ 5.0.21-nc \ 4.20.17-nc \ -4.19.303-nc \ +4.19.304-nc \ 4.18.20-nc \ 4.17.19-nc \ 4.16.18-nc \ 4.15.18-nc \ -4.14.334-nc \ +4.14.336-nc \ 4.13.16-nc \ 4.12.14-nc \ 4.11.12-nc \ |
From: Gleb C. <lna...@ya...> - 2024-01-15 11:00:26
|
Commit: cd23abe GitHub URL: https://github.com/SCST-project/scst/commit/cd23abef42e4f26e181c0c75ec7bba34e43451ca Author: Gleb Chesnokov Date: 2024-01-15T13:59:19+03:00 Log Message: ----------- www: Update the version number from 3.7 to 3.8 Modified Paths: -------------- www/downloads.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) =================================================================== diff --git a/www/downloads.html b/www/downloads.html index bd5b724..311a36b 100644 --- a/www/downloads.html +++ b/www/downloads.html @@ -35,9 +35,9 @@ <div id="main"> <h1>SCST Downloads</h1> - <p>The latest stable version of SCST is 3.7. + <p>The latest stable version of SCST is 3.8. Updates for that version are available on - the 3.7.x branch in the Git repository.</p> + the 3.8.x branch in the Git repository.</p> <p>Debian packages can be built by running "make dpkg". RPMs can be built by running @@ -48,7 +48,7 @@ <p>There is also a well done user space port, which you can find <a href="https://github.com/DavidButterfield/SCST-Usermode-Adaptation">here</a>.</p> <p>The latest development version of SCST is - 3.8. That version including target drivers and + 3.9. That version including target drivers and user space utilities can be downloaded directly from the SCST Git repository.</p> <p>You can access it using either |
From: Gleb C. <lna...@ya...> - 2024-01-15 11:00:03
|
Commit: 1171841 GitHub URL: https://github.com/SCST-project/scst/commit/1171841931cec25d62cb1c23e1bb351e565d015c Author: Gleb Chesnokov Date: 2024-01-15T13:59:19+03:00 Log Message: ----------- Bump the version number to 3.8.0 These changes have been generated by running the following command: $ scripts/update-version 3 8 0 Modified Paths: -------------- doc/scst_user_spec.sgml | 2 +- fcst/fcst.h | 2 +- iscsi-scst/README | 2 +- iscsi-scst/include/iscsi_scst_ver.h | 2 +- iscsi-scst/kernel/isert-scst/isert.c | 4 ++-- qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.h | 2 +- qla2x00t/qla2x00-target/README | 2 +- qla2x00t/qla2x00-target/qla2x00t.h | 2 +- scst/README | 2 +- scst/include/scst_const.h | 2 +- scst_local/scst_local.c | 2 +- scstadmin/scstadmin.sysfs/scstadmin | 2 +- srpt/src/ib_srpt.c | 4 ++-- usr/fileio/README | 2 +- usr/include/version.h | 2 +- 15 files changed, 17 insertions(+), 17 deletions(-) =================================================================== diff --git a/doc/scst_user_spec.sgml b/doc/scst_user_spec.sgml index 5ce2859..25bf10e 100644 --- a/doc/scst_user_spec.sgml +++ b/doc/scst_user_spec.sgml @@ -10,7 +10,7 @@ SCST user space device handler interface description <name>Vladislav Bolkhovitin</name> </author> -<date>Version 3.8.0-pre</date> +<date>Version 3.8.0</date> <toc> diff --git a/fcst/fcst.h b/fcst/fcst.h index b36de57..23ffedc 100644 --- a/fcst/fcst.h +++ b/fcst/fcst.h @@ -38,7 +38,7 @@ #define NEW_LIBFC_API #endif -#define FT_VERSION "3.8.0-pre" +#define FT_VERSION "3.8.0" #define FT_MODULE "fcst" #define FT_MAX_HW_PENDING_TIME 20 /* max I/O time in seconds */ diff --git a/iscsi-scst/README b/iscsi-scst/README index d086c6e..8e4c035 100644 --- a/iscsi-scst/README +++ b/iscsi-scst/README @@ -1,7 +1,7 @@ iSCSI SCST target driver ======================== -Version 3.8.0-pre, 28 December 2022 +Version 3.8.0, 12 January 2024 ---------------------------- ISCSI-SCST is a deeply reworked fork of iSCSI Enterprise Target (IET) diff --git a/iscsi-scst/include/iscsi_scst_ver.h b/iscsi-scst/include/iscsi_scst_ver.h index e4a6104..f4ea4c8 100644 --- a/iscsi-scst/include/iscsi_scst_ver.h +++ b/iscsi-scst/include/iscsi_scst_ver.h @@ -17,4 +17,4 @@ #define ISCSI_VERSION_STRING_SUFFIX -#define ISCSI_VERSION_STRING "3.8.0-pre" ISCSI_VERSION_STRING_SUFFIX +#define ISCSI_VERSION_STRING "3.8.0" ISCSI_VERSION_STRING_SUFFIX diff --git a/iscsi-scst/kernel/isert-scst/isert.c b/iscsi-scst/kernel/isert-scst/isert.c index e7b7294..1d2a114 100644 --- a/iscsi-scst/kernel/isert-scst/isert.c +++ b/iscsi-scst/kernel/isert-scst/isert.c @@ -503,8 +503,8 @@ out: MODULE_AUTHOR("Yan Burman"); MODULE_LICENSE("Dual BSD/GPL"); MODULE_IMPORT_NS(SCST); -#define DRV_VERSION "3.8.0-pre" "#" __stringify(OFED_FLAVOR) -#define DRV_RELDATE "28 December 2022" +#define DRV_VERSION "3.8.0" "#" __stringify(OFED_FLAVOR) +#define DRV_RELDATE "12 January 2024" MODULE_DESCRIPTION("iSER target transport driver " "v" DRV_VERSION " (" DRV_RELDATE ")"); module_init(isert_init_module); diff --git a/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.h b/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.h index 83ba6b8..7e909c1 100644 --- a/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.h +++ b/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.h @@ -20,7 +20,7 @@ /* Driver version number */ #define Q2T_VERSION(a, b, c, d) (((a) << 030) + ((b) << 020) + (c) << 010 + (d)) #define Q2T_VERSION_CODE Q2T_VERSION(3, 8, 0, 0) -#define Q2T_VERSION_STRING "3.8.0-pre" +#define Q2T_VERSION_STRING "3.8.0" #define SQA_DEFAULT_TAGS 2048 diff --git a/qla2x00t/qla2x00-target/README b/qla2x00t/qla2x00-target/README index 12192d1..89e296d 100644 --- a/qla2x00t/qla2x00-target/README +++ b/qla2x00t/qla2x00-target/README @@ -1,7 +1,7 @@ Target driver for QLogic 2[2-6]xx/8[1-3]xx Fibre Channel cards ============================================================== -Version 3.8.0-pre, 28 December 2022 +Version 3.8.0, 12 January 2024 ---------------------------- This is target driver for QLogic 2[2-6]xx/8[1-3]xx Fibre Channel cards. diff --git a/qla2x00t/qla2x00-target/qla2x00t.h b/qla2x00t/qla2x00-target/qla2x00t.h index 3dfe7d5..8f9736a 100644 --- a/qla2x00t/qla2x00-target/qla2x00t.h +++ b/qla2x00t/qla2x00-target/qla2x00t.h @@ -35,7 +35,7 @@ /* Version numbers, the same as for the kernel */ #define Q2T_VERSION(a, b, c, d) (((a) << 030) + ((b) << 020) + (c) << 010 + (d)) #define Q2T_VERSION_CODE Q2T_VERSION(3, 8, 0, 0) -#define Q2T_VERSION_STRING "3.8.0-pre" +#define Q2T_VERSION_STRING "3.8.0" #define Q2T_PROC_VERSION_NAME "version" #define Q2T_MAX_CDB_LEN 16 diff --git a/scst/README b/scst/README index 4e6e8ef..f43c175 100644 --- a/scst/README +++ b/scst/README @@ -1,7 +1,7 @@ Generic SCSI target mid-level for Linux (SCST) ============================================== -Version 3.8.0-pre, 28 December 2022 +Version 3.8.0, 12 January 2024 ---------------------------- SCST is designed to provide unified, consistent interface between SCSI diff --git a/scst/include/scst_const.h b/scst/include/scst_const.h index 8b117ca..4b36c50 100644 --- a/scst/include/scst_const.h +++ b/scst/include/scst_const.h @@ -50,7 +50,7 @@ #define SCST_VERSION_CODE SCST_VERSION(3, 8, 0, 0) #define SCST_VERSION_STRING_SUFFIX -#define SCST_VERSION_NAME "3.8.0-pre" +#define SCST_VERSION_NAME "3.8.0" #define SCST_VERSION_STRING SCST_VERSION_NAME SCST_VERSION_STRING_SUFFIX #ifdef SCST_REVISION diff --git a/scst_local/scst_local.c b/scst_local/scst_local.c index 742a05c..8b90895 100644 --- a/scst_local/scst_local.c +++ b/scst_local/scst_local.c @@ -71,7 +71,7 @@ README file for details. static unsigned long scst_local_trace_flag = SCST_LOCAL_DEFAULT_LOG_FLAGS; #endif -#define SCST_LOCAL_VERSION "3.8.0-pre" +#define SCST_LOCAL_VERSION "3.8.0" static const char *scst_local_version_date = "20110901"; /* Some statistics */ diff --git a/scstadmin/scstadmin.sysfs/scstadmin b/scstadmin/scstadmin.sysfs/scstadmin index 79f7dee..4de10a7 100755 --- a/scstadmin/scstadmin.sysfs/scstadmin +++ b/scstadmin/scstadmin.sysfs/scstadmin @@ -3,7 +3,7 @@ use strict; use warnings; -my $Version = 'SCST Configurator v3.8.0-pre'; +my $Version = 'SCST Configurator v3.8.0'; # Configures SCST # diff --git a/srpt/src/ib_srpt.c b/srpt/src/ib_srpt.c index 751b7f6..837c896 100644 --- a/srpt/src/ib_srpt.c +++ b/srpt/src/ib_srpt.c @@ -59,8 +59,8 @@ /* Name of this kernel module. */ #define DRV_NAME "ib_srpt" -#define DRV_VERSION "3.8.0-pre" "#" __stringify(OFED_FLAVOR) -#define DRV_RELDATE "28 December 2022" +#define DRV_VERSION "3.8.0" "#" __stringify(OFED_FLAVOR) +#define DRV_RELDATE "12 January 2024" #if defined(CONFIG_SCST_DEBUG) || defined(CONFIG_SCST_TRACING) /* Flags to be used in SCST debug tracing statements. */ #define DEFAULT_SRPT_TRACE_FLAGS (TRACE_OUT_OF_MEM | TRACE_MINOR \ diff --git a/usr/fileio/README b/usr/fileio/README index 321e7f5..7f9490d 100644 --- a/usr/fileio/README +++ b/usr/fileio/README @@ -1,7 +1,7 @@ User space FILEIO handler ========================= -Version 3.8.0-pre, 28 December 2022 +Version 3.8.0, 12 January 2024 ---------------------------- User space program fileio_tgt uses interface of SCST's scst_user dev diff --git a/usr/include/version.h b/usr/include/version.h index 2190700..e98c762 100644 --- a/usr/include/version.h +++ b/usr/include/version.h @@ -19,6 +19,6 @@ #ifndef __VERSION_H #define __VERSION_H -#define VERSION_STR "3.8.0-pre" +#define VERSION_STR "3.8.0" #endif /* __VERSION_H */ |
From: Gleb C. <lna...@ya...> - 2024-01-15 10:59:56
|
Commit: cee2704 GitHub URL: https://github.com/SCST-project/scst/commit/cee270448c6ab01757f7e05b789dc8fbc1712c1f Author: Gleb Chesnokov Date: 2024-01-15T13:59:19+03:00 Log Message: ----------- scst/ChangeLog: Summarize the changes for the upcoming 3.8 release Modified Paths: -------------- scst/ChangeLog | 28 +++++++++++++++ 1 file changed, 28 insertions(+) =================================================================== diff --git a/scst/ChangeLog b/scst/ChangeLog index ed7f614..c9bc8b7 100644 --- a/scst/ChangeLog +++ b/scst/ChangeLog @@ -1,3 +1,31 @@ +Summary of changes between versions 3.7 and 3.8 +----------------------------------------------- +- Fixed depmod warnings during the installation process. +- Resolved RPM build issues for Fedora and CentOS Stream kernels. +- Introduced selectable debug mode levels during package building by passing + PKG_BUILD_MODE=2[release, debug, perf] as an argument to make. +- scst_disk: Implemented cluster mode support. +- scst_vdisk: Introduced the lb_per_pb_exp attribute, allowing control over + whether READ CAPACITY 16 returns LOGICAL BLOCKS PER PHYSICAL BLOCK EXPONENT. +- scst_vdisk: Enabled exclusive opening of block devices to prevent + concurrent usage. +- iscsi-scst: Implemented iSCSI TargetAlias support. +- iscsi-scstd: Added initiator name validation during login. +- Added the aen_disabled attribute, enabling forcible UA sending instead of + AEN from the target port. +- Fixed UNIT ATTENTION for remote PR registrants. +- Enhanced device blocking to ensure signal-induced waiting cancellation does + not crash the system. +- Corrected the display of the number of active commands during suspending. +- qla2x00t-32gbit driver: Rectified ABORT_TASK_SET processing. +- qla2x00t-32gbit driver: Updated from Linux kernel version v5.15 to v6.7. + +The kernel versions supported by this release are: +* Kernel.org kernel versions v3.10..v6.7. +* Debian / Ubuntu kernels based on upstream kernel versions v3.10..v6.7. +* RHEL / CentOS / AlmaLinux 7.x, 8.0..8.9 and 9.0..9.3 kernels. +* UEK version 4, 5, 6 and 7 kernels. + Summary of changes between versions 3.6 and 3.7 ----------------------------------------------- - The SCST event subsystem works again reliably. |
From: Gleb C. <lna...@ya...> - 2024-01-12 07:50:46
|
Commit: df039cb GitHub URL: https://github.com/SCST-project/scst/commit/df039cb3e9f549fde3079849f19e5b34186de701 Author: Brian Meagher Date: 2024-01-12T10:50:15+03:00 Log Message: ----------- scst.h, scst, device handlers: Fix scst_replace_port_info scst_pass_through_cmd_done can run in interrupt context, and call scst_replace_port_info, which in turn was calling scst_lookup_tg_id. Since scst_lookup_tg_id does a mutex_lock, we should not call it from interrupt context. Add scst_cmd_inquired_dev_ident and use in various locations. Modified Paths: -------------- scst/include/scst.h | 9 +++++++++ scst/src/dev_handlers/scst_disk.c | 9 +++++++++ scst/src/scst_targ.c | 11 +++++------ 3 files changed, 23 insertions(+), 6 deletions(-) =================================================================== diff --git a/scst/include/scst.h b/scst/include/scst.h index 781aabb..2e5aa57 100644 --- a/scst/include/scst.h +++ b/scst/include/scst.h @@ -2318,6 +2318,8 @@ struct scst_cmd { uint32_t tgt_sn; /* SN set by target driver (for TM purposes) */ + uint16_t tg_id; /* Only used during TYPE_DISK INQUIRY EVPD=0x83 */ + uint8_t *cdb; /* Pointer on CDB. Points on cdb_buf for small CDBs. */ unsigned short cdb_len; uint8_t cdb_buf[SCST_MAX_CDB_SIZE]; @@ -4524,6 +4526,13 @@ static inline bool scst_get_cmd_dev_d_sense(struct scst_cmd *cmd) return (cmd->dev != NULL) ? cmd->dev->d_sense : 0; } +/* Returns if command is INQUIRY EVPD=0x83 (device identification) */ +static inline bool scst_cmd_inquired_dev_ident(struct scst_cmd *cmd) +{ + return (cmd->cdb[0] == INQUIRY) && ((cmd->cdb[1] & 0x01/*EVPD*/) == 0x01) && + (cmd->cdb[2] == 0x83/*device identification*/); +} + /* * Get/Set functions for expected data direction, transfer length * and its validity flag diff --git a/scst/src/dev_handlers/scst_disk.c b/scst/src/dev_handlers/scst_disk.c index 341a05a..df2f436 100644 --- a/scst/src/dev_handlers/scst_disk.c +++ b/scst/src/dev_handlers/scst_disk.c @@ -374,6 +374,15 @@ static enum scst_exec_res disk_exec(struct scst_cmd *cmd) } } + /* + * If we are passing thru a INQUIRY VPD=0x83 (device identification) then + * we will call scst_replace_port_info on success in scst_pass_through_cmd_done. + * This will run in interrupt context, so we should not perform operations that + * involve mutexes. Call scst_lookup_tg_id here intead and save the output. + */ + if (unlikely(scst_cmd_inquired_dev_ident(cmd))) + cmd->tg_id = scst_lookup_tg_id(dev, tgt); + /* * For PC requests we are going to submit max_hw_sectors used instead * of max_sectors. diff --git a/scst/src/scst_targ.c b/scst/src/scst_targ.c index a325e7b..fa4afb2 100644 --- a/scst/src/scst_targ.c +++ b/scst/src/scst_targ.c @@ -2227,8 +2227,7 @@ static void scst_replace_port_info(struct scst_cmd *cmd) uint8_t *buf, *end, *p, designator_length; int32_t length, page_length; - if (cmd->cdb[0] != INQUIRY || (cmd->cdb[1] & 0x01/*EVPD*/) == 0 || - cmd->cdb[2] != 0x83/*device identification*/) + if (!scst_cmd_inquired_dev_ident(cmd)) return; length = scst_get_buf_full_sense(cmd, &buf); @@ -2242,7 +2241,6 @@ static void scst_replace_port_info(struct scst_cmd *cmd) const uint8_t code_set = p[0] & 0xf; const uint8_t association = (p[1] & 0x30) >> 4; const uint8_t designator_type = p[1] & 0xf; - uint16_t tg_id; designator_length = p[3]; @@ -2259,9 +2257,7 @@ static void scst_replace_port_info(struct scst_cmd *cmd) break; case 5: /* target port group */ - tg_id = scst_lookup_tg_id(cmd->dev, cmd->tgt); - if (tg_id) - put_unaligned_be16(tg_id, p + 6); + put_unaligned_be16(cmd->tg_id, p + 6); break; } } @@ -2622,6 +2618,9 @@ static enum scst_exec_res scst_do_real_exec(struct scst_cmd *cmd) scsi_dev->host->host_no, scsi_dev->channel, scsi_dev->id, (u64)scsi_dev->lun); + if (unlikely(scst_cmd_inquired_dev_ident(cmd))) + cmd->tg_id = scst_lookup_tg_id(dev, cmd->tgt); + rc = scst_scsi_exec_async(cmd, cmd, scst_pass_through_cmd_done); if (unlikely(rc != 0)) { PRINT_ERROR("scst pass-through exec failed: %d", rc); |
From: Gleb C. <lna...@ya...> - 2024-01-10 16:36:32
|
Commit: 7baf286 GitHub URL: https://github.com/SCST-project/scst/commit/7baf286609cd019d574ced3c7d300f2322f8654c Author: Gleb Chesnokov Date: 2024-01-10T19:34:49+03:00 Log Message: ----------- scripts/specialize-patch: Improve RHEL support Unbreak nightly build for RHEL 8.9 and 9.3 Modified Paths: -------------- scripts/specialize-patch | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) =================================================================== diff --git a/scripts/specialize-patch b/scripts/specialize-patch index 30d55c9..5c00244 100755 --- a/scripts/specialize-patch +++ b/scripts/specialize-patch @@ -101,7 +101,9 @@ function evaluate(stmnt, pattern, arg, op, result) { "RHEL_RELEASE_CODE -0 < 7 * 256 + 5)", stmnt) gsub("defined\\(IB_CM_LISTEN_TAKES_THIRD_ARG\\)", - "(LINUX_VERSION_CODE < KERNEL_VERSION(6, 1, 0))", stmnt) + "(LINUX_VERSION_CODE < KERNEL_VERSION(6, 1, 0) \\&\\& " \ + "!(RHEL_MAJOR -0 == 8 \\&\\& RHEL_MINOR -0 >= 9 || " \ + "RHEL_MAJOR -0 == 9 \\&\\& RHEL_MINOR -0 >= 3))", stmnt) gsub("IB_CLIENT_ADD_ONE_RETURNS_INT", "(LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) || " \ |
From: Gleb C. <lna...@ya...> - 2024-01-10 16:36:15
|
Commit: b569392 GitHub URL: https://github.com/SCST-project/scst/commit/b5693922e093f2df7458aaf83351809c4ff89cd9 Author: Gleb Chesnokov Date: 2024-01-10T19:34:49+03:00 Log Message: ----------- scst_lib: Use gfp_mask instead of GFP_KERNEL for percpu_ref_init() Fix smatch-reported warning message: drivers/scst/scst_lib.c:4198 scst_alloc_device() warn: use 'gfp_mask' here instead of GFP_KERNEL? Modified Paths: -------------- scst/src/scst_lib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) =================================================================== diff --git a/scst/src/scst_lib.c b/scst/src/scst_lib.c index 0818322..349565f 100644 --- a/scst/src/scst_lib.c +++ b/scst/src/scst_lib.c @@ -4223,7 +4223,7 @@ int scst_alloc_device(gfp_t gfp_mask, int nodeid, struct scst_device **out_dev) memset(dev, 0, sizeof(*dev)); dev->handler = &scst_null_devtype; - res = percpu_ref_init(&dev->refcnt, scst_release_device, 0, GFP_KERNEL); + res = percpu_ref_init(&dev->refcnt, scst_release_device, 0, gfp_mask); if (res < 0) goto free_dev; #ifdef CONFIG_SCST_PER_DEVICE_CMD_COUNT_LIMIT |
From: Gleb C. <lna...@ya...> - 2024-01-10 16:36:00
|
Commit: cc3833c GitHub URL: https://github.com/SCST-project/scst/commit/cc3833c50b14fd184321721bd6b4f2783a8d3765 Author: Gleb Chesnokov Date: 2024-01-10T19:34:49+03:00 Log Message: ----------- nightly build: Downgrade the kernel version for RHEL 8.8 AlmaLinux has broken source RPMs for RHEL 8.8 kernel versions higher than 477.13.1, so use that version for now. Modified Paths: -------------- nightly/conf/nightly.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) =================================================================== diff --git a/nightly/conf/nightly.conf b/nightly/conf/nightly.conf index 88637f5..befe025 100644 --- a/nightly/conf/nightly.conf +++ b/nightly/conf/nightly.conf @@ -66,7 +66,7 @@ ABT_KERNELS=" \ 5.14.0-162.23.1.el9_1^AlmaLinux^9.1-nc \ 5.14.0-70.30.1.el9_0^AlmaLinux^9.0-nc \ 4.18.0-513.5.1.el8_9^AlmaLinux^8.9-nc \ -4.18.0-477.27.2.el8_8^AlmaLinux^8.8-nc \ +4.18.0-477.13.1.el8_8^AlmaLinux^8.8-nc \ 4.18.0-425.19.2.el8_7^AlmaLinux^8.7-nc \ 4.18.0-372.32.1.el8_6^AlmaLinux^8.6-nc \ 4.18.0-348.2.1.el8_5^CentOS^8.5.2111-nc \ |
From: Gleb C. <lna...@ya...> - 2024-01-10 16:35:45
|
Commit: 50e1bab GitHub URL: https://github.com/SCST-project/scst/commit/50e1babd394e27ce2fcb3f8c0973583addca781e Author: Gleb Chesnokov Date: 2024-01-10T19:34:49+03:00 Log Message: ----------- scst/include/backport.h: Fix backport for new stable kernels This patch fixes the build against kernel versions 5.4.263, 5.10.203, 5.15.136. Modified Paths: -------------- scst/include/backport.h | 26 +++++++++++---- 1 file changed, 19 insertions(+), 7 deletions(-) =================================================================== diff --git a/scst/include/backport.h b/scst/include/backport.h index c8940e8..51ee162 100644 --- a/scst/include/backport.h +++ b/scst/include/backport.h @@ -1621,13 +1621,21 @@ static inline void scsi_build_sense(struct scsi_cmnd *scmd, int desc, } #endif -#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0) && \ - (!defined(RHEL_RELEASE_CODE) || \ - RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(8, 7) || \ +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0) && \ + !(LINUX_VERSION_CODE >> 8 == KERNEL_VERSION(5, 4, 0) >> 8 && \ + LINUX_VERSION_CODE >= KERNEL_VERSION(5, 4, 263)) && \ + !(LINUX_VERSION_CODE >> 8 == KERNEL_VERSION(5, 10, 0) >> 8 && \ + LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 203)) && \ + (!defined(RHEL_RELEASE_CODE) || \ + RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(8, 7) || \ RHEL_RELEASE_CODE -0 == RHEL_RELEASE_VERSION(9, 0)) /* * See also 51f3a4788928 ("scsi: core: Introduce the scsi_cmd_to_rq() - * function"). + * function") # v5.15. + * See also df0110425f42 ("scsi: core: Introduce the scsi_cmd_to_rq() + * function") # v5.4.263. + * See also b19fe82b4b92 ("scsi: core: Introduce the scsi_cmd_to_rq() + * function") # v5.10.203. */ static inline struct request *scsi_cmd_to_rq(struct scsi_cmnd *scmd) { @@ -1674,11 +1682,15 @@ static inline unsigned int scsi_prot_interval(struct scsi_cmnd *scmd) } #endif -#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) && \ - (!defined(RHEL_RELEASE_CODE) || \ +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0) && \ + !(LINUX_VERSION_CODE >> 8 == KERNEL_VERSION(5, 15, 0) >> 8 && \ + LINUX_VERSION_CODE >= KERNEL_VERSION(5, 15, 136)) && \ + (!defined(RHEL_RELEASE_CODE) || \ RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(9, 1)) /* - * See also commit 11b68e36b167 ("scsi: core: Call scsi_done directly"; v5.16) + * See also commit 11b68e36b167 ("scsi: core: Call scsi_done directly") # v5.16. + * See also commit d2746cdfd5e5 ("scsi: core: Rename scsi_mq_done() into scsi_done() and export + * it") # v5.15.136. */ static inline void scsi_done(struct scsi_cmnd *cmd) { |
From: Gleb C. <lna...@ya...> - 2024-01-10 16:35:31
|
Commit: 7a48f02 GitHub URL: https://github.com/SCST-project/scst/commit/7a48f02640a07a89511d9fc2b78da181eb46a7af Author: Gleb Chesnokov Date: 2024-01-10T19:34:49+03:00 Log Message: ----------- scst/include/backport.h: Port to the latest UEK 7 kernel This patch fixes the build against UEK kernel 5.15.0-201.135.6.el9uek. Modified Paths: -------------- scst/include/backport.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) =================================================================== diff --git a/scst/include/backport.h b/scst/include/backport.h index 56fbb96..c8940e8 100644 --- a/scst/include/backport.h +++ b/scst/include/backport.h @@ -1799,7 +1799,8 @@ enum { #if LINUX_VERSION_CODE < KERNEL_VERSION(6, 3, 0) && \ (!defined(RHEL_MAJOR) || RHEL_MAJOR -0 < 8 || \ RHEL_MAJOR -0 == 8 && RHEL_MINOR -0 < 9 || \ - RHEL_MAJOR -0 == 9 && RHEL_MINOR -0 < 3) + RHEL_MAJOR -0 == 9 && RHEL_MINOR -0 < 3) && \ + !defined(UEK_KABI_RENAME) /* * See also commit 64fd2ba977b1 ("scsi: scsi_transport_fc: Add an additional * flag to fc_host_fpin_rcv()") # v6.3 |
From: Gleb C. <lna...@ya...> - 2024-01-10 16:35:29
|
Commit: 04ea811 GitHub URL: https://github.com/SCST-project/scst/commit/04ea811e8de18c22dd82f93473cdfb322b4869c4 Author: Gleb Chesnokov Date: 2024-01-10T19:34:49+03:00 Log Message: ----------- scripts: Revert "scripts: Add support for the UEK_RELEASE macro" This reverts commit 0d025a2e. Remove unused UEK_RELEASE macro support. Modified Paths: -------------- scripts/generate-kernel-patch | 2 +- scripts/specialize-patch | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) =================================================================== diff --git a/scripts/generate-kernel-patch b/scripts/generate-kernel-patch index 09715c9..7a0480a 100755 --- a/scripts/generate-kernel-patch +++ b/scripts/generate-kernel-patch @@ -124,7 +124,7 @@ function specialize_patch { fi ;; UEK) - ao=(-v UEK_KABI_RENAME=1 -v UEK_RELEASE=${releasevermajor}) + ao=(-v UEK_KABI_RENAME=1) ;; esac local kver3 diff --git a/scripts/specialize-patch b/scripts/specialize-patch index e5f508a..30d55c9 100755 --- a/scripts/specialize-patch +++ b/scripts/specialize-patch @@ -252,8 +252,6 @@ function evaluate(stmnt, pattern, arg, op, result) { gsub("defined\\(_COMPAT_LINUX_MM_H\\)", "0", stmnt) gsub("defined\\(UEK_KABI_RENAME\\)", UEK_KABI_RENAME ? "1" : "0", stmnt) - gsub("defined\\(UEK_RELEASE\\)", UEK_RELEASE ? "1" : "0", stmnt) - gsub("UEK_RELEASE", UEK_RELEASE ? UEK_RELEASE : "0", stmnt) if (SCST_IO_CONTEXT != "") { @@ -460,7 +458,6 @@ function handle_if(evaluated) || $0 ~ "RHEL_RELEASE_CODE" \ || $0 ~ "SOCK_RECVMSG_HAS_FOUR_ARGS" \ || $0 ~ "UEK_KABI_RENAME" \ - || $0 ~ "UEK_RELEASE" \ || $0 ~ "USE_PRE_440_WR_STRUCTURE" \ || $0 ~ "_COMPAT_LINUX_MM_H" \ || $0 ~ "bio_multiple_segments" \ |
From: Gleb C. <lna...@ya...> - 2023-12-28 08:58:50
|
Commit: be9d368 GitHub URL: https://github.com/SCST-project/scst/commit/be9d368361c6f302acde580e9914f14265bed2db Author: Gleb Chesnokov Date: 2023-12-28T11:58:22+03:00 Log Message: ----------- scst_targ: Fix shift out of bounds This patch should fix the following UBSAN warning: UBSAN: shift-out-of-bounds in scst/src/scst_targ.c:3912:6 shift exponent -1 is negative Call Trace: <TASK> show_stack+0x52/0x5c dump_stack_lvl+0x4a/0x63 dump_stack+0x10/0x16 ubsan_epilogue+0x9/0x36 __ubsan_handle_shift_out_of_bounds.cold+0x61/0xef scst_process_active_cmd.cold+0xf/0x2d [scst] scst_process_redirect_cmd+0xd4/0x2e0 [scst] scst_tgt_cmd_done+0x48/0x70 [scst] scst_local_targ_xmit_response+0x64/0x220 [scst_local] scst_process_active_cmd+0x891/0x2140 [scst] scst_process_redirect_cmd+0xd4/0x2e0 [scst] scst_cmd_done_local+0x80/0x110 [scst] dev_user_process_reply+0x597/0x1160 [scst_user] dev_user_ioctl+0x145/0xb23 [scst_user] __x64_sys_ioctl+0x95/0xd0 do_syscall_64+0x5c/0xc0 entry_SYSCALL_64_after_hwframe+0x62/0xcc Reported-by: Rob Turk <ro...@rt...> Modified Paths: -------------- scst/src/scst_targ.c | 21 +++++---------- 1 file changed, 7 insertions(+), 14 deletions(-) =================================================================== diff --git a/scst/src/scst_targ.c b/scst/src/scst_targ.c index 4b4eac7..a325e7b 100644 --- a/scst/src/scst_targ.c +++ b/scst/src/scst_targ.c @@ -3852,8 +3852,6 @@ static int scst_finish_cmd(struct scst_cmd *cmd) int res; struct scst_session *sess = cmd->sess; struct scst_io_stat_entry *stat; - int block_shift, align_len; - uint64_t lba; TRACE_ENTRY(); @@ -3898,20 +3896,15 @@ static int scst_finish_cmd(struct scst_cmd *cmd) stat = &sess->io_stats[cmd->data_direction]; stat->cmd_count++; stat->io_byte_count += cmd->bufflen + cmd->out_bufflen; - if (likely(cmd->dev != NULL)) { - block_shift = cmd->dev->block_shift; + + if (likely(cmd->dev && cmd->dev->block_shift > 0)) { /* Let's track only 4K unaligned cmds at the moment */ - align_len = (block_shift != 0) ? 4095 : 0; - lba = cmd->lba; - } else { - block_shift = 0; - align_len = 0; - lba = 0; - } + int align_len = 4095; - if (unlikely(((lba << block_shift) & align_len) != 0) || - unlikely(((cmd->bufflen + cmd->out_bufflen) & align_len) != 0)) - stat->unaligned_cmd_count++; + if (unlikely(((cmd->lba << cmd->dev->block_shift) & align_len) != 0) || + unlikely(((cmd->bufflen + cmd->out_bufflen) & align_len) != 0)) + stat->unaligned_cmd_count++; + } list_del(&cmd->sess_cmd_list_entry); |
From: Gleb C. <lna...@ya...> - 2023-12-28 08:02:54
|
Commit: 5716ffa GitHub URL: https://github.com/SCST-project/scst/commit/5716ffa73700a6f8137ad5fe0e1cdd05f5dcc0b7 Author: Gleb Chesnokov Date: 2023-12-28T11:02:09+03:00 Log Message: ----------- scst_lib: Fix mem access after free Fixes: https://github.com/SCST-project/scst/issues/204 Modified Paths: -------------- scst/src/scst_lib.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) =================================================================== diff --git a/scst/src/scst_lib.c b/scst/src/scst_lib.c index 02d03ba..0818322 100644 --- a/scst/src/scst_lib.c +++ b/scst/src/scst_lib.c @@ -4505,15 +4505,18 @@ out_on_del: scst_cm_on_del_lun(acg_dev, false); out_free: - /* - * synchronize_rcu() does not have to be called here because the - * tgt_devs that will be freed have never been on any of the - * sess->sess_tgt_dev_list[] lists. - */ list_for_each_entry_safe(tgt_dev, tt, &tmp_tgt_dev_list, extra_tgt_dev_list_entry) { + sess = tgt_dev->sess; + + mutex_lock(&sess->tgt_dev_list_mutex); + scst_del_tgt_dev(tgt_dev); + mutex_unlock(&sess->tgt_dev_list_mutex); + + synchronize_rcu(); scst_free_tgt_dev(tgt_dev); } + scst_del_free_acg_dev(acg_dev, false); goto out; } |
From: Gleb C. <lna...@ya...> - 2023-12-27 19:10:07
|
Commit: 56a6be7 GitHub URL: https://github.com/SCST-project/scst/commit/56a6be7ddf916e77cfaa56b4f73740bec769370f Author: Gleb Chesnokov Date: 2023-12-27T22:09:42+03:00 Log Message: ----------- nightly build: Update kernel versions Another kernel versions update. Modified Paths: -------------- nightly/conf/nightly.conf | 29 ++++++++------- 1 file changed, 16 insertions(+), 13 deletions(-) =================================================================== diff --git a/nightly/conf/nightly.conf b/nightly/conf/nightly.conf index 1f596da..88637f5 100644 --- a/nightly/conf/nightly.conf +++ b/nightly/conf/nightly.conf @@ -3,39 +3,40 @@ ABT_DETAILS="x86_64" ABT_JOBS=5 ABT_KERNELS=" \ -6.5.4 \ +6.6.8 \ +6.5.13-nc \ 6.4.16-nc \ 6.3.13-nc \ 6.2.16-nc \ -6.1.54-nc \ +6.1.69-nc \ 6.0.19-nc \ 5.19.17-nc \ 5.18.19-nc \ 5.17.15-nc \ 5.16.20-nc \ -5.15.132-nc \ +5.15.145-nc \ 5.14.21-nc \ 5.13.19-nc \ 5.12.19-nc \ 5.11.22-nc \ -5.10.195-nc \ +5.10.205-nc \ 5.9.16-nc \ 5.8.18-nc \ 5.7.19-nc \ 5.6.19-nc \ 5.5.19-nc \ -5.4.256-nc \ +5.4.265-nc \ 5.3.18-nc \ 5.2.21-nc \ 5.1.21-nc \ 5.0.21-nc \ 4.20.17-nc \ -4.19.294-nc \ +4.19.303-nc \ 4.18.20-nc \ 4.17.19-nc \ 4.16.18-nc \ 4.15.18-nc \ -4.14.325-nc \ +4.14.334-nc \ 4.13.16-nc \ 4.12.14-nc \ 4.11.12-nc \ @@ -60,10 +61,12 @@ ABT_KERNELS=" \ 3.12.74-nc \ 3.11.10-nc \ 3.10.108-nc \ +5.14.0-362.13.1.el9_3^AlmaLinux^9.3-nc \ 5.14.0-284.30.1.el9_2^AlmaLinux^9.2-nc \ 5.14.0-162.23.1.el9_1^AlmaLinux^9.1-nc \ 5.14.0-70.30.1.el9_0^AlmaLinux^9.0-nc \ -4.18.0-477.21.1.el8_8^AlmaLinux^8.8-nc \ +4.18.0-513.5.1.el8_9^AlmaLinux^8.9-nc \ +4.18.0-477.27.2.el8_8^AlmaLinux^8.8-nc \ 4.18.0-425.19.2.el8_7^AlmaLinux^8.7-nc \ 4.18.0-372.32.1.el8_6^AlmaLinux^8.6-nc \ 4.18.0-348.2.1.el8_5^CentOS^8.5.2111-nc \ @@ -72,18 +75,18 @@ ABT_KERNELS=" \ 4.18.0-193.28.1.el8_2^CentOS^8.2.2004-nc \ 4.18.0-147.8.1.el8_1^CentOS^8.1.1911-nc \ 4.18.0-80.11.2.el8_0^CentOS^8.0.1905-nc \ -3.10.0-1160.95.1.el7^CentOS^7.9.2009-nc \ +3.10.0-1160.105.1.el7^CentOS^7.9.2009-nc \ 3.10.0-1127.19.1.el7^CentOS^7.8.2003-nc \ 3.10.0-1062.18.1.el7^CentOS^7.7.1908-nc \ 3.10.0-957.27.2.el7^CentOS^7.6.1810-nc \ 3.10.0-862.14.4.el7^CentOS^7.5.1804-nc \ -5.15.0-105.125.6.2.1.el9uek^UEK^9-nc \ -5.15.0-105.125.6.2.1.el8uek^UEK^8-nc \ -5.4.17-2136.323.8.1.el8uek^UEK^8-nc \ +5.15.0-201.135.6.el9uek^UEK^9-nc \ +5.15.0-201.135.6.el8uek^UEK^8-nc \ +5.4.17-2136.326.6.el8uek^UEK^8-nc \ 5.4.17-2102.206.1.el8uek^UEK^8-nc \ 5.4.17-2036.104.5.el8uek^UEK^8-nc \ 5.4.17-2011.7.4.el8uek^UEK^8-nc \ -5.4.17-2136.323.8.1.el7uek^UEK^7-nc \ +5.4.17-2136.326.6.el7uek^UEK^7-nc \ 5.4.17-2102.206.1.el7uek^UEK^7-nc \ 5.4.17-2036.104.5.el7uek^UEK^7-nc \ 5.4.17-2011.7.4.el7uek^UEK^7-nc \ |
From: Gleb C. <lna...@ya...> - 2023-12-27 19:02:21
|
Commit: 6be69c0 GitHub URL: https://github.com/SCST-project/scst/commit/6be69c08b4ff3ae0b4992b8be1a69115ed9839e8 Author: Gleb Chesnokov Date: 2023-12-27T22:01:36+03:00 Log Message: ----------- qla2x00t-32gbit: Fix system crash due to bad pointer access User experiences system crash when running AER error injection. The perturbation causes the abort-all-I/O path to trigger. The driver assumes all I/O on this path is FCP only. If there is both NVMe & FCP traffic, a system crash happens. Add additional check to see if I/O is FCP or not before access. PID: 999019 TASK: ff35d769f24722c0 CPU: 53 COMMAND: "kworker/53:1" 0 [ff3f78b964847b58] machine_kexec at ffffffffae86973d 1 [ff3f78b964847ba8] __crash_kexec at ffffffffae9be29d 2 [ff3f78b964847c70] crash_kexec at ffffffffae9bf528 3 [ff3f78b964847c78] oops_end at ffffffffae8282ab 4 [ff3f78b964847c98] exc_page_fault at ffffffffaf2da502 5 [ff3f78b964847cc0] asm_exc_page_fault at ffffffffaf400b62 [exception RIP: qla2x00_abort_srb+444] RIP: ffffffffc07b5f8c RSP: ff3f78b964847d78 RFLAGS: 00010046 RAX: 0000000000000282 RBX: ff35d74a0195a200 RCX: ff35d76886fd03a0 RDX: 0000000000000001 RSI: ffffffffc07c5ec8 RDI: ff35d74a0195a200 RBP: ff35d76913d22080 R8: ff35d7694d103200 R9: ff35d7694d103200 R10: 0000000100000000 R11: ffffffffb05d6630 R12: 0000000000010000 R13: ff3f78b964847df8 R14: ff35d768d8754000 R15: ff35d768877248e0 ORIG_RAX: ffffffffffffffff CS: 0010 SS: 0018 6 [ff3f78b964847d70] qla2x00_abort_srb at ffffffffc07b5f84 [qla2xxx] 7 [ff3f78b964847de0] __qla2x00_abort_all_cmds at ffffffffc07b6238 [qla2xxx] 8 [ff3f78b964847e38] qla2x00_abort_all_cmds at ffffffffc07ba635 [qla2xxx] 9 [ff3f78b964847e58] qla2x00_terminate_rport_io at ffffffffc08145eb [qla2xxx] 10 [ff3f78b964847e70] fc_terminate_rport_io at ffffffffc045987e [scsi_transport_fc] 11 [ff3f78b964847e88] process_one_work at ffffffffae914f15 12 [ff3f78b964847ed0] worker_thread at ffffffffae9154c0 13 [ff3f78b964847f10] kthread at ffffffffae91c456 14 [ff3f78b964847f50] ret_from_fork at ffffffffae8036ef Cc: st...@vg... Fixes: f45bca8c5052 ("scsi: qla2xxx: Fix double scsi_done for abort path") Signed-off-by: Quinn Tran <qu...@ma...> Signed-off-by: Nilesh Javali <nj...@ma...> Link: https://lore.kernel.org/r/202...@ma... Signed-off-by: Martin K. Petersen <mar...@or...> [ commit 19597cad64d6 upstream ] Modified Paths: -------------- qla2x00t-32gbit/qla_os.c | 16 +++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) =================================================================== diff --git a/qla2x00t-32gbit/qla_os.c b/qla2x00t-32gbit/qla_os.c index 1525b32..56a2e71 100644 --- a/qla2x00t-32gbit/qla_os.c +++ b/qla2x00t-32gbit/qla_os.c @@ -1877,13 +1877,21 @@ static void qla2x00_abort_srb(struct qla_qpair *qp, srb_t *sp, const int res, } spin_lock_irqsave(qp->qp_lock_ptr, *flags); + switch (sp->type) { + case SRB_SCSI_CMD: #if HAVE_SCSI_MQ - if (ret_cmd && blk_mq_request_started(scsi_cmd_to_rq(cmd))) - sp->done(sp, res); + if (ret_cmd && blk_mq_request_started(scsi_cmd_to_rq(cmd))) + sp->done(sp, res); #else - if (ret_cmd && list_empty(&cmd->request->queuelist)) - sp->done(sp, res); + if (ret_cmd && list_empty(&cmd->request->queuelist)) + sp->done(sp, res); #endif + break; + default: + if (ret_cmd) + sp->done(sp, res); + break; + } } else { sp->done(sp, res); } |
From: Gleb C. <lna...@ya...> - 2023-12-27 19:02:05
|
Commit: e154a6b GitHub URL: https://github.com/SCST-project/scst/commit/e154a6bc4f7f4ed68f045e346e7f517c22dc65c5 Author: Gleb Chesnokov Date: 2023-12-27T22:01:36+03:00 Log Message: ----------- qla2x00t-32gbit: Fix double free of dsd_list during driver load On driver load, scsi_add_host() can fail. This triggers the free path to call qla2x00_mem_free() multiple times. This causes NULL pointer access of ha->base_qpair. Add check before access. BUG: unable to handle kernel NULL pointer dereference at 0000000000000030 IP: [<ffffffffc118f73c>] qla2x00_mem_free+0x51c/0xcb0 [qla2xxx] PGD 8000001fcfe4a067 PUD 1fc8f0a067 PMD 0 Oops: 0000 [#1] SMP RIP: 0010:[<ffffffffc118f73c>] [<ffffffffc118f73c>] qla2x00_mem_free+0x51c/0xcb0 [qla2xxx] RSP: 0018:ffff8ace97a93a30 EFLAGS: 00010246 RAX: 0000000000000000 RBX: ffff8ace8efd0000 RCX: 000000000000488f RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: ffff8ace97a93a60 R08: 000000000001f040 R09: ffffffff8678209b R10: ffff8acf7d6df040 R11: ffffc591c0fcc980 R12: ffffffff87034800 R13: ffff8acf0e3cc740 R14: ffff8ace8efd0000 R15: 00000000fffffff4 FS: 00007f4cf5449740(0000) GS:ffff8acf7d6c0000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000030 CR3: 0000001fc2f6c000 CR4: 00000000007607e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: [<ffffffff86781f18>] ? kobject_put+0x28/0x60 [<ffffffffc119a59c>] qla2x00_probe_one+0x19fc/0x3040 [qla2xxx] Fixes: efeda3bf912f ("scsi: qla2xxx: Move resource to allow code reuse") Signed-off-by: Quinn Tran <qu...@ma...> Signed-off-by: Nilesh Javali <nj...@ma...> Link: https://lore.kernel.org/r/202...@ma... Signed-off-by: Martin K. Petersen <mar...@or...> [ commit 097c06394c83 upstream ] Modified Paths: -------------- qla2x00t-32gbit/qla_os.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) =================================================================== diff --git a/qla2x00t-32gbit/qla_os.c b/qla2x00t-32gbit/qla_os.c index dbdf67f..1525b32 100644 --- a/qla2x00t-32gbit/qla_os.c +++ b/qla2x00t-32gbit/qla_os.c @@ -5021,7 +5021,7 @@ qla2x00_mem_free(struct qla_hw_data *ha) ha->gid_list = NULL; ha->gid_list_dma = 0; - if (!list_empty(&ha->base_qpair->dsd_list)) { + if (ha->base_qpair && !list_empty(&ha->base_qpair->dsd_list)) { struct dsd_dma *dsd_ptr, *tdsd_ptr; /* clean up allocated prev pool */ |
From: Gleb C. <lna...@ya...> - 2023-12-27 18:13:39
|
Commit: d3da391 GitHub URL: https://github.com/SCST-project/scst/commit/d3da391be8a9fc8c0fe2318850e7f1643e31679d Author: Gleb Chesnokov Date: 2023-12-27T21:13:12+03:00 Log Message: ----------- scst/include/backport.h: Unbreak the RHEL 8.9 build Modified Paths: -------------- scst/include/backport.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) =================================================================== diff --git a/scst/include/backport.h b/scst/include/backport.h index 7386fa3..56fbb96 100644 --- a/scst/include/backport.h +++ b/scst/include/backport.h @@ -1797,8 +1797,9 @@ enum { #endif #if LINUX_VERSION_CODE < KERNEL_VERSION(6, 3, 0) && \ - (!defined(RHEL_RELEASE_CODE) || \ - RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(9, 3)) + (!defined(RHEL_MAJOR) || RHEL_MAJOR -0 < 8 || \ + RHEL_MAJOR -0 == 8 && RHEL_MINOR -0 < 9 || \ + RHEL_MAJOR -0 == 9 && RHEL_MINOR -0 < 3) /* * See also commit 64fd2ba977b1 ("scsi: scsi_transport_fc: Add an additional * flag to fc_host_fpin_rcv()") # v6.3 |
From: Gleb C. <lna...@ya...> - 2023-12-27 15:28:11
|
Commit: 2d243a7 GitHub URL: https://github.com/SCST-project/scst/commit/2d243a71e7558ff036e7225481569d9da2898adc Author: Gleb Chesnokov Date: 2023-12-27T18:27:42+03:00 Log Message: ----------- scst: Unbreak the RHEL 9.4 build Fixes: https://github.com/SCST-project/scst/issues/201 Modified Paths: -------------- iscsi-scst/kernel/isert-scst/isert_login.c | 4 +++- scst/include/backport.h | 4 +++- scst/src/dev_handlers/scst_user.c | 4 +++- scst/src/scst_event.c | 4 +++- scst/src/scst_main.c | 8 ++++++-- 5 files changed, 18 insertions(+), 6 deletions(-) =================================================================== diff --git a/iscsi-scst/kernel/isert-scst/isert_login.c b/iscsi-scst/kernel/isert-scst/isert_login.c index cd6d238..1ae05f9 100644 --- a/iscsi-scst/kernel/isert-scst/isert_login.c +++ b/iscsi-scst/kernel/isert-scst/isert_login.c @@ -1000,7 +1000,9 @@ int __init isert_init_login_devs(unsigned int ndevs) goto fail; /* Make this more graceful */ } -#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0) && \ + (!defined(RHEL_RELEASE_CODE) || \ + RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(9, 4)) isert_class = class_create(THIS_MODULE, "isert_scst"); #else isert_class = class_create("isert_scst"); diff --git a/scst/include/backport.h b/scst/include/backport.h index 56d25e4..7386fa3 100644 --- a/scst/include/backport.h +++ b/scst/include/backport.h @@ -231,7 +231,9 @@ void blk_execute_rq_nowait_backport(struct request *rq, bool at_head) /* <linux/blkdev.h> */ -#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 5, 0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 5, 0) && \ + (!defined(RHEL_RELEASE_CODE) || \ + RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(9, 4)) /* * See also commit 05bdb9965305 ("block: replace fmode_t with a block-specific * type for block open flags") # v6.5. diff --git a/scst/src/dev_handlers/scst_user.c b/scst/src/dev_handlers/scst_user.c index 6f579b8..d982d5e 100644 --- a/scst/src/dev_handlers/scst_user.c +++ b/scst/src/dev_handlers/scst_user.c @@ -4145,7 +4145,9 @@ static int __init init_scst_user(void) if (res < 0) goto out_cache; -#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0) && \ + (!defined(RHEL_RELEASE_CODE) || \ + RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(9, 4)) dev_user_sysfs_class = class_create(THIS_MODULE, DEV_USER_NAME); #else dev_user_sysfs_class = class_create(DEV_USER_NAME); diff --git a/scst/src/scst_event.c b/scst/src/scst_event.c index b744e17..71647bd 100644 --- a/scst/src/scst_event.c +++ b/scst/src/scst_event.c @@ -1118,7 +1118,9 @@ int scst_event_init(void) goto out; } -#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0) && \ + (!defined(RHEL_RELEASE_CODE) || \ + RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(9, 4)) scst_event_sysfs_class = class_create(THIS_MODULE, SCST_EVENT_NAME); #else scst_event_sysfs_class = class_create(SCST_EVENT_NAME); diff --git a/scst/src/scst_main.c b/scst/src/scst_main.c index 5ca545f..3dd3396 100644 --- a/scst/src/scst_main.c +++ b/scst/src/scst_main.c @@ -2157,7 +2157,9 @@ unsigned int scst_get_setup_id(void) } EXPORT_SYMBOL_GPL(scst_get_setup_id); -#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0) && \ + (!defined(RHEL_RELEASE_CODE) || \ + RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(9, 4)) static int scst_add(struct device *cdev, struct class_interface *intf) #else static int scst_add(struct device *cdev) @@ -2178,7 +2180,9 @@ static int scst_add(struct device *cdev) return res; } -#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0) && \ + (!defined(RHEL_RELEASE_CODE) || \ + RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(9, 4)) static void scst_remove(struct device *cdev, struct class_interface *intf) #else static void scst_remove(struct device *cdev) |
From: Gleb C. <lna...@ya...> - 2023-12-27 15:03:04
|
Commit: fd88df1 GitHub URL: https://github.com/SCST-project/scst/commit/fd88df1e253f8d20a01b2ffb52842cc4bffabe2e Author: Gleb Chesnokov Date: 2023-12-27T18:02:30+03:00 Log Message: ----------- scst_mem: Port to Linux kernel v6.7 Support for the following mm layer changes in the Linux kernel v6.7: - c42d50aefd17 ("mm: shrinker: add infrastructure for dynamically allocating shrinker") Modified Paths: -------------- scst/src/scst_mem.c | 54 +++++++++++---- scst/src/scst_mem.h | 2 +- 2 files changed, 43 insertions(+), 13 deletions(-) =================================================================== diff --git a/scst/src/scst_mem.c b/scst/src/scst_mem.c index af5cd48..9814fa7 100644 --- a/scst/src/scst_mem.c +++ b/scst/src/scst_mem.c @@ -78,7 +78,11 @@ static atomic_t sgv_releases_on_hiwmk_failed = ATOMIC_INIT(0); static atomic_t sgv_other_total_alloc = ATOMIC_INIT(0); #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 7, 0) static struct shrinker sgv_shrinker; +#else +static struct shrinker *sgv_shrinker; +#endif static struct kmem_cache *sgv_pool_cachep; @@ -1711,8 +1715,43 @@ void sgv_pool_del(struct sgv_pool *pool) } EXPORT_SYMBOL_GPL(sgv_pool_del); +static int __init scst_sgv_shrinker_init(void) +{ +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 7, 0) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 12, 0) + sgv_shrinker.count_objects = sgv_can_be_shrunk; + sgv_shrinker.scan_objects = sgv_scan_shrink; +#else + sgv_shrinker.shrink = sgv_shrink; +#endif + sgv_shrinker.seeks = DEFAULT_SEEKS; + + return register_shrinker(&sgv_shrinker, "scst-sgv"); +#else + sgv_shrinker = shrinker_alloc(0, "scst-sgv"); + if (unlikely(!sgv_shrinker)) + return -ENOMEM; + + sgv_shrinker->count_objects = sgv_can_be_shrunk; + sgv_shrinker->scan_objects = sgv_scan_shrink; + + shrinker_register(sgv_shrinker); + + return 0; +#endif +} + +static void scst_sgv_shrinker_exit(void) +{ +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 7, 0) + unregister_shrinker(&sgv_shrinker); +#else + shrinker_free(sgv_shrinker); +#endif +} + /* Both parameters in pages */ -int scst_sgv_pools_init(unsigned long mem_hwmark, unsigned long mem_lwmark) +int __init scst_sgv_pools_init(unsigned long mem_hwmark, unsigned long mem_lwmark) { int res = 0, i; @@ -1791,15 +1830,7 @@ int scst_sgv_pools_init(unsigned long mem_hwmark, unsigned long mem_lwmark) goto out_free_per_cpu_dma; } -#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 12, 0) - sgv_shrinker.count_objects = sgv_can_be_shrunk; - sgv_shrinker.scan_objects = sgv_scan_shrink; -#else - sgv_shrinker.shrink = sgv_shrink; -#endif - sgv_shrinker.seeks = DEFAULT_SEEKS; - - res = register_shrinker(&sgv_shrinker, "scst-sgv"); + res = scst_sgv_shrinker_init(); if (unlikely(res)) goto out_free_per_cpu_dma; @@ -1841,7 +1872,7 @@ void scst_sgv_pools_deinit(void) TRACE_ENTRY(); - unregister_shrinker(&sgv_shrinker); + scst_sgv_shrinker_exit(); sgv_pool_destroy(sgv_dma_pool_main); for (i = 0; i < nr_cpu_ids; i++) @@ -1870,7 +1901,6 @@ void scst_sgv_pools_deinit(void) return; } - static ssize_t sgv_sysfs_stat_show(struct kobject *kobj, struct kobj_attribute *attr, char *buf) { diff --git a/scst/src/scst_mem.h b/scst/src/scst_mem.h index 9b5439c..cfffb69 100644 --- a/scst/src/scst_mem.h +++ b/scst/src/scst_mem.h @@ -138,7 +138,7 @@ static inline struct scatterlist *sgv_pool_sg(struct sgv_pool_obj *obj) return obj->sg_entries; } -int scst_sgv_pools_init(unsigned long mem_hwmark, unsigned long mem_lwmark); +int __init scst_sgv_pools_init(unsigned long mem_hwmark, unsigned long mem_lwmark); void scst_sgv_pools_deinit(void); |
From: Gleb C. <lna...@ya...> - 2023-10-10 12:12:59
|
Commit: 4c0fb04 GitHub URL: https://github.com/SCST-project/scst/commit/4c0fb04abae9e45e31b8f5d69a8cdea446d7b4b4 Author: Gleb Chesnokov Date: 2023-10-10T15:10:02+03:00 Log Message: ----------- qla2x00t-32gbit: Correct endianness for rqstlen and rsplen rqstlen and rsplen were changed to __le32 to fix sparse warnings: drivers/scsi/qla2xxx/qla_nvme.c:402:30: warning: incorrect type in assignment (different base types) drivers/scsi/qla2xxx/qla_nvme.c:402:30: expected restricted __le32 [usertype] cmd_len drivers/scsi/qla2xxx/qla_nvme.c:402:30: got unsigned short [usertype] rsplen drivers/scsi/qla2xxx/qla_nvme.c:507:30: warning: incorrect type in assignment (different base types) drivers/scsi/qla2xxx/qla_nvme.c:507:30: expected restricted __le32 [usertype] cmd_len drivers/scsi/qla2xxx/qla_nvme.c:507:30: got unsigned int [usertype] rqstlen drivers/scsi/qla2xxx/qla_nvme.c:508:30: warning: incorrect type in assignment (different base types) drivers/scsi/qla2xxx/qla_nvme.c:508:30: expected restricted __le32 [usertype] rsp_len drivers/scsi/qla2xxx/qla_nvme.c:508:30: got unsigned int [usertype] rsplen Correct the endianness in qla2xxx driver thus avoiding changes in nvme-fc-driver.h. Fixes: 875386b98857 ("scsi: qla2xxx: Add Unsolicited LS Request and Response Support for NVMe") Signed-off-by: Nilesh Javali <nj...@ma...> Link: https://lore.kernel.org/r/202...@ma... Signed-off-by: Martin K. Petersen <mar...@or...> [ commit 0be7592885d7 upstream ] Modified Paths: -------------- qla2x00t-32gbit/qla_nvme.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) =================================================================== diff --git a/qla2x00t-32gbit/qla_nvme.c b/qla2x00t-32gbit/qla_nvme.c index 8cb9375..e0a9a4f 100644 --- a/qla2x00t-32gbit/qla_nvme.c +++ b/qla2x00t-32gbit/qla_nvme.c @@ -419,14 +419,14 @@ static int qla_nvme_xmt_ls_rsp(struct nvme_fc_local_port *lport, nvme->u.nvme.dl = 0; nvme->u.nvme.timeout_sec = 0; nvme->u.nvme.cmd_dma = fd_resp->rspdma; - nvme->u.nvme.cmd_len = fd_resp->rsplen; + nvme->u.nvme.cmd_len = cpu_to_le32(fd_resp->rsplen); nvme->u.nvme.rsp_len = 0; nvme->u.nvme.rsp_dma = 0; nvme->u.nvme.exchange_address = uctx->exchange_address; nvme->u.nvme.nport_handle = uctx->nport_handle; nvme->u.nvme.ox_id = uctx->ox_id; dma_sync_single_for_device(&ha->pdev->dev, nvme->u.nvme.cmd_dma, - le32_to_cpu(fd_resp->rsplen), DMA_TO_DEVICE); + fd_resp->rsplen, DMA_TO_DEVICE); ql_dbg(ql_dbg_unsol, vha, 0x2122, "Unsol lsreq portid=%06x %8phC exchange_address 0x%x ox_id 0x%x hdl 0x%x\n", @@ -525,13 +525,13 @@ static int qla_nvme_ls_req(struct nvme_fc_local_port *lport, nvme->u.nvme.desc = fd; nvme->u.nvme.dir = 0; nvme->u.nvme.dl = 0; - nvme->u.nvme.cmd_len = fd->rqstlen; - nvme->u.nvme.rsp_len = fd->rsplen; + nvme->u.nvme.cmd_len = cpu_to_le32(fd->rqstlen); + nvme->u.nvme.rsp_len = cpu_to_le32(fd->rsplen); nvme->u.nvme.rsp_dma = fd->rspdma; nvme->u.nvme.timeout_sec = fd->timeout; nvme->u.nvme.cmd_dma = fd->rqstdma; dma_sync_single_for_device(&ha->pdev->dev, nvme->u.nvme.cmd_dma, - le32_to_cpu(fd->rqstlen), DMA_TO_DEVICE); + fd->rqstlen, DMA_TO_DEVICE); rval = qla2x00_start_sp(sp); if (rval != QLA_SUCCESS) { |
From: Gleb C. <lna...@ya...> - 2023-10-10 12:12:39
|
Commit: 785ac55 GitHub URL: https://github.com/SCST-project/scst/commit/785ac55de75e9cb3273ef02ba70ee585892234b0 Author: Gleb Chesnokov Date: 2023-10-10T15:10:02+03:00 Log Message: ----------- qla2x00t-32gbit: Fix unused variable warning in qla2xxx_process_purls_pkt() When CONFIG_NVME_FC is not set, fcport is unused: drivers/scsi/qla2xxx/qla_nvme.c: In function 'qla2xxx_process_purls_pkt': drivers/scsi/qla2xxx/qla_nvme.c:1183:20: warning: unused variable 'fcport' [-Wunused-variable] 1183 | fc_port_t *fcport = uctx->fcport; | ^~~~~~ While this preprocessor usage could be converted to a normal if statement to allow the compiler to always see fcport as used, it is equally easy to just eliminate the fcport variable and use uctx->fcport directly. Fixes: 27177862de96 ("scsi: qla2xxx: Fix nvme_fc_rcv_ls_req() undefined error") Reported-by: Stephen Rothwell <sf...@ca...> Closes: https://lore.kernel.org/linux-next/202...@ca.../ Reported-by: kernel test robot <lk...@in...> Closes: https://lore.kernel.org/oe-kbuild-all/202...@in.../ Signed-off-by: Nathan Chancellor <na...@ke...> Link: https://lore.kernel.org/r/202...@ke... Acked-by: Nilesh Javali <nj...@ma...> Reviewed-by: Bart Van Assche <bva...@ac...> Signed-off-by: Martin K. Petersen <mar...@or...> [ commit d4781807f050 upstream ] Modified Paths: -------------- qla2x00t-32gbit/qla_nvme.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) =================================================================== diff --git a/qla2x00t-32gbit/qla_nvme.c b/qla2x00t-32gbit/qla_nvme.c index da703c6..8cb9375 100644 --- a/qla2x00t-32gbit/qla_nvme.c +++ b/qla2x00t-32gbit/qla_nvme.c @@ -1132,12 +1132,11 @@ static void qla2xxx_process_purls_pkt(struct scsi_qla_host *vha, struct purex_item *item) { struct qla_nvme_unsol_ctx *uctx = item->purls_context; - fc_port_t *fcport = uctx->fcport; struct qla_nvme_lsrjt_pt_arg a; int ret = 1; #if (IS_ENABLED(CONFIG_NVME_FC)) - ret = nvme_fc_rcv_ls_req(fcport->nvme_remote_port, &uctx->lsrsp, + ret = nvme_fc_rcv_ls_req(uctx->fcport->nvme_remote_port, &uctx->lsrsp, &item->iocb, item->size); #endif if (ret) { |
From: Gleb C. <lna...@ya...> - 2023-10-10 12:12:20
|
Commit: 4dd1f3f GitHub URL: https://github.com/SCST-project/scst/commit/4dd1f3f9841d1f1c88e0bf4a73a5694f3ff3418b Author: Gleb Chesnokov Date: 2023-10-10T15:10:02+03:00 Log Message: ----------- qla2x00t-32gbit: Fix spelling mistake "tranport" -> "transport" There is a spelling mistake in a ql_dbg message. Fix it. Signed-off-by: Colin Ian King <col...@gm...> Link: https://lore.kernel.org/r/202...@gm... Acked-by: Nilesh Javali <nj...@ma...> Signed-off-by: Martin K. Petersen <mar...@or...> [ commit 7a5dee9b72e9 upstream ] Modified Paths: -------------- qla2x00t-32gbit/qla_nvme.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) =================================================================== diff --git a/qla2x00t-32gbit/qla_nvme.c b/qla2x00t-32gbit/qla_nvme.c index d6223f5..da703c6 100644 --- a/qla2x00t-32gbit/qla_nvme.c +++ b/qla2x00t-32gbit/qla_nvme.c @@ -1141,7 +1141,7 @@ qla2xxx_process_purls_pkt(struct scsi_qla_host *vha, struct purex_item *item) &item->iocb, item->size); #endif if (ret) { - ql_dbg(ql_dbg_unsol, vha, 0x2125, "NVMe tranport ls_req failed\n"); + ql_dbg(ql_dbg_unsol, vha, 0x2125, "NVMe transport ls_req failed\n"); memset((void *)&a, 0, sizeof(a)); a.vp_idx = vha->vp_idx; a.nport_handle = uctx->nport_handle; |
From: Gleb C. <lna...@ya...> - 2023-10-10 12:12:09
|
Commit: 69a6419 GitHub URL: https://github.com/SCST-project/scst/commit/69a6419bed6b62602589ac614b096b495e377435 Author: Gleb Chesnokov Date: 2023-10-10T15:10:02+03:00 Log Message: ----------- qla2x00t-32gbit: Fix nvme_fc_rcv_ls_req() undefined error The kernel robot reported below build error, >> ERROR: modpost: "nvme_fc_rcv_ls_req" [drivers/scsi/qla2xxx/qla2xxx.ko] undefined! Use CONFIG_NVME_FC enabled check to fix the build error. Reported-by: kernel test robot <lk...@in...> Closes: https://lore.kernel.org/oe-kbuild-all/202...@in.../ Signed-off-by: Nilesh Javali <nj...@ma...> Link: https://lore.kernel.org/r/202...@ma... Signed-off-by: Martin K. Petersen <mar...@or...> [ commit 27177862de96 upstream ] Modified Paths: -------------- qla2x00t-32gbit/qla_nvme.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) =================================================================== diff --git a/qla2x00t-32gbit/qla_nvme.c b/qla2x00t-32gbit/qla_nvme.c index 1dcae7a..d6223f5 100644 --- a/qla2x00t-32gbit/qla_nvme.c +++ b/qla2x00t-32gbit/qla_nvme.c @@ -1134,10 +1134,12 @@ qla2xxx_process_purls_pkt(struct scsi_qla_host *vha, struct purex_item *item) struct qla_nvme_unsol_ctx *uctx = item->purls_context; fc_port_t *fcport = uctx->fcport; struct qla_nvme_lsrjt_pt_arg a; - int ret; + int ret = 1; +#if (IS_ENABLED(CONFIG_NVME_FC)) ret = nvme_fc_rcv_ls_req(fcport->nvme_remote_port, &uctx->lsrsp, &item->iocb, item->size); +#endif if (ret) { ql_dbg(ql_dbg_unsol, vha, 0x2125, "NVMe tranport ls_req failed\n"); memset((void *)&a, 0, sizeof(a)); |
From: Gleb C. <lna...@ya...> - 2023-10-10 12:11:54
|
Commit: c94fdd8 GitHub URL: https://github.com/SCST-project/scst/commit/c94fdd810a84885047ee9619064bd7ca540f20b7 Author: Gleb Chesnokov Date: 2023-10-10T15:10:02+03:00 Log Message: ----------- qla2x00t-32gbit: Backport to older kernel versions Unbreak the build for the previous commit against kernel versions before v5.8. See also commit 72e6329f86c7 ("nvme-fc and nvmet-fc: revise LLDD api for LS reception and LS request") # v5.8. Modified Paths: -------------- qla2x00t-32gbit/qla_def.h | 6 ++++++ qla2x00t-32gbit/qla_gbl.h | 2 +- qla2x00t-32gbit/qla_isr.c | 4 ++++ qla2x00t-32gbit/qla_nvme.c | 10 ++++++++++ qla2x00t-32gbit/qla_nvme.h | 4 ++++ qla2x00t-32gbit/qla_os.c | 6 ++++++ 6 files changed, 31 insertions(+), 1 deletion(-) =================================================================== diff --git a/qla2x00t-32gbit/qla_def.h b/qla2x00t-32gbit/qla_def.h index 4c143b3..f009d2c 100644 --- a/qla2x00t-32gbit/qla_def.h +++ b/qla2x00t-32gbit/qla_def.h @@ -389,11 +389,13 @@ struct name_list_extended { u8 sent; }; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) struct qla_nvme_fc_rjt { struct fcnvme_ls_rjt *c; dma_addr_t cdma; u16 size; }; +#endif struct els_reject { struct fc_els_ls_rjt *c; @@ -552,6 +554,7 @@ struct ct_arg { port_id_t id; }; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) struct qla_nvme_lsrjt_pt_arg { struct fc_port *fcport; u8 opcode; @@ -565,6 +568,7 @@ struct qla_nvme_lsrjt_pt_arg { u32 tx_byte_count, rx_byte_count; dma_addr_t tx_addr, rx_addr; }; +#endif /* * SRB extensions. @@ -4890,7 +4894,9 @@ struct qla_hw_data { struct els_reject elsrej; u8 edif_post_stop_cnt_down; struct qla_vp_map *vp_map; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) struct qla_nvme_fc_rjt lsrjt; +#endif struct qla_fw_res fwres ____cacheline_aligned; }; diff --git a/qla2x00t-32gbit/qla_gbl.h b/qla2x00t-32gbit/qla_gbl.h index 767b382..ea684de 100644 --- a/qla2x00t-32gbit/qla_gbl.h +++ b/qla2x00t-32gbit/qla_gbl.h @@ -613,7 +613,7 @@ void qla24xx_queue_purex_item(scsi_qla_host_t *, struct purex_item *, void (*process_item)(struct scsi_qla_host *, struct purex_item *)); void __qla_consume_iocb(struct scsi_qla_host *, void **, struct rsp_que **); -#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) void qla2xxx_process_purls_iocb(void **pkt, struct rsp_que **rsp); #endif diff --git a/qla2x00t-32gbit/qla_isr.c b/qla2x00t-32gbit/qla_isr.c index 0a2b6b5..a6209b2 100644 --- a/qla2x00t-32gbit/qla_isr.c +++ b/qla2x00t-32gbit/qla_isr.c @@ -3981,7 +3981,9 @@ void qla24xx_process_response_queue(struct scsi_qla_host *vha, struct qla_hw_data *ha = vha->hw; struct purex_entry_24xx *purex_entry; struct purex_item *pure_item; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) struct pt_ls4_rx_unsol *p; +#endif u16 rsp_in = 0, cur_ring_index; int is_shadow_hba; @@ -4154,6 +4156,7 @@ process_err: qla28xx_sa_update_iocb_entry(vha, rsp->req, (struct sa_update_28xx *)pkt); break; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) case PT_LS4_UNSOL: p = (void *)pkt; if (qla_chk_cont_iocb_avail(vha, rsp, (response_t *)pkt, rsp_in)) { @@ -4167,6 +4170,7 @@ process_err: } qla2xxx_process_purls_iocb((void **)&pkt, &rsp); break; +#endif default: /* Type Not Supported. */ ql_dbg(ql_dbg_async, vha, 0x5042, diff --git a/qla2x00t-32gbit/qla_nvme.c b/qla2x00t-32gbit/qla_nvme.c index acd9b6b..1dcae7a 100644 --- a/qla2x00t-32gbit/qla_nvme.c +++ b/qla2x00t-32gbit/qla_nvme.c @@ -17,6 +17,7 @@ #include <linux/blk-mq.h> static struct nvme_fc_port_template qla_nvme_fc_transport; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) static int qla_nvme_ls_reject_iocb(struct scsi_qla_host *vha, struct qla_qpair *qp, struct qla_nvme_lsrjt_pt_arg *a, @@ -37,6 +38,7 @@ struct qla_nvme_unsol_ctx { int comp_status; spinlock_t cmd_lock; }; +#endif int qla_nvme_register_remote(struct scsi_qla_host *vha, struct fc_port *fcport) { @@ -251,6 +253,7 @@ static void qla_nvme_sp_ls_done(srb_t *sp, int res) schedule_work(&priv->ls_work); } +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) static void qla_nvme_release_lsrsp_cmd_kref(struct kref *kref) { struct srb *sp = container_of(kref, struct srb, cmd_kref); @@ -299,6 +302,7 @@ static void qla_nvme_sp_lsrsp_done(srb_t *sp, int res) INIT_WORK(&uctx->lsrsp_work, qla_nvme_lsrsp_complete); schedule_work(&uctx->lsrsp_work); } +#endif /* it assumed that QPair lock is held. */ static void qla_nvme_sp_done(srb_t *sp, int res) @@ -372,6 +376,7 @@ out: kref_put(&sp->cmd_kref, sp->put_fn); } +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) static int qla_nvme_xmt_ls_rsp(struct nvme_fc_local_port *lport, struct nvme_fc_remote_port *rport, struct nvmefc_ls_rsp *fd_resp) @@ -457,6 +462,7 @@ out: kfree(uctx); return rval; } +#endif static void qla_nvme_ls_abort(struct nvme_fc_local_port *lport, struct nvme_fc_remote_port *rport, struct nvmefc_ls_req *fd) @@ -896,7 +902,9 @@ static struct nvme_fc_port_template qla_nvme_fc_transport = { .ls_abort = qla_nvme_ls_abort, .fcp_io = qla_nvme_post_cmd, .fcp_abort = qla_nvme_fcp_abort, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) .xmt_ls_rsp = qla_nvme_xmt_ls_rsp, +#endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 16, 0) .map_queues = qla_nvme_map_queues, #endif @@ -1024,6 +1032,7 @@ int qla_nvme_register_hba(struct scsi_qla_host *vha) return ret; } +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) static void qla_nvme_fc_format_rjt(void *buf, u8 ls_cmd, u8 reason, u8 explanation, u8 vendor) { @@ -1266,6 +1275,7 @@ out: __qla_consume_iocb(vha, pkt, rsp); } } +#endif #else diff --git a/qla2x00t-32gbit/qla_nvme.h b/qla2x00t-32gbit/qla_nvme.h index cd73ce7..c36b7e8 100644 --- a/qla2x00t-32gbit/qla_nvme.h +++ b/qla2x00t-32gbit/qla_nvme.h @@ -24,7 +24,9 @@ #define Q2T_NVME_NUM_TAGS 2048 #define QLA_MAX_FC_SEGMENTS 64 +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) struct qla_nvme_unsol_ctx; +#endif struct scsi_qla_host; struct qla_hw_data; struct req_que; @@ -41,7 +43,9 @@ struct nvme_private { struct qla_nvme_rport { struct fc_port *fcport; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) struct qla_nvme_unsol_ctx *uctx; +#endif }; #define COMMAND_NVME 0x88 /* Command Type FC-NVMe IOCB */ diff --git a/qla2x00t-32gbit/qla_os.c b/qla2x00t-32gbit/qla_os.c index 1626e87..dbdf67f 100644 --- a/qla2x00t-32gbit/qla_os.c +++ b/qla2x00t-32gbit/qla_os.c @@ -4538,6 +4538,7 @@ qla2x00_mem_alloc(struct qla_hw_data *ha, uint16_t req_len, uint16_t rsp_len, ha->elsrej.c->er_reason = ELS_RJT_LOGIC; ha->elsrej.c->er_explan = ELS_EXPL_UNAB_DATA; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) ha->lsrjt.size = sizeof(struct fcnvme_ls_rjt); ha->lsrjt.c = dma_alloc_coherent(&ha->pdev->dev, ha->lsrjt.size, &ha->lsrjt.cdma, GFP_KERNEL); @@ -4546,12 +4547,15 @@ qla2x00_mem_alloc(struct qla_hw_data *ha, uint16_t req_len, uint16_t rsp_len, "Alloc failed for nvme fc reject cmd.\n"); goto fail_lsrjt; } +#endif return 0; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) fail_lsrjt: dma_free_coherent(&ha->pdev->dev, ha->elsrej.size, ha->elsrej.c, ha->elsrej.cdma); +#endif fail_elsrej: dma_pool_destroy(ha->purex_dma_pool); fail_flt: @@ -5081,11 +5085,13 @@ qla2x00_mem_free(struct qla_hw_data *ha) ha->elsrej.c = NULL; } +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0) if (ha->lsrjt.c) { dma_free_coherent(&ha->pdev->dev, ha->lsrjt.size, ha->lsrjt.c, ha->lsrjt.cdma); ha->lsrjt.c = NULL; } +#endif ha->init_cb = NULL; ha->init_cb_dma = 0; |