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
(18) |
Oct
(1) |
Nov
(18) |
Dec
(15) |
2025 |
Jan
(5) |
Feb
(1) |
Mar
(7) |
Apr
(4) |
May
(18) |
Jun
(7) |
Jul
|
Aug
(15) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Gleb C. <lna...@ya...> - 2025-08-05 15:23:33
|
Commit: d0b970f GitHub URL: https://github.com/SCST-project/scst/commit/d0b970fad01e2869ed3fa05e5803fcdfa0e20636 Author: Gleb Chesnokov Date: 2025-08-05T18:15:49+03:00 Log Message: ----------- qla2x00t-32gbit: Fix DMA mapping test in qla24xx_get_port_database() dma_map_XXX() functions return as error values DMA_MAPPING_ERROR which is often ~0. The error value should be tested with dma_mapping_error() like it was done in qla26xx_dport_diagnostics(). Fixes: 818c7f87a177 ("scsi: qla2xxx: Add changes in preparation for vendor extended FDMI/RDP") Signed-off-by: Thomas Fourier <fou...@gm...> Link: https://lore.kernel.org/r/202...@gm... Signed-off-by: Martin K. Petersen <mar...@or...> [ commit c3b214719a87 upstream ] Modified Paths: -------------- qla2x00t-32gbit/qla_mbx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) =================================================================== diff --git a/qla2x00t-32gbit/qla_mbx.c b/qla2x00t-32gbit/qla_mbx.c index 0cd6f3e..13b6cb1 100644 --- a/qla2x00t-32gbit/qla_mbx.c +++ b/qla2x00t-32gbit/qla_mbx.c @@ -2147,7 +2147,7 @@ qla24xx_get_port_database(scsi_qla_host_t *vha, u16 nport_handle, pdb_dma = dma_map_single(&vha->hw->pdev->dev, pdb, sizeof(*pdb), DMA_FROM_DEVICE); - if (!pdb_dma) { + if (dma_mapping_error(&vha->hw->pdev->dev, pdb_dma)) { ql_log(ql_log_warn, vha, 0x1116, "Failed to map dma buffer.\n"); return QLA_MEMORY_ALLOC_FAILED; } |
From: Gleb C. <lna...@ya...> - 2025-08-05 15:23:11
|
Commit: 06f8d87 GitHub URL: https://github.com/SCST-project/scst/commit/06f8d870a3f4ae9bac8940024151fc530ec10bb0 Author: Gleb Chesnokov Date: 2025-08-05T18:15:49+03:00 Log Message: ----------- qla2x00t-32gbit: Remove duplicate struct crb_addr_pair In preparation for making the kmalloc family of allocators type aware, we need to make sure that the returned type from the allocation matches the type of the variable being assigned. (Before, the allocator would always return "void *", which can be implicitly cast to any pointer type.) The assigned type is "struct crb_addr_pair *" and the returned type will be a _different_ "struct crb_addr_pair *", causing a warning. This really stumped me for a bit. :) Drop the redundant declaration. Signed-off-by: Kees Cook <ke...@ke...> Link: https://lore.kernel.org/r/202...@ke... Signed-off-by: Martin K. Petersen <mar...@or...> [ commit 386e014202f8 upstream ] Modified Paths: -------------- qla2x00t-32gbit/qla_nx.c | 5 ----- 1 file changed, 5 deletions(-) =================================================================== diff --git a/qla2x00t-32gbit/qla_nx.c b/qla2x00t-32gbit/qla_nx.c index 6d24083..bb7ec6e 100644 --- a/qla2x00t-32gbit/qla_nx.c +++ b/qla2x00t-32gbit/qla_nx.c @@ -1106,11 +1106,6 @@ qla82xx_pinit_from_rom(scsi_qla_host_t *vha) unsigned offset, n; struct qla_hw_data *ha = vha->hw; - struct crb_addr_pair { - long addr; - long data; - }; - /* Halt all the individual PEGs and other blocks of the ISP */ qla82xx_rom_lock(ha); |
From: Gleb C. <lna...@ya...> - 2025-08-05 15:23:01
|
Commit: 5e3c7ea GitHub URL: https://github.com/SCST-project/scst/commit/5e3c7eaf272262c36640db0e8602d09a71e2125c Author: Gleb Chesnokov Date: 2025-08-05T18:15:49+03:00 Log Message: ----------- qla2x00t-32gbit: Remove unused module parameters ql2xetsenable last use was removed in 2020 by commit 37efd51f75f3 ("scsi: qla2xxx: Use FC generic update firmware options routine for ISP27xx") ql2xiidmaenable last use was removed in 2017 by commit 726b85487067 ("qla2xxx: Add framework for async fabric discovery") Remove them. Signed-off-by: Dr. David Alan Gilbert <li...@tr...> Link: https://lore.kernel.org/r/202...@tr... Signed-off-by: Martin K. Petersen <mar...@or...> [ commit 3a37ab0827fd upstream ] Modified Paths: -------------- qla2x00t-32gbit/qla_gbl.h | 2 -- qla2x00t-32gbit/qla_os.c | 12 ------------ 2 files changed, 14 deletions(-) =================================================================== diff --git a/qla2x00t-32gbit/qla_gbl.h b/qla2x00t-32gbit/qla_gbl.h index 0d2d692..5cf5608 100644 --- a/qla2x00t-32gbit/qla_gbl.h +++ b/qla2x00t-32gbit/qla_gbl.h @@ -166,10 +166,8 @@ extern int ql2xextended_error_logging; #if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 5, 0) extern int ql2xextended_error_logging_ktrace; #endif -extern int ql2xiidmaenable; extern int ql2xmqsupport; extern int ql2xfwloadbin; -extern int ql2xetsenable; extern int ql2xshiftctondsd; extern int ql2xdbwr; extern int ql2xasynctmfenable; diff --git a/qla2x00t-32gbit/qla_os.c b/qla2x00t-32gbit/qla_os.c index a258000..56764e9 100644 --- a/qla2x00t-32gbit/qla_os.c +++ b/qla2x00t-32gbit/qla_os.c @@ -196,12 +196,6 @@ MODULE_PARM_DESC(ql2xenablehba_err_chk, " 1 -- Error isolation enabled only for DIX Type 0\n" " 2 -- Error isolation enabled for all Types\n"); -int ql2xiidmaenable = 1; -module_param(ql2xiidmaenable, int, S_IRUGO); -MODULE_PARM_DESC(ql2xiidmaenable, - "Enables iIDMA settings " - "Default is 1 - perform iIDMA. 0 - no iIDMA."); - int ql2xmqsupport = 1; module_param(ql2xmqsupport, int, S_IRUGO); MODULE_PARM_DESC(ql2xmqsupport, @@ -219,12 +213,6 @@ MODULE_PARM_DESC(ql2xfwloadbin, " 1 -- load firmware from flash.\n" " 0 -- use default semantics.\n"); -int ql2xetsenable; -module_param(ql2xetsenable, int, S_IRUGO); -MODULE_PARM_DESC(ql2xetsenable, - "Enables firmware ETS burst." - "Default is 0 - skip ETS enablement."); - int ql2xdbwr = 1; module_param(ql2xdbwr, int, S_IRUGO|S_IWUSR); MODULE_PARM_DESC(ql2xdbwr, |
From: Gleb C. <lna...@ya...> - 2025-08-05 15:22:48
|
Commit: 61d96b8 GitHub URL: https://github.com/SCST-project/scst/commit/61d96b8b9363765dbdcf7e007cef10aca874fa53 Author: Gleb Chesnokov Date: 2025-08-05T18:15:49+03:00 Log Message: ----------- qla2x00t-32gbit: Remove unused qla2x00_gpsc() qla2x00_gpsc() was added in 2017 as part of commit 726b85487067 ("qla2xxx: Add framework for async fabric discovery") but has remained unused. Remove it. Signed-off-by: Dr. David Alan Gilbert <li...@tr...> Link: https://lore.kernel.org/r/202...@tr... Signed-off-by: Martin K. Petersen <mar...@or...> [ commit 45838d3db750 upstream ] Modified Paths: -------------- qla2x00t-32gbit/qla_gbl.h | 1 - qla2x00t-32gbit/qla_gs.c | 90 --------------- 2 files changed, 91 deletions(-) =================================================================== diff --git a/qla2x00t-32gbit/qla_gbl.h b/qla2x00t-32gbit/qla_gbl.h index cc37d7b..0d2d692 100644 --- a/qla2x00t-32gbit/qla_gbl.h +++ b/qla2x00t-32gbit/qla_gbl.h @@ -729,7 +729,6 @@ extern void *qla2x00_prep_ms_fdmi_iocb(scsi_qla_host_t *, uint32_t, uint32_t); extern void *qla24xx_prep_ms_fdmi_iocb(scsi_qla_host_t *, uint32_t, uint32_t); extern int qla2x00_fdmi_register(scsi_qla_host_t *); extern int qla2x00_gfpn_id(scsi_qla_host_t *, sw_info_t *); -extern int qla2x00_gpsc(scsi_qla_host_t *, sw_info_t *); extern size_t qla2x00_get_sym_node_name(scsi_qla_host_t *, uint8_t *, size_t); extern int qla2x00_chk_ms_status(scsi_qla_host_t *, ms_iocb_entry_t *, struct ct_sns_rsp *, const char *); diff --git a/qla2x00t-32gbit/qla_gs.c b/qla2x00t-32gbit/qla_gs.c index d2bddca..51c7cea 100644 --- a/qla2x00t-32gbit/qla_gs.c +++ b/qla2x00t-32gbit/qla_gs.c @@ -2625,96 +2625,6 @@ qla2x00_port_speed_capability(uint16_t speed) } } -/** - * qla2x00_gpsc() - FCS Get Port Speed Capabilities (GPSC) query. - * @vha: HA context - * @list: switch info entries to populate - * - * Returns 0 on success. - */ -int -qla2x00_gpsc(scsi_qla_host_t *vha, sw_info_t *list) -{ - int rval; - uint16_t i; - struct qla_hw_data *ha = vha->hw; - ms_iocb_entry_t *ms_pkt; - struct ct_sns_req *ct_req; - struct ct_sns_rsp *ct_rsp; - struct ct_arg arg; - - if (!IS_IIDMA_CAPABLE(ha)) - return QLA_FUNCTION_FAILED; - if (!ha->flags.gpsc_supported) - return QLA_FUNCTION_FAILED; - - rval = qla2x00_mgmt_svr_login(vha); - if (rval) - return rval; - - arg.iocb = ha->ms_iocb; - arg.req_dma = ha->ct_sns_dma; - arg.rsp_dma = ha->ct_sns_dma; - arg.req_size = GPSC_REQ_SIZE; - arg.rsp_size = GPSC_RSP_SIZE; - arg.nport_handle = vha->mgmt_svr_loop_id; - - for (i = 0; i < ha->max_fibre_devices; i++) { - /* Issue GFPN_ID */ - /* Prepare common MS IOCB */ - ms_pkt = qla24xx_prep_ms_iocb(vha, &arg); - - /* Prepare CT request */ - ct_req = qla24xx_prep_ct_fm_req(ha->ct_sns, GPSC_CMD, - GPSC_RSP_SIZE); - ct_rsp = &ha->ct_sns->p.rsp; - - /* Prepare CT arguments -- port_name */ - memcpy(ct_req->req.gpsc.port_name, list[i].fabric_port_name, - WWN_SIZE); - - /* Execute MS IOCB */ - rval = qla2x00_issue_iocb(vha, ha->ms_iocb, ha->ms_iocb_dma, - sizeof(ms_iocb_entry_t)); - if (rval != QLA_SUCCESS) { - /*EMPTY*/ - ql_dbg(ql_dbg_disc, vha, 0x2059, - "GPSC issue IOCB failed (%d).\n", rval); - } else if ((rval = qla2x00_chk_ms_status(vha, ms_pkt, ct_rsp, - "GPSC")) != QLA_SUCCESS) { - /* FM command unsupported? */ - if (rval == QLA_INVALID_COMMAND && - (ct_rsp->header.reason_code == - CT_REASON_INVALID_COMMAND_CODE || - ct_rsp->header.reason_code == - CT_REASON_COMMAND_UNSUPPORTED)) { - ql_dbg(ql_dbg_disc, vha, 0x205a, - "GPSC command unsupported, disabling " - "query.\n"); - ha->flags.gpsc_supported = 0; - rval = QLA_FUNCTION_FAILED; - break; - } - rval = QLA_FUNCTION_FAILED; - } else { - list->fp_speed = qla2x00_port_speed_capability( - be16_to_cpu(ct_rsp->rsp.gpsc.speed)); - ql_dbg(ql_dbg_disc, vha, 0x205b, - "GPSC ext entry - fpn " - "%8phN speeds=%04x speed=%04x.\n", - list[i].fabric_port_name, - be16_to_cpu(ct_rsp->rsp.gpsc.speeds), - be16_to_cpu(ct_rsp->rsp.gpsc.speed)); - } - - /* Last device exit. */ - if (list[i].d_id.b.rsvd_1 != 0) - break; - } - - return (rval); -} - /** * qla2x00_gff_id() - SNS Get FC-4 Features (GFF_ID) query. * |
From: Gleb C. <lna...@ya...> - 2025-08-05 15:22:44
|
Commit: 07f82d9 GitHub URL: https://github.com/SCST-project/scst/commit/07f82d9505804eb2abed48de8013cb0f347f280d Author: Gleb Chesnokov Date: 2025-08-05T18:15:49+03:00 Log Message: ----------- qla2x00t-32gbit: Remove unused ql_log_qp ql_log_qp() was added in 2017 as part of commit 22d84726e3b8 ("scsi: qla2xxx: Add debug logging routine for qpair") but has remained unused. Remove it. (That patch also added ql_dbg_qp but that is still used so is left in). Signed-off-by: Dr. David Alan Gilbert <li...@tr...> Link: https://lore.kernel.org/r/202...@tr... Signed-off-by: Martin K. Petersen <mar...@or...> [ commit 33f44a50ca61 upstream ] Modified Paths: -------------- qla2x00t-32gbit/qla_dbg.c | 58 --------------- qla2x00t-32gbit/qla_dbg.h | 3 - 2 files changed, 61 deletions(-) =================================================================== diff --git a/qla2x00t-32gbit/qla_dbg.c b/qla2x00t-32gbit/qla_dbg.c index 9de6e3a..fb3a8ba 100644 --- a/qla2x00t-32gbit/qla_dbg.c +++ b/qla2x00t-32gbit/qla_dbg.c @@ -2735,64 +2735,6 @@ ql_dump_buffer(uint level, scsi_qla_host_t *vha, uint id, const void *buf, } } -/* - * This function is for formatting and logging log messages. - * It is to be used when vha is available. It formats the message - * and logs it to the messages file. All the messages will be logged - * irrespective of value of ql2xextended_error_logging. - * parameters: - * level: The level of the log messages to be printed in the - * messages file. - * vha: Pointer to the scsi_qla_host_t - * id: This is a unique id for the level. It identifies the - * part of the code from where the message originated. - * msg: The message to be displayed. - */ -void -ql_log_qp(uint32_t level, struct qla_qpair *qpair, int32_t id, - const char *fmt, ...) -{ - va_list va; - struct va_format vaf; - char pbuf[128]; - - if (level > ql_errlev) - return; - -#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 5, 0) - ql_ktrace(0, level, pbuf, NULL, qpair ? qpair->vha : NULL, id, fmt); - - if (!pbuf[0]) /* set by ql_ktrace */ - ql_dbg_prefix(pbuf, ARRAY_SIZE(pbuf), NULL, - qpair ? qpair->vha : NULL, id); -#else - ql_dbg_prefix(pbuf, ARRAY_SIZE(pbuf), NULL, qpair ? qpair->vha : NULL, id); - -#endif - - va_start(va, fmt); - - vaf.fmt = fmt; - vaf.va = &va; - - switch (level) { - case ql_log_fatal: /* FATAL LOG */ - pr_crit("%s%pV", pbuf, &vaf); - break; - case ql_log_warn: - pr_err("%s%pV", pbuf, &vaf); - break; - case ql_log_info: - pr_warn("%s%pV", pbuf, &vaf); - break; - default: - pr_info("%s%pV", pbuf, &vaf); - break; - } - - va_end(va); -} - /* * This function is for formatting and logging debug information. * It is to be used when vha is available. It formats the message diff --git a/qla2x00t-32gbit/qla_dbg.h b/qla2x00t-32gbit/qla_dbg.h index ecdc747..121a035 100644 --- a/qla2x00t-32gbit/qla_dbg.h +++ b/qla2x00t-32gbit/qla_dbg.h @@ -334,9 +334,6 @@ ql_log(uint, scsi_qla_host_t *vha, uint, const char *fmt, ...); void __attribute__((format (printf, 4, 5))) ql_log_pci(uint, struct pci_dev *pdev, uint, const char *fmt, ...); -void __attribute__((format (printf, 4, 5))) -ql_log_qp(uint32_t, struct qla_qpair *, int32_t, const char *fmt, ...); - /* Debug Levels */ /* The 0x40000000 is the max value any debug level can have * as ql2xextended_error_logging is of type signed int |
From: Gleb C. <lna...@ya...> - 2025-08-05 15:19:50
|
Commit: 4db857c GitHub URL: https://github.com/SCST-project/scst/commit/4db857c08195ab1f0c557092544b17182c914804 Author: Gleb Chesnokov Date: 2025-08-05T18:15:49+03:00 Log Message: ----------- qla2x00t-32gbit: Remove unused qla82xx_wait_for_state_change() qla82xx_wait_for_state_change() was added in 2010 as part of commit 579d12b58abb ("[SCSI] qla2xxx: Added support for quiescence mode for ISP82xx.") but has remained unused. Remove it. Signed-off-by: Dr. David Alan Gilbert <li...@tr...> Link: https://lore.kernel.org/r/202...@tr... Signed-off-by: Martin K. Petersen <mar...@or...> [ commit 2a2f3168c510 upstream ] Modified Paths: -------------- qla2x00t-32gbit/qla_gbl.h | 1 - qla2x00t-32gbit/qla_nx.c | 26 --------------- 2 files changed, 27 deletions(-) =================================================================== diff --git a/qla2x00t-32gbit/qla_gbl.h b/qla2x00t-32gbit/qla_gbl.h index c332c50..cc37d7b 100644 --- a/qla2x00t-32gbit/qla_gbl.h +++ b/qla2x00t-32gbit/qla_gbl.h @@ -881,7 +881,6 @@ extern int qla82xx_rd_32(struct qla_hw_data *, ulong); /* ISP 8021 IDC */ extern void qla82xx_clear_drv_active(struct qla_hw_data *); -extern uint32_t qla82xx_wait_for_state_change(scsi_qla_host_t *, uint32_t); extern int qla82xx_idc_lock(struct qla_hw_data *); extern void qla82xx_idc_unlock(struct qla_hw_data *); extern int qla82xx_device_state_handler(scsi_qla_host_t *); diff --git a/qla2x00t-32gbit/qla_nx.c b/qla2x00t-32gbit/qla_nx.c index 51208bf..6d24083 100644 --- a/qla2x00t-32gbit/qla_nx.c +++ b/qla2x00t-32gbit/qla_nx.c @@ -2922,32 +2922,6 @@ qla82xx_need_qsnt_handler(scsi_qla_host_t *vha) } } -/* -* qla82xx_wait_for_state_change -* Wait for device state to change from given current state -* -* Note: -* IDC lock must not be held upon entry -* -* Return: -* Changed device state. -*/ -uint32_t -qla82xx_wait_for_state_change(scsi_qla_host_t *vha, uint32_t curr_state) -{ - struct qla_hw_data *ha = vha->hw; - uint32_t dev_state; - - do { - msleep(1000); - qla82xx_idc_lock(ha); - dev_state = qla82xx_rd_32(ha, QLA82XX_CRB_DEV_STATE); - qla82xx_idc_unlock(ha); - } while (dev_state == curr_state); - - return dev_state; -} - void qla8xxx_dev_failed_handler(scsi_qla_host_t *vha) { |
From: Gleb C. <lna...@ya...> - 2025-08-05 15:19:31
|
Commit: 42bb0fb GitHub URL: https://github.com/SCST-project/scst/commit/42bb0fb1de19f750df37008c43a81e7ba9437601 Author: Gleb Chesnokov Date: 2025-08-05T18:15:49+03:00 Log Message: ----------- qla2x00t-32gbit: Remove unused qla82xx_pci_region_offset() qla82xx_pci_region_offset() has been unused since the last use was removed by 2010's commit 3711333dfbee ("[SCSI] qla2xxx: Updates for ISP82xx.") Remove it. Signed-off-by: Dr. David Alan Gilbert <li...@tr...> Link: https://lore.kernel.org/r/202...@tr... Signed-off-by: Martin K. Petersen <mar...@or...> [ commit 89981b47f6fc upstream ] Modified Paths: -------------- qla2x00t-32gbit/qla_gbl.h | 1 - qla2x00t-32gbit/qla_nx.c | 19 --------------- 2 files changed, 20 deletions(-) =================================================================== diff --git a/qla2x00t-32gbit/qla_gbl.h b/qla2x00t-32gbit/qla_gbl.h index e95ad2c..c332c50 100644 --- a/qla2x00t-32gbit/qla_gbl.h +++ b/qla2x00t-32gbit/qla_gbl.h @@ -838,7 +838,6 @@ extern int qlafx00_rescan_isp(scsi_qla_host_t *); /* PCI related functions */ extern int qla82xx_pci_config(struct scsi_qla_host *); extern int qla82xx_pci_mem_read_2M(struct qla_hw_data *, u64, void *, int); -extern int qla82xx_pci_region_offset(struct pci_dev *, int); extern int qla82xx_iospace_config(struct qla_hw_data *); /* Initialization related functions */ diff --git a/qla2x00t-32gbit/qla_nx.c b/qla2x00t-32gbit/qla_nx.c index a6f7d3e..51208bf 100644 --- a/qla2x00t-32gbit/qla_nx.c +++ b/qla2x00t-32gbit/qla_nx.c @@ -1602,25 +1602,6 @@ qla82xx_get_fw_offs(struct qla_hw_data *ha) return (u8 *)&ha->hablob->fw->data[offset]; } -/* PCI related functions */ -int qla82xx_pci_region_offset(struct pci_dev *pdev, int region) -{ - unsigned long val = 0; - u32 control; - - switch (region) { - case 0: - val = 0; - break; - case 1: - pci_read_config_dword(pdev, QLA82XX_PCI_REG_MSIX_TBL, &control); - val = control + QLA82XX_MSIX_TBL_SPACE; - break; - } - return val; -} - - int qla82xx_iospace_config(struct qla_hw_data *ha) { |
From: Gleb C. <lna...@ya...> - 2025-08-05 15:19:21
|
Commit: 3b945f8 GitHub URL: https://github.com/SCST-project/scst/commit/3b945f84be185671bb8b292f2008b428c06582d7 Author: Gleb Chesnokov Date: 2025-08-05T18:15:49+03:00 Log Message: ----------- qla2x00t-32gbit: Remove unused qlt_83xx_iospace_config() qlt_83xx_iospace_config() has been unused since the last use was removed by 2017's commit f54f2cb540b5 ("scsi: qla2xxx: Cleaned up queue configuration code.") Remove it. Signed-off-by: Dr. David Alan Gilbert <li...@tr...> Link: https://lore.kernel.org/r/202...@tr... Signed-off-by: Martin K. Petersen <mar...@or...> [ commit 91453ebecccc upstream ] Modified Paths: -------------- qla2x00t-32gbit/qla_target.c | 10 ---------- qla2x00t-32gbit/qla_target.h | 1 - 2 files changed, 11 deletions(-) =================================================================== diff --git a/qla2x00t-32gbit/qla_target.c b/qla2x00t-32gbit/qla_target.c index eec2020..f8d641d 100644 --- a/qla2x00t-32gbit/qla_target.c +++ b/qla2x00t-32gbit/qla_target.c @@ -7041,16 +7041,6 @@ qlt_81xx_config_nvram_stage2(struct scsi_qla_host *vha, } } -void -qlt_83xx_iospace_config(struct qla_hw_data *ha) -{ - if (!QLA_TGT_MODE_ENABLED()) - return; - - ha->msix_count += 1; /* For ATIO Q */ -} - - void qlt_modify_vp_config(struct scsi_qla_host *vha, struct vp_config_entry_24xx *vpmod) diff --git a/qla2x00t-32gbit/qla_target.h b/qla2x00t-32gbit/qla_target.h index 1e405c0..af0f4a4 100644 --- a/qla2x00t-32gbit/qla_target.h +++ b/qla2x00t-32gbit/qla_target.h @@ -1124,7 +1124,6 @@ extern void qlt_mem_free(struct qla_hw_data *); extern int qlt_stop_phase1(struct qla_tgt *); extern void qlt_stop_phase2(struct qla_tgt *); extern irqreturn_t qla83xx_msix_atio_q(int, void *); -extern void qlt_83xx_iospace_config(struct qla_hw_data *); extern void qlt_logo_completion_handler(fc_port_t *, int); extern void qlt_do_generation_tick(struct scsi_qla_host *, int *); |
From: Gleb C. <lna...@ya...> - 2025-08-05 15:19:06
|
Commit: 0d2807e GitHub URL: https://github.com/SCST-project/scst/commit/0d2807eff36edf011eb995132c92ac83c84ad493 Author: Gleb Chesnokov Date: 2025-08-05T18:15:49+03:00 Log Message: ----------- qla2x00t-32gbit: Remove unused qlt_fc_port_deleted() qlt_fc_port_deleted() has been unused since the last use was removed by 2017's commit 726b85487067 ("qla2xxx: Add framework for async fabric discovery") Remove it. Signed-off-by: Dr. David Alan Gilbert <li...@tr...> Link: https://lore.kernel.org/r/202...@tr... Signed-off-by: Martin K. Petersen <mar...@or...> [ commit cbb2a2ef5801 upstream ] Modified Paths: -------------- qla2x00t-32gbit/qla_target.c | 44 --------------- qla2x00t-32gbit/qla_target.h | 1 - 2 files changed, 45 deletions(-) =================================================================== diff --git a/qla2x00t-32gbit/qla_target.c b/qla2x00t-32gbit/qla_target.c index 59a23e4..eec2020 100644 --- a/qla2x00t-32gbit/qla_target.c +++ b/qla2x00t-32gbit/qla_target.c @@ -1471,50 +1471,6 @@ static struct fc_port *qlt_create_sess( return sess; } -/* - * max_gen - specifies maximum session generation - * at which this deletion requestion is still valid - */ -void -qlt_fc_port_deleted(struct scsi_qla_host *vha, fc_port_t *fcport, int max_gen) -{ - struct qla_tgt *tgt = vha->vha_tgt.qla_tgt; - struct fc_port *sess = fcport; - unsigned long flags; - - if (!vha->hw->tgt.tgt_ops) - return; - - if (!tgt) - return; - - spin_lock_irqsave(&vha->hw->tgt.sess_lock, flags); - if (tgt->tgt_stop) { - spin_unlock_irqrestore(&vha->hw->tgt.sess_lock, flags); - return; - } - if (!sess->se_sess) { - spin_unlock_irqrestore(&vha->hw->tgt.sess_lock, flags); - return; - } - - if (max_gen - sess->generation < 0) { - spin_unlock_irqrestore(&vha->hw->tgt.sess_lock, flags); - ql_dbg(ql_dbg_tgt_mgt, vha, 0xf092, - "Ignoring stale deletion request for se_sess %p / sess %p" - " for port %8phC, req_gen %d, sess_gen %d\n", - sess->se_sess, sess, sess->port_name, max_gen, - sess->generation); - return; - } - - ql_dbg(ql_dbg_tgt_mgt, vha, 0xf008, "qla_tgt_fc_port_deleted %p", sess); - - sess->local = 1; - spin_unlock_irqrestore(&vha->hw->tgt.sess_lock, flags); - qlt_schedule_sess_for_deletion(sess); -} - static inline int test_tgt_sess_count(struct qla_tgt *tgt) { struct qla_hw_data *ha = tgt->ha; diff --git a/qla2x00t-32gbit/qla_target.h b/qla2x00t-32gbit/qla_target.h index 012dcd1..1e405c0 100644 --- a/qla2x00t-32gbit/qla_target.h +++ b/qla2x00t-32gbit/qla_target.h @@ -1057,7 +1057,6 @@ extern int qlt_lport_register(void *, u64, u64, u64, extern void qlt_lport_deregister(struct scsi_qla_host *); extern void qlt_unreg_sess(struct fc_port *); extern void qlt_fc_port_added(struct scsi_qla_host *, fc_port_t *); -extern void qlt_fc_port_deleted(struct scsi_qla_host *, fc_port_t *, int); extern int __init qlt_init(void); extern void qlt_exit(void); extern void qlt_free_session_done(struct work_struct *); |
From: Gleb C. <lna...@ya...> - 2025-08-05 15:18:46
|
Commit: 4bad58a GitHub URL: https://github.com/SCST-project/scst/commit/4bad58a3d3c93686c6dce1152e70982383d31087 Author: Gleb Chesnokov Date: 2025-08-05T18:15:49+03:00 Log Message: ----------- qla2x00t-32gbit: Remove unused qlt_free_qfull_cmds() qlt_free_qfull_cmds() was added in 2014 as part of commit 33e799775593 ("qla2xxx: Add support for QFull throttling and Term Exchange retry") but has remained unused. Remove it. Signed-off-by: Dr. David Alan Gilbert <li...@tr...> Link: https://lore.kernel.org/r/202...@tr... Signed-off-by: Martin K. Petersen <mar...@or...> [ commit ae7a08bee82b upstream ] Modified Paths: -------------- qla2x00t-32gbit/qla_target.c | 75 --------------- qla2x00t-32gbit/qla_target.h | 1 - 2 files changed, 76 deletions(-) =================================================================== diff --git a/qla2x00t-32gbit/qla_target.c b/qla2x00t-32gbit/qla_target.c index 0b938a8..59a23e4 100644 --- a/qla2x00t-32gbit/qla_target.c +++ b/qla2x00t-32gbit/qla_target.c @@ -5609,81 +5609,6 @@ qlt_alloc_qfull_cmd(struct scsi_qla_host *vha, spin_unlock_irqrestore(&vha->hw->tgt.q_full_lock, flags); } -int -qlt_free_qfull_cmds(struct qla_qpair *qpair) -{ - struct scsi_qla_host *vha = qpair->vha; - struct qla_hw_data *ha = vha->hw; - unsigned long flags; - struct qla_tgt_cmd *cmd, *tcmd; - struct list_head free_list, q_full_list; - int rc = 0; - - if (list_empty(&ha->tgt.q_full_list)) - return 0; - - INIT_LIST_HEAD(&free_list); - INIT_LIST_HEAD(&q_full_list); - - spin_lock_irqsave(&vha->hw->tgt.q_full_lock, flags); - if (list_empty(&ha->tgt.q_full_list)) { - spin_unlock_irqrestore(&vha->hw->tgt.q_full_lock, flags); - return 0; - } - - list_splice_init(&vha->hw->tgt.q_full_list, &q_full_list); - spin_unlock_irqrestore(&vha->hw->tgt.q_full_lock, flags); - - spin_lock_irqsave(qpair->qp_lock_ptr, flags); - list_for_each_entry_safe(cmd, tcmd, &q_full_list, cmd_list) { - if (cmd->q_full) - /* cmd->state is a borrowed field to hold status */ - rc = __qlt_send_busy(qpair, &cmd->atio, cmd->state); - else if (cmd->term_exchg) - rc = __qlt_send_term_exchange(qpair, NULL, &cmd->atio); - - if (rc == -ENOMEM) - break; - - if (cmd->q_full) - ql_dbg(ql_dbg_io, vha, 0x3006, - "%s: busy sent for ox_id[%04x]\n", __func__, - be16_to_cpu(cmd->atio.u.isp24.fcp_hdr.ox_id)); - else if (cmd->term_exchg) - ql_dbg(ql_dbg_io, vha, 0x3007, - "%s: Term exchg sent for ox_id[%04x]\n", __func__, - be16_to_cpu(cmd->atio.u.isp24.fcp_hdr.ox_id)); - else - ql_dbg(ql_dbg_io, vha, 0x3008, - "%s: Unexpected cmd in QFull list %p\n", __func__, - cmd); - - list_move_tail(&cmd->cmd_list, &free_list); - - /* piggy back on hardware_lock for protection */ - vha->hw->tgt.num_qfull_cmds_alloc--; - } - spin_unlock_irqrestore(qpair->qp_lock_ptr, flags); - - cmd = NULL; - - list_for_each_entry_safe(cmd, tcmd, &free_list, cmd_list) { - list_del(&cmd->cmd_list); - /* This cmd was never sent to TCM. There is no need - * to schedule free or call free_cmd - */ - qlt_free_cmd(cmd); - } - - if (!list_empty(&q_full_list)) { - spin_lock_irqsave(&vha->hw->tgt.q_full_lock, flags); - list_splice(&q_full_list, &vha->hw->tgt.q_full_list); - spin_unlock_irqrestore(&vha->hw->tgt.q_full_lock, flags); - } - - return rc; -} - static void qlt_send_busy(struct qla_qpair *qpair, struct atio_from_isp *atio, uint16_t status) diff --git a/qla2x00t-32gbit/qla_target.h b/qla2x00t-32gbit/qla_target.h index 300501d..012dcd1 100644 --- a/qla2x00t-32gbit/qla_target.h +++ b/qla2x00t-32gbit/qla_target.h @@ -1126,7 +1126,6 @@ extern int qlt_stop_phase1(struct qla_tgt *); extern void qlt_stop_phase2(struct qla_tgt *); extern irqreturn_t qla83xx_msix_atio_q(int, void *); extern void qlt_83xx_iospace_config(struct qla_hw_data *); -extern int qlt_free_qfull_cmds(struct qla_qpair *); extern void qlt_logo_completion_handler(fc_port_t *, int); extern void qlt_do_generation_tick(struct scsi_qla_host *, int *); |
From: Gleb C. <lna...@ya...> - 2025-08-05 14:44:06
|
Commit: 1186ac2 GitHub URL: https://github.com/SCST-project/scst/commit/1186ac25c580c328f9f4ce5bfae8354c88cb3f30 Author: Gleb Chesnokov Date: 2025-08-05T17:41:32+03:00 Log Message: ----------- nightly build: Update kernel versions Another kernel versions update Modified Paths: -------------- .github/workflows/run_regression_tests.yaml | 27 ++++++++------- nightly/conf/nightly.conf | 27 ++++++++------- 2 files changed, 28 insertions(+), 26 deletions(-) =================================================================== diff --git a/.github/workflows/run_regression_tests.yaml b/.github/workflows/run_regression_tests.yaml index 65e4d77..5a7cfbf 100644 --- a/.github/workflows/run_regression_tests.yaml +++ b/.github/workflows/run_regression_tests.yaml @@ -16,27 +16,28 @@ jobs: fail-fast: false matrix: version: [ - '6.15', - '6.14.8', + '6.16', + '6.15.9', + '6.14.11', '6.13.12', - '6.12.30', + '6.12.41', '6.11.11', '6.10.14', '6.9.12', '6.8.12', '6.7.12', - '6.6.92', - '6.1.140', - '5.15.184', - '5.10.237', - '5.4.293', + '6.6.101', + '6.1.146', + '5.15.189', + '5.10.240', + '5.4.296', '4.19.325', '4.14.336', '4.9.337', '3.18.140', '3.10.108', - '6.12.0-55.9.1.el10_0^AlmaLinux^10.0', - '5.14.0-570.12.1.el9_6^AlmaLinux^9.6', + '6.12.0-55.22.1.el10_0^AlmaLinux^10.0', + '5.14.0-570.30.1.el9_6^AlmaLinux^9.6', '5.14.0-503.40.1.el9_5^AlmaLinux^9.5', '5.14.0-427.42.1.el9_4^AlmaLinux^9.4', '5.14.0-362.24.1.el9_3^AlmaLinux^9.3', @@ -53,9 +54,9 @@ jobs: '4.18.0-240.22.1.el8_3^AlmaLinux^8.3', '3.10.0-1160.118.1.el7^CentOS^7.9.2009', '3.10.0-862.14.4.el7^CentOS^7.5.1804', - '6.12.0-0.20.20.el9uek^UEK^9', - '5.15.0-308.179.6.3.el9uek^UEK^9', - '5.4.17-2136.343.5.1.el8uek^UEK^8', + '6.12.0-101.33.4.3.el10uek^UEK^10', + '5.15.0-310.184.5.3.el9uek^UEK^9', + '5.4.17-2136.345.5.3.el8uek^UEK^8', '4.14.35-2047.543.3.1.el7uek^UEK^7', '4.1.12-124.93.1.el7uek^UEK^7', '4.1.12-124.48.6.el6uek^UEK^6' diff --git a/nightly/conf/nightly.conf b/nightly/conf/nightly.conf index 8f1011f..ee93949 100644 --- a/nightly/conf/nightly.conf +++ b/nightly/conf/nightly.conf @@ -3,38 +3,39 @@ ABT_DETAILS="x86_64" ABT_JOBS=5 ABT_KERNELS=" \ -6.15 \ -6.14.8-nc \ +6.16 \ +6.15.9-nc \ +6.14.11-nc \ 6.13.12-nc \ -6.12.30-nc \ +6.12.41-nc \ 6.11.11-nc \ 6.10.14-nc \ 6.9.12-nc \ 6.8.12-nc \ 6.7.12-nc \ -6.6.92-nc \ +6.6.101-nc \ 6.5.13-nc \ 6.4.16-nc \ 6.3.13-nc \ 6.2.16-nc \ -6.1.140-nc \ +6.1.146-nc \ 6.0.19-nc \ 5.19.17-nc \ 5.18.19-nc \ 5.17.15-nc \ 5.16.20-nc \ -5.15.184-nc \ +5.15.189-nc \ 5.14.21-nc \ 5.13.19-nc \ 5.12.19-nc \ 5.11.22-nc \ -5.10.237-nc \ +5.10.240-nc \ 5.9.16-nc \ 5.8.18-nc \ 5.7.19-nc \ 5.6.19-nc \ 5.5.19-nc \ -5.4.293-nc \ +5.4.296-nc \ 5.3.18-nc \ 5.2.21-nc \ 5.1.21-nc \ @@ -70,8 +71,8 @@ ABT_KERNELS=" \ 3.12.74-nc \ 3.11.10-nc \ 3.10.108-nc \ -6.12.0-55.9.1.el10_0^AlmaLinux^10.0-nc \ -5.14.0-570.12.1.el9_6^AlmaLinux^9.6-nc \ +6.12.0-55.22.1.el10_0^AlmaLinux^10.0-nc \ +5.14.0-570.30.1.el9_6^AlmaLinux^9.6-nc \ 5.14.0-503.40.1.el9_5^AlmaLinux^9.5-nc \ 5.14.0-427.42.1.el9_4^AlmaLinux^9.4-nc \ 5.14.0-362.24.1.el9_3^AlmaLinux^9.3-nc \ @@ -94,9 +95,9 @@ ABT_KERNELS=" \ 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 \ -6.12.0-0.20.20.el9uek^UEK^9-nc \ -5.15.0-308.179.6.3.el9uek^UEK^9-nc \ -5.4.17-2136.343.5.1.el8uek^UEK^8-nc \ +6.12.0-101.33.4.3.el10uek^UEK^10-nc \ +5.15.0-310.184.5.3.el9uek^UEK^9-nc \ +5.4.17-2136.345.5.3.el8uek^UEK^8-nc \ 4.14.35-2047.543.3.1.el7uek^UEK^7-nc \ 4.1.12-124.93.1.el7uek^UEK^7-nc \ 4.1.12-124.48.6.el6uek^UEK^6-nc \ |
From: Gleb C. <lna...@ya...> - 2025-08-05 13:40:11
|
Commit: 2631557 GitHub URL: https://github.com/SCST-project/scst/commit/2631557383bc892fda0a8f1e87b389ecabfbb567 Author: Gleb Chesnokov Date: 2025-08-05T16:37:31+03:00 Log Message: ----------- scst.spec.in: Replace custom Requires line with package names The scst.spec.in file used a custom Requires line that dynamically resolved the full paths of the find and rm commands using shell substitution with 'which'. This method is non-standard and can lead to issues in constrained build environments. This patch replaces the custom Requires line with explicit package names: 'findutils' for find and 'coreutils' for rm. This improves compatibility and aligns with best practices for declaring dependencies in spec files. Modified Paths: -------------- scst.spec.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) =================================================================== diff --git a/scst.spec.in b/scst.spec.in index 6998a20..e59ddce 100644 --- a/scst.spec.in +++ b/scst.spec.in @@ -90,7 +90,7 @@ BuildRequires: %{?kernel_rpm:%{kernel_rpm} = %{krpmver} %{kernel_devel_rpm} = %{ Source: %{kmod_name}-%{version}.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build AutoReqProv: no -Requires: %{?kernel_rpm:%{kernel_rpm} = %{krpmver}} @depmod@ %{expand:%%(for c in find rm; do echo -n "$(PATH=/usr/sbin:/usr/bin:/sbin:/bin which $c) "; done)} +Requires: %{?kernel_rpm:%{kernel_rpm} = %{krpmver}} @depmod@ coreutils findutils Provides: scst %description |
From: Gleb C. <lna...@ya...> - 2025-08-05 13:38:31
|
Commit: 974b31f GitHub URL: https://github.com/SCST-project/scst/commit/974b31fdcbc93cb47d2b3a686ad9212edd58ea02 Author: Gleb Chesnokov Date: 2025-08-05T16:37:31+03:00 Log Message: ----------- scst: Port to Linux kernel v6.16 Support for the following timer changes in the Linux kernel v6.16: - 41cb08555c41 ("treewide, timers: Rename from_timer() to timer_container_of()") Modified Paths: -------------- qla2x00t-32gbit/qla_edif.c | 2 +- qla2x00t-32gbit/qla_init.c | 2 +- qla2x00t-32gbit/qla_os.c | 2 +- scst/include/backport.h | 8 ++++++++ 4 files changed, 11 insertions(+), 3 deletions(-) =================================================================== diff --git a/qla2x00t-32gbit/qla_edif.c b/qla2x00t-32gbit/qla_edif.c index a91440b..ea2f11a 100644 --- a/qla2x00t-32gbit/qla_edif.c +++ b/qla2x00t-32gbit/qla_edif.c @@ -94,7 +94,7 @@ static struct edif_list_entry *qla_edif_list_find_sa_index(fc_port_t *fcport, /* timeout called when no traffic and delayed rx sa_index delete */ static void qla2x00_sa_replace_iocb_timeout(struct timer_list *t) { - struct edif_list_entry *edif_entry = from_timer(edif_entry, t, timer); + struct edif_list_entry *edif_entry = timer_container_of(edif_entry, t, timer); fc_port_t *fcport = edif_entry->fcport; struct scsi_qla_host *vha = fcport->vha; struct edif_sa_ctl *sa_ctl; diff --git a/qla2x00t-32gbit/qla_init.c b/qla2x00t-32gbit/qla_init.c index 13484b0..950b72f 100644 --- a/qla2x00t-32gbit/qla_init.c +++ b/qla2x00t-32gbit/qla_init.c @@ -45,7 +45,7 @@ static void __qla24xx_handle_gpdb_event(scsi_qla_host_t *, struct event_arg *); void qla2x00_sp_timeout(struct timer_list *t) { - srb_t *sp = from_timer(sp, t, u.iocb_cmd.timer); + srb_t *sp = timer_container_of(sp, t, u.iocb_cmd.timer); struct srb_iocb *iocb; scsi_qla_host_t *vha = sp->vha; diff --git a/qla2x00t-32gbit/qla_os.c b/qla2x00t-32gbit/qla_os.c index 24f45ff..a258000 100644 --- a/qla2x00t-32gbit/qla_os.c +++ b/qla2x00t-32gbit/qla_os.c @@ -7506,7 +7506,7 @@ static void qla_wind_down_chip(scsi_qla_host_t *vha) void qla2x00_timer(struct timer_list *t) { - scsi_qla_host_t *vha = from_timer(vha, t, timer); + scsi_qla_host_t *vha = timer_container_of(vha, t, timer); unsigned long cpu_flags = 0; int start_dpc = 0; int index; diff --git a/scst/include/backport.h b/scst/include/backport.h index 72e2972..ef02080 100644 --- a/scst/include/backport.h +++ b/scst/include/backport.h @@ -1733,6 +1733,14 @@ static inline int timer_delete(struct timer_list *timer) container_of(callback_timer, typeof(*var), timer_fieldname) #endif +/* + * See also commit 41cb08555c41 ("treewide, timers: Rename from_timer() to + * timer_container_of()") # v6.16. + */ +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) +#define timer_container_of from_timer +#endif + /* * See also commit 1d27e3e2252b ("timer: Remove expires and data arguments * from DEFINE_TIMER"). |
From: Gleb C. <lna...@ya...> - 2025-08-05 13:38:12
|
Commit: c6d16dd GitHub URL: https://github.com/SCST-project/scst/commit/c6d16dd86e0b7fce4be560a3f62dca8462870d15 Author: Gleb Chesnokov Date: 2025-08-05T16:37:31+03:00 Log Message: ----------- qla2x00t, qla2x00t-32gbit: Constify 'struct bin_attribute' The sysfs core now allows instances of 'struct bin_attribute' to be moved into read-only memory. Make use of that to protect them against accidental or malicious modifications. Modified Paths: -------------- qla2x00t-32gbit/qla_attr.c | 78 ++++++++-- qla2x00t/qla_attr.c | 111 ++++++++++----- 2 files changed, 142 insertions(+), 47 deletions(-) =================================================================== diff --git a/qla2x00t-32gbit/qla_attr.c b/qla2x00t-32gbit/qla_attr.c index 713b69d..31659b2 100644 --- a/qla2x00t-32gbit/qla_attr.c +++ b/qla2x00t-32gbit/qla_attr.c @@ -17,7 +17,11 @@ static int qla24xx_vport_disable(struct fc_vport *, bool); static ssize_t qla2x00_sysfs_read_fw_dump(struct file *filp, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -58,7 +62,11 @@ qla2x00_sysfs_read_fw_dump(struct file *filp, struct kobject *kobj, static ssize_t qla2x00_sysfs_write_fw_dump(struct file *filp, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -168,7 +176,7 @@ qla2x00_sysfs_write_fw_dump(struct file *filp, struct kobject *kobj, return count; } -static struct bin_attribute sysfs_fw_dump_attr = { +static const struct bin_attribute sysfs_fw_dump_attr = { .attr = { .name = "fw_dump", .mode = S_IRUSR | S_IWUSR, @@ -180,7 +188,11 @@ static struct bin_attribute sysfs_fw_dump_attr = { static ssize_t qla2x00_sysfs_read_nvram(struct file *filp, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -220,7 +232,11 @@ skip: static ssize_t qla2x00_sysfs_write_nvram(struct file *filp, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -282,7 +298,7 @@ qla2x00_sysfs_write_nvram(struct file *filp, struct kobject *kobj, return count; } -static struct bin_attribute sysfs_nvram_attr = { +static const struct bin_attribute sysfs_nvram_attr = { .attr = { .name = "nvram", .mode = S_IRUSR | S_IWUSR, @@ -294,7 +310,11 @@ static struct bin_attribute sysfs_nvram_attr = { static ssize_t qla2x00_sysfs_read_optrom(struct file *filp, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -318,7 +338,11 @@ out: static ssize_t qla2x00_sysfs_write_optrom(struct file *filp, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -344,7 +368,7 @@ qla2x00_sysfs_write_optrom(struct file *filp, struct kobject *kobj, return count; } -static struct bin_attribute sysfs_optrom_attr = { +static const struct bin_attribute sysfs_optrom_attr = { .attr = { .name = "optrom", .mode = S_IRUSR | S_IWUSR, @@ -356,7 +380,11 @@ static struct bin_attribute sysfs_optrom_attr = { static ssize_t qla2x00_sysfs_write_optrom_ctl(struct file *filp, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -529,7 +557,7 @@ out: return rval; } -static struct bin_attribute sysfs_optrom_ctl_attr = { +static const struct bin_attribute sysfs_optrom_ctl_attr = { .attr = { .name = "optrom_ctl", .mode = S_IWUSR, @@ -540,7 +568,11 @@ static struct bin_attribute sysfs_optrom_ctl_attr = { static ssize_t qla2x00_sysfs_read_vpd(struct file *filp, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -587,7 +619,11 @@ skip: static ssize_t qla2x00_sysfs_write_vpd(struct file *filp, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -642,7 +678,7 @@ qla2x00_sysfs_write_vpd(struct file *filp, struct kobject *kobj, return count; } -static struct bin_attribute sysfs_vpd_attr = { +static const struct bin_attribute sysfs_vpd_attr = { .attr = { .name = "vpd", .mode = S_IRUSR | S_IWUSR, @@ -654,7 +690,11 @@ static struct bin_attribute sysfs_vpd_attr = { static ssize_t qla2x00_sysfs_read_sfp(struct file *filp, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -679,7 +719,7 @@ qla2x00_sysfs_read_sfp(struct file *filp, struct kobject *kobj, return count; } -static struct bin_attribute sysfs_sfp_attr = { +static const struct bin_attribute sysfs_sfp_attr = { .attr = { .name = "sfp", .mode = S_IRUSR | S_IWUSR, @@ -690,7 +730,11 @@ static struct bin_attribute sysfs_sfp_attr = { static ssize_t qla2x00_sysfs_write_reset(struct file *filp, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -823,7 +867,7 @@ qla2x00_sysfs_write_reset(struct file *filp, struct kobject *kobj, return count; } -static struct bin_attribute sysfs_reset_attr = { +static const struct bin_attribute sysfs_reset_attr = { .attr = { .name = "reset", .mode = S_IWUSR, @@ -834,7 +878,11 @@ static struct bin_attribute sysfs_reset_attr = { static ssize_t qla2x00_issue_logo(struct file *filp, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -866,7 +914,7 @@ qla2x00_issue_logo(struct file *filp, struct kobject *kobj, return count; } -static struct bin_attribute sysfs_issue_logo_attr = { +static const struct bin_attribute sysfs_issue_logo_attr = { .attr = { .name = "issue_logo", .mode = S_IWUSR, @@ -877,7 +925,11 @@ static struct bin_attribute sysfs_issue_logo_attr = { static ssize_t qla2x00_sysfs_read_xgmac_stats(struct file *filp, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -929,7 +981,7 @@ do_read: return count; } -static struct bin_attribute sysfs_xgmac_stats_attr = { +static const struct bin_attribute sysfs_xgmac_stats_attr = { .attr = { .name = "xgmac_stats", .mode = S_IRUSR, @@ -940,7 +992,11 @@ static struct bin_attribute sysfs_xgmac_stats_attr = { static ssize_t qla2x00_sysfs_read_dcbx_tlv(struct file *filp, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -987,7 +1043,7 @@ do_read: return count; } -static struct bin_attribute sysfs_dcbx_tlv_attr = { +static const struct bin_attribute sysfs_dcbx_tlv_attr = { .attr = { .name = "dcbx_tlv", .mode = S_IRUSR, @@ -998,7 +1054,7 @@ static struct bin_attribute sysfs_dcbx_tlv_attr = { static struct sysfs_entry { char *name; - struct bin_attribute *attr; + const struct bin_attribute *attr; int type; } bin_file_entries[] = { { "fw_dump", &sysfs_fw_dump_attr, }, diff --git a/qla2x00t/qla_attr.c b/qla2x00t/qla_attr.c index bfa29e5..e8fcb47 100644 --- a/qla2x00t/qla_attr.c +++ b/qla2x00t/qla_attr.c @@ -441,9 +441,12 @@ static DEVICE_ATTR(port_database, #endif /* CONFIG_SCSI_QLA2XXX_TARGET */ static ssize_t -qla2x00_sysfs_read_fw_dump(struct file *file, - struct kobject *kobj, +qla2x00_sysfs_read_fw_dump(struct file *file, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -470,9 +473,12 @@ qla2x00_sysfs_read_fw_dump(struct file *file, } static ssize_t -qla2x00_sysfs_write_fw_dump(struct file *file, - struct kobject *kobj, +qla2x00_sysfs_write_fw_dump(struct file *file, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -538,7 +544,7 @@ qla2x00_sysfs_write_fw_dump(struct file *file, return count; } -static struct bin_attribute sysfs_fw_dump_attr = { +static const struct bin_attribute sysfs_fw_dump_attr = { .attr = { .name = "fw_dump", .mode = S_IRUSR | S_IWUSR, @@ -549,9 +555,12 @@ static struct bin_attribute sysfs_fw_dump_attr = { }; static ssize_t -qla2x00_sysfs_read_nvram(struct file *file, - struct kobject *kobj, +qla2x00_sysfs_read_nvram(struct file *file, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -569,9 +578,12 @@ qla2x00_sysfs_read_nvram(struct file *file, } static ssize_t -qla2x00_sysfs_write_nvram(struct file *file, - struct kobject *kobj, +qla2x00_sysfs_write_nvram(struct file *file, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -627,7 +639,7 @@ qla2x00_sysfs_write_nvram(struct file *file, return count; } -static struct bin_attribute sysfs_nvram_attr = { +static const struct bin_attribute sysfs_nvram_attr = { .attr = { .name = "nvram", .mode = S_IRUSR | S_IWUSR, @@ -638,9 +650,12 @@ static struct bin_attribute sysfs_nvram_attr = { }; static ssize_t -qla2x00_sysfs_read_optrom(struct file *file, - struct kobject *kobj, +qla2x00_sysfs_read_optrom(struct file *file, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -655,9 +670,12 @@ qla2x00_sysfs_read_optrom(struct file *file, } static ssize_t -qla2x00_sysfs_write_optrom(struct file *file, - struct kobject *kobj, +qla2x00_sysfs_write_optrom(struct file *file, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -676,7 +694,7 @@ qla2x00_sysfs_write_optrom(struct file *file, return count; } -static struct bin_attribute sysfs_optrom_attr = { +static const struct bin_attribute sysfs_optrom_attr = { .attr = { .name = "optrom", .mode = S_IRUSR | S_IWUSR, @@ -687,9 +705,12 @@ static struct bin_attribute sysfs_optrom_attr = { }; static ssize_t -qla2x00_sysfs_write_optrom_ctl(struct file *file, - struct kobject *kobj, +qla2x00_sysfs_write_optrom_ctl(struct file *file, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -842,7 +863,7 @@ qla2x00_sysfs_write_optrom_ctl(struct file *file, return count; } -static struct bin_attribute sysfs_optrom_ctl_attr = { +static const struct bin_attribute sysfs_optrom_ctl_attr = { .attr = { .name = "optrom_ctl", .mode = S_IWUSR, @@ -852,9 +873,12 @@ static struct bin_attribute sysfs_optrom_ctl_attr = { }; static ssize_t -qla2x00_sysfs_read_vpd(struct file *file, - struct kobject *kobj, +qla2x00_sysfs_read_vpd(struct file *file, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -874,9 +898,12 @@ qla2x00_sysfs_read_vpd(struct file *file, } static ssize_t -qla2x00_sysfs_write_vpd(struct file *file, - struct kobject *kobj, +qla2x00_sysfs_write_vpd(struct file *file, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -917,7 +944,7 @@ qla2x00_sysfs_write_vpd(struct file *file, return count; } -static struct bin_attribute sysfs_vpd_attr = { +static const struct bin_attribute sysfs_vpd_attr = { .attr = { .name = "vpd", .mode = S_IRUSR | S_IWUSR, @@ -928,9 +955,12 @@ static struct bin_attribute sysfs_vpd_attr = { }; static ssize_t -qla2x00_sysfs_read_sfp(struct file *file, - struct kobject *kobj, +qla2x00_sysfs_read_sfp(struct file *file, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -980,7 +1010,7 @@ do_read: return count; } -static struct bin_attribute sysfs_sfp_attr = { +static const struct bin_attribute sysfs_sfp_attr = { .attr = { .name = "sfp", .mode = S_IRUSR | S_IWUSR, @@ -990,9 +1020,12 @@ static struct bin_attribute sysfs_sfp_attr = { }; static ssize_t -qla2x00_sysfs_write_reset(struct file *file, - struct kobject *kobj, +qla2x00_sysfs_write_reset(struct file *file, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -1056,7 +1089,7 @@ qla2x00_sysfs_write_reset(struct file *file, return count; } -static struct bin_attribute sysfs_reset_attr = { +static const struct bin_attribute sysfs_reset_attr = { .attr = { .name = "reset", .mode = S_IWUSR, @@ -1066,9 +1099,12 @@ static struct bin_attribute sysfs_reset_attr = { }; static ssize_t -qla2x00_sysfs_read_xgmac_stats(struct file *file, - struct kobject *kobj, +qla2x00_sysfs_read_xgmac_stats(struct file *file, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -1109,7 +1145,7 @@ do_read: return count; } -static struct bin_attribute sysfs_xgmac_stats_attr = { +static const struct bin_attribute sysfs_xgmac_stats_attr = { .attr = { .name = "xgmac_stats", .mode = S_IRUSR, @@ -1119,9 +1155,12 @@ static struct bin_attribute sysfs_xgmac_stats_attr = { }; static ssize_t -qla2x00_sysfs_read_dcbx_tlv(struct file *file, - struct kobject *kobj, +qla2x00_sysfs_read_dcbx_tlv(struct file *file, struct kobject *kobj, +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 16, 0) struct bin_attribute *bin_attr, +#else + const struct bin_attribute *bin_attr, +#endif char *buf, loff_t off, size_t count) { struct scsi_qla_host *vha = shost_priv(dev_to_shost(container_of(kobj, @@ -1159,7 +1198,7 @@ do_read: return count; } -static struct bin_attribute sysfs_dcbx_tlv_attr = { +static const struct bin_attribute sysfs_dcbx_tlv_attr = { .attr = { .name = "dcbx_tlv", .mode = S_IRUSR, @@ -1170,7 +1209,7 @@ static struct bin_attribute sysfs_dcbx_tlv_attr = { static struct sysfs_entry { char *name; - struct bin_attribute *attr; + const struct bin_attribute *attr; int is4GBp_only; } bin_file_entries[] = { { "fw_dump", &sysfs_fw_dump_attr, }, |
From: Gleb C. <lna...@ya...> - 2025-08-05 13:37:59
|
Commit: f857365 GitHub URL: https://github.com/SCST-project/scst/commit/f85736549a8cd33502ebc1eedadc1d5f125bf279 Author: Gleb Chesnokov Date: 2025-08-05T16:37:31+03:00 Log Message: ----------- iscsi-scst: Remove access to page->index There is no need to print out page->index as part of the debug message. Modified Paths: -------------- iscsi-scst/kernel/nthread.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) =================================================================== diff --git a/iscsi-scst/kernel/nthread.c b/iscsi-scst/kernel/nthread.c index e4e7419..a2e8669 100644 --- a/iscsi-scst/kernel/nthread.c +++ b/iscsi-scst/kernel/nthread.c @@ -1231,10 +1231,9 @@ static int write_data(struct iscsi_conn *conn) iov_iter_bvec(&msg.msg_iter, ITER_SOURCE, &bvec, 1, sendsize); res = sock_sendmsg(sock, &msg); #endif - TRACE_WRITE("sid %#Lx cid %u: res %d (page[%p] index %lu, offset %u, sendsize %lu, size %lu, cmd %p)", + TRACE_WRITE("sid %#Lx cid %u: res %d (page[%p] offset %u, sendsize %lu, size %lu, cmd %p)", (unsigned long long)conn->session->sid, conn->cid, - res, page, page->index, offset, sendsize, size, - write_cmnd); + res, page, offset, sendsize, size, write_cmnd); if (unlikely(res <= 0)) { if (res == -EINTR) |
From: Gleb C. <lna...@ya...> - 2025-06-26 12:12:29
|
Commit: 3aad61d GitHub URL: https://github.com/SCST-project/scst/commit/3aad61d2fd88856bfc8e9dcebf9fdb11986f5041 Author: Christoph Böhmwalder Date: 2025-06-26T15:11:58+03:00 Log Message: ----------- iscsi-scst: use /run instead of /var/run When attempting to manage iscsi-scstd using a systemd service file, systemd warns: PIDFile= references a path below legacy directory /var/run/, [...] Change the pidfile path to be under /run instead. /run has been in use as a replacement for /var/run for many years now (the original Debian proposal is from 2011). Most distributions symlink /var/run to /run, which means that this change should not have any adverse side effects for the vast majority of users. Modified Paths: -------------- iscsi-scst/usr/iscsi_scstd.c | 2 +- scstadmin/init.d/scst | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) =================================================================== diff --git a/iscsi-scst/usr/iscsi_scstd.c b/iscsi-scst/usr/iscsi_scstd.c index 60b8309..99380c0 100644 --- a/iscsi-scst/usr/iscsi_scstd.c +++ b/iscsi-scst/usr/iscsi_scstd.c @@ -979,7 +979,7 @@ int main(int argc, char **argv) pid_t pid; int fd; - fd = open("/var/run/iscsi-scstd.pid", O_WRONLY|O_CREAT, 0644); + fd = open("/run/iscsi-scstd.pid", O_WRONLY|O_CREAT, 0644); if (fd < 0) { log_error("unable to create pid file"); exit(1); diff --git a/scstadmin/init.d/scst b/scstadmin/init.d/scst index 9490e1b..8b4497c 100755 --- a/scstadmin/init.d/scst +++ b/scstadmin/init.d/scst @@ -102,7 +102,7 @@ start_daemon() { killproc() { exe=$(basename "$1") killall "$exe" - rm -f "/var/run/$exe.pid" + rm -f "/run/$exe.pid" } fi @@ -275,8 +275,8 @@ stop_scst() { scst_status() { # Status has a slightly different meaning for the status command: # 0 - service running - # 1 - service dead, but /var/run/ pid file exists - # 2 - service dead, but /var/lock/ lock file exists + # 1 - service dead, but /run/ pid file exists + # 2 - service dead, but /run/lock/ lock file exists # 3 - service not running parse_scst_conf |
From: Gleb C. <lna...@ya...> - 2025-06-06 09:53:26
|
Commit: 1325d58 GitHub URL: https://github.com/SCST-project/scst/commit/1325d587b888c6e652b7b221b332dd3b5694bb83 Author: Gleb Chesnokov Date: 2025-06-06T12:52:15+03:00 Log Message: ----------- nightly build: Update kernel versions Update the supported kernel versions. Modified Paths: -------------- .github/workflows/run_regression_tests.yaml | 11 +++++++-- nightly/conf/nightly.conf | 19 +++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) =================================================================== diff --git a/.github/workflows/run_regression_tests.yaml b/.github/workflows/run_regression_tests.yaml index 6b310d0..7f32ea1 100644 --- a/.github/workflows/run_regression_tests.yaml +++ b/.github/workflows/run_regression_tests.yaml @@ -35,18 +35,25 @@ jobs: '5.14.0-570.12.1.el9_6^AlmaLinux^9.6', '5.14.0-503.16.1.el9_5^AlmaLinux^9.5', '5.14.0-427.42.1.el9_4^AlmaLinux^9.4', - '5.14.0-362.24.2.el9_3^AlmaLinux^9.3', + '5.14.0-362.24.1.el9_3^AlmaLinux^9.3', '5.14.0-284.30.1.el9_2^AlmaLinux^9.2', + '5.14.0-162.23.1.el9_1^AlmaLinux^9.1', + '5.14.0-70.30.1.el9_0^AlmaLinux^9.0', '4.18.0-553.53.1.el8_10^AlmaLinux^8.10', '4.18.0-513.24.1.el8_9^AlmaLinux^8.9', '4.18.0-477.13.1.el8_8^AlmaLinux^8.8', '4.18.0-425.19.2.el8_7^AlmaLinux^8.7', '4.18.0-372.32.1.el8_6^AlmaLinux^8.6', + '4.18.0-348.23.1.el8_5^AlmaLinux^8.5', + '4.18.0-305.25.1.el8_4^AlmaLinux^8.4', + '4.18.0-240.22.1.el8_3^AlmaLinux^8.3', '3.10.0-1160.118.1.el7^CentOS^7.9.2009', + '3.10.0-862.14.4.el7^CentOS^7.5.1804', '5.15.0-303.171.5.2.1.el9uek^UEK^9', '5.4.17-2136.338.4.2.el8uek^UEK^8', '4.14.35-2047.543.3.el7uek^UEK^7', - '4.1.12-124.92.3.el6uek^UEK^6' + '4.1.12-124.93.1.el7uek^UEK^7', + '4.1.12-124.48.6.el6uek^UEK^6' ] steps: - name: Checkout code diff --git a/nightly/conf/nightly.conf b/nightly/conf/nightly.conf index 1766cb6..cf6dbf9 100644 --- a/nightly/conf/nightly.conf +++ b/nightly/conf/nightly.conf @@ -70,7 +70,7 @@ ABT_KERNELS=" \ 5.14.0-570.12.1.el9_6^AlmaLinux^9.6-nc \ 5.14.0-503.16.1.el9_5^AlmaLinux^9.5-nc \ 5.14.0-427.42.1.el9_4^AlmaLinux^9.4-nc \ -5.14.0-362.24.2.el9_3^AlmaLinux^9.3-nc \ +5.14.0-362.24.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 \ @@ -79,9 +79,9 @@ ABT_KERNELS=" \ 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 \ -4.18.0-305.3.1.el8^CentOS^8.4.2105-nc \ -4.18.0-240.15.1.el8_3^CentOS^8.3.2011-nc \ +4.18.0-348.23.1.el8_5^AlmaLinux^8.5-nc \ +4.18.0-305.25.1.el8_4^AlmaLinux^8.4-nc \ +4.18.0-240.22.1.el8_3^AlmaLinux^8.3-nc \ 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 \ @@ -91,15 +91,8 @@ ABT_KERNELS=" \ 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-303.171.5.2.1.el9uek^UEK^9-nc \ -5.15.0-303.171.5.2.1.el8uek^UEK^8-nc \ 5.4.17-2136.338.4.2.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.338.4.2.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 \ 4.14.35-2047.543.3.el7uek^UEK^7-nc \ -4.1.12-124.92.3.el6uek^UEK^6-nc \ +4.1.12-124.93.1.el7uek^UEK^7-nc \ +4.1.12-124.48.6.el6uek^UEK^6-nc \ " |
From: Gleb C. <lna...@ya...> - 2025-06-06 09:36:10
|
Commit: 4b61f2b GitHub URL: https://github.com/SCST-project/scst/commit/4b61f2b4ace034aeaacd9d94c2ced6c4bb9b4dfc Author: Gleb Chesnokov Date: 2025-06-06T12:33:37+03:00 Log Message: ----------- scst.h: Fix RHEL 9 build Fixes: https://github.com/SCST-project/scst/issues/294 Modified Paths: -------------- qla2x00t-32gbit/qla_os.c | 8 ++++++-- scst/include/scst.h | 6 +++--- 2 files changed, 9 insertions(+), 5 deletions(-) =================================================================== diff --git a/qla2x00t-32gbit/qla_os.c b/qla2x00t-32gbit/qla_os.c index f6d8a51..6263d32 100644 --- a/qla2x00t-32gbit/qla_os.c +++ b/qla2x00t-32gbit/qla_os.c @@ -1997,7 +1997,9 @@ qla2xxx_slave_configure(struct scsi_device *sdev) scsi_qla_host_t *vha = shost_priv(sdev->host); struct req_que *req = vha->req; -#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 10, 0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 10, 0) && \ + (!defined(RHEL_RELEASE_CODE) || \ + RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(9, 6)) if (IS_T10_PI_CAPABLE(vha->hw)) blk_queue_update_dma_alignment(sdev->request_queue, 0x7); #endif @@ -3638,7 +3640,9 @@ skip_dpc: QLA_SG_ALL : 128; } -#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 10, 0) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 10, 0) || \ + (defined(RHEL_RELEASE_CODE) && \ + RHEL_RELEASE_CODE -0 >= RHEL_RELEASE_VERSION(9, 6)) if (IS_T10_PI_CAPABLE(base_vha->hw)) host->dma_alignment = 0x7; #endif diff --git a/scst/include/scst.h b/scst/include/scst.h index 878a125..f0a7e3e 100644 --- a/scst/include/scst.h +++ b/scst/include/scst.h @@ -5651,14 +5651,15 @@ __scst_scsi_execute_cmd(struct scsi_device *sdev, const unsigned char *cmd, unsigned char *sense, unsigned int sense_len, int timeout, int retries, blk_opf_t opf) { -#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 3, 0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 3, 0) && \ + (!defined(RHEL_RELEASE_CODE) || \ + RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(9, 3)) if (WARN_ON_ONCE(sense && sense_len != SCSI_SENSE_BUFFERSIZE)) return -EINVAL; #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0) return scsi_execute(sdev, cmd, data_direction, buffer, bufflen, sense, timeout, retries, opf, /*resid=*/NULL); - #elif LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0) && \ (!defined(RHEL_MAJOR) || RHEL_MAJOR -0 < 8) return scsi_execute(sdev, cmd, data_direction, buffer, bufflen, sense, @@ -5669,7 +5670,6 @@ __scst_scsi_execute_cmd(struct scsi_device *sdev, const unsigned char *cmd, /*sshdr=*/NULL, timeout, retries, opf, /*rq_flags=*/0, /*resid=*/NULL); #endif - #else opf |= data_direction == DMA_TO_DEVICE ? REQ_OP_DRV_OUT : REQ_OP_DRV_IN; |
From: Gleb C. <lna...@ya...> - 2025-06-06 09:35:44
|
Commit: 0642b05 GitHub URL: https://github.com/SCST-project/scst/commit/0642b05bc557fa333525b1b2fed5ac68281b0134 Author: Gleb Chesnokov Date: 2025-06-06T12:33:36+03:00 Log Message: ----------- scst: Add RHEL 8.10 and 9.6 kernel support Add compatibility for RHEL 8.10 and RHEL 9.6 kernels. Update nightly build and regression test configs, and adjust version checks in the codebase to handle changes in these new RHEL kernel releases. Modified Paths: -------------- .github/workflows/run_regression_tests.yaml | 4 +-- nightly/conf/nightly.conf | 2 ++ scst/include/backport.h | 4 ++- scst/src/dev_handlers/scst_vdisk.c | 4 ++- scst/src/scst_lib.c | 19 +++++++++------ scst_local/scst_local.c | 8 ++++-- 6 files changed, 28 insertions(+), 13 deletions(-) =================================================================== diff --git a/.github/workflows/run_regression_tests.yaml b/.github/workflows/run_regression_tests.yaml index dd07c1c..6b310d0 100644 --- a/.github/workflows/run_regression_tests.yaml +++ b/.github/workflows/run_regression_tests.yaml @@ -4,11 +4,9 @@ on: push: branches: - 3.9.x - - master pull_request: branches: - 3.9.x - - master jobs: regression_tests: @@ -34,10 +32,12 @@ jobs: '4.9.337', '3.18.140', '3.10.108', + '5.14.0-570.12.1.el9_6^AlmaLinux^9.6', '5.14.0-503.16.1.el9_5^AlmaLinux^9.5', '5.14.0-427.42.1.el9_4^AlmaLinux^9.4', '5.14.0-362.24.2.el9_3^AlmaLinux^9.3', '5.14.0-284.30.1.el9_2^AlmaLinux^9.2', + '4.18.0-553.53.1.el8_10^AlmaLinux^8.10', '4.18.0-513.24.1.el8_9^AlmaLinux^8.9', '4.18.0-477.13.1.el8_8^AlmaLinux^8.8', '4.18.0-425.19.2.el8_7^AlmaLinux^8.7', diff --git a/nightly/conf/nightly.conf b/nightly/conf/nightly.conf index acceb08..1766cb6 100644 --- a/nightly/conf/nightly.conf +++ b/nightly/conf/nightly.conf @@ -67,12 +67,14 @@ ABT_KERNELS=" \ 3.12.74-nc \ 3.11.10-nc \ 3.10.108-nc \ +5.14.0-570.12.1.el9_6^AlmaLinux^9.6-nc \ 5.14.0-503.16.1.el9_5^AlmaLinux^9.5-nc \ 5.14.0-427.42.1.el9_4^AlmaLinux^9.4-nc \ 5.14.0-362.24.2.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-553.53.1.el8_10^AlmaLinux^8.10-nc \ 4.18.0-513.24.1.el8_9^AlmaLinux^8.9-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 \ diff --git a/scst/include/backport.h b/scst/include/backport.h index 803fcf6..70ed719 100644 --- a/scst/include/backport.h +++ b/scst/include/backport.h @@ -677,7 +677,9 @@ static inline u32 int_sqrt64(u64 x) } #endif -#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, 6)) static inline long get_user_pages_backport(unsigned long start, unsigned long nr_pages, unsigned int gup_flags, diff --git a/scst/src/dev_handlers/scst_vdisk.c b/scst/src/dev_handlers/scst_vdisk.c index 90c565e..8f4a3d7 100644 --- a/scst/src/dev_handlers/scst_vdisk.c +++ b/scst/src/dev_handlers/scst_vdisk.c @@ -968,7 +968,9 @@ static int vdisk_init_block_integrity(struct scst_vdisk_dev *virt_dev) #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 4, 0) bi_profile_name = bi->name; -#elif LINUX_VERSION_CODE < KERNEL_VERSION(6, 11, 0) +#elif LINUX_VERSION_CODE < KERNEL_VERSION(6, 11, 0) && \ + (!defined(RHEL_RELEASE_CODE) || \ + RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(9, 6)) bi_profile_name = bi->profile->name; #else bi_profile_name = blk_integrity_profile_name(bi); diff --git a/scst/src/scst_lib.c b/scst/src/scst_lib.c index 50d60e3..1e67ab9 100644 --- a/scst/src/scst_lib.c +++ b/scst/src/scst_lib.c @@ -8398,8 +8398,9 @@ scst_free_bio(struct bio *bio) #endif } -#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0) || \ -(defined(CONFIG_SUSE_KERNEL) && LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0)) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0) || \ + (defined(CONFIG_SUSE_KERNEL) && \ + LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0)) static struct request *blk_make_request(struct request_queue *q, struct bio *bio, gfp_t gfp_mask) @@ -8447,7 +8448,9 @@ static struct request *blk_make_request(struct request_queue *q, static inline unsigned int queue_dma_pad_mask(const struct request_queue *q) { -#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 11, 0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 11, 0) && \ + (!defined(RHEL_RELEASE_CODE) || \ + RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(9, 6)) return q->dma_pad_mask; #else return q->limits.dma_pad_mask; @@ -15358,14 +15361,16 @@ out_unlock: void scst_vfs_unlink_and_put(struct path *path) { -#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0) && \ - (!defined(RHEL_MAJOR) || RHEL_MAJOR -0 < 7) && \ - (!defined(CONFIG_SUSE_KERNEL) || \ +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0) && \ + (!defined(RHEL_MAJOR) || RHEL_MAJOR -0 < 7) && \ + (!defined(CONFIG_SUSE_KERNEL) || \ LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)) vfs_unlink(path->dentry->d_parent->d_inode, path->dentry); #elif LINUX_VERSION_CODE < KERNEL_VERSION(5, 12, 0) vfs_unlink(path->dentry->d_parent->d_inode, path->dentry, NULL); -#elif LINUX_VERSION_CODE < KERNEL_VERSION(6, 3, 0) +#elif LINUX_VERSION_CODE < KERNEL_VERSION(6, 3, 0) && \ + (!defined(RHEL_RELEASE_CODE) || \ + RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(9, 6)) vfs_unlink(&init_user_ns, path->dentry->d_parent->d_inode, path->dentry, NULL); #else diff --git a/scst_local/scst_local.c b/scst_local/scst_local.c index ae6ab0f..6547b57 100644 --- a/scst_local/scst_local.c +++ b/scst_local/scst_local.c @@ -1023,7 +1023,9 @@ out: #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) */ -#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 10, 0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 10, 0) && \ + (!defined(RHEL_RELEASE_CODE) || \ + RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(9, 6)) static int scst_local_slave_alloc(struct scsi_device *sdev) { struct request_queue *q = sdev->request_queue; @@ -1365,7 +1367,9 @@ static const struct scsi_host_template scst_lcl_ini_driver_template = { .name = SCST_LOCAL_NAME, .queuecommand = scst_local_queuecommand, .change_queue_depth = scst_local_change_queue_depth, -#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 10, 0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 10, 0) && \ + (!defined(RHEL_RELEASE_CODE) || \ + RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(9, 6)) .slave_alloc = scst_local_slave_alloc, #else .dma_alignment = (4096 - 1), |
From: Gleb C. <lna...@ya...> - 2025-06-06 09:34:54
|
Commit: a0a076e GitHub URL: https://github.com/SCST-project/scst/commit/a0a076e04edf28b894b9ed8f7c09ae58c2959b7f Author: Gleb Chesnokov Date: 2025-06-06T12:33:36+03:00 Log Message: ----------- .github/workflows: Improve regression test failure detection in GitHub Actions Update the run_regression_tests workflow to fail if "Compiling the patched kernel" is missing or if any non-zero error count ("N errors") or "FAILED" is detected after the marker. The previous check missed multi-digit error counts and did not handle a missing marker, which could result in undetected failures. Modified Paths: -------------- .github/workflows/run_regression_tests.yaml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) =================================================================== diff --git a/.github/workflows/run_regression_tests.yaml b/.github/workflows/run_regression_tests.yaml index 6794cd5..dd07c1c 100644 --- a/.github/workflows/run_regression_tests.yaml +++ b/.github/workflows/run_regression_tests.yaml @@ -74,7 +74,15 @@ jobs: ./scripts/run-regression-tests -l -q -k -d /tmp/scst-${{matrix.version}} ${{matrix.version}}-nc-ns-nm | tee output.txt - cat output.txt | grep -A1 "Compiling the patched kernel" | grep -e "FAILED" -e "[^0] errors" > /dev/null 2>&1 && err=1 + if ! grep -q "Compiling the patched kernel" output.txt; then + echo "::error ::run-regression-tests failed" + err=1 + else + if grep -A1 "Compiling the patched kernel" output.txt | grep -E -q "FAILED|[1-9][0-9]* errors"; then + echo "::error ::Regression test failed" + err=1 + fi + fi rm -f output.txt |
From: Gleb C. <lna...@ya...> - 2025-06-06 09:32:09
|
Commit: 17eb80e GitHub URL: https://github.com/SCST-project/scst/commit/17eb80e049f170120f7c0c0abfc1798a12b28700 Author: Gleb Chesnokov Date: 2025-06-06T12:31:21+03:00 Log Message: ----------- nightly build: Add RHEL 10 kernel support Add AlmaLinux 10.0 kernel to nightly build configs and update helper scripts to handle AlmaLinux 10.0 package sources. Modified Paths: -------------- .github/workflows/run_regression_tests.yaml | 1 + nightly/conf/nightly.conf | 1 + scripts/rhel-rpm-functions | 4 ++-- 3 files changed, 4 insertions(+), 2 deletions(-) =================================================================== diff --git a/.github/workflows/run_regression_tests.yaml b/.github/workflows/run_regression_tests.yaml index 3a85f0e..65e4d77 100644 --- a/.github/workflows/run_regression_tests.yaml +++ b/.github/workflows/run_regression_tests.yaml @@ -35,6 +35,7 @@ jobs: '4.9.337', '3.18.140', '3.10.108', + '6.12.0-55.9.1.el10_0^AlmaLinux^10.0', '5.14.0-570.12.1.el9_6^AlmaLinux^9.6', '5.14.0-503.40.1.el9_5^AlmaLinux^9.5', '5.14.0-427.42.1.el9_4^AlmaLinux^9.4', diff --git a/nightly/conf/nightly.conf b/nightly/conf/nightly.conf index 0fa92c4..8f1011f 100644 --- a/nightly/conf/nightly.conf +++ b/nightly/conf/nightly.conf @@ -70,6 +70,7 @@ ABT_KERNELS=" \ 3.12.74-nc \ 3.11.10-nc \ 3.10.108-nc \ +6.12.0-55.9.1.el10_0^AlmaLinux^10.0-nc \ 5.14.0-570.12.1.el9_6^AlmaLinux^9.6-nc \ 5.14.0-503.40.1.el9_5^AlmaLinux^9.5-nc \ 5.14.0-427.42.1.el9_4^AlmaLinux^9.4-nc \ diff --git a/scripts/rhel-rpm-functions b/scripts/rhel-rpm-functions index c422946..b7f535f 100644 --- a/scripts/rhel-rpm-functions +++ b/scripts/rhel-rpm-functions @@ -37,7 +37,7 @@ function get_srpm_urls() { ;; "AlmaLinux") case $releasever in - [89]*) + [89]*|10*) echo "https://repo.almalinux.org/vault/${releasever}/BaseOS/Source/Packages/";; esac ;; @@ -97,7 +97,7 @@ function get_rpm_urls() { echo "";; "AlmaLinux") case $releasever in - [89]*) + [89]*|10*) echo "https://mirror.yandex.ru/almalinux/${releasever}/BaseOS/${arch}/os/Packages/";; esac ;; |
From: Gleb C. <lna...@ya...> - 2025-06-06 09:31:50
|
Commit: 02167c4 GitHub URL: https://github.com/SCST-project/scst/commit/02167c4028b48bd042acc9cb77b30bebf022ddc4 Author: Gleb Chesnokov Date: 2025-06-06T12:31:21+03:00 Log Message: ----------- scst.h: Fix RHEL 9 build Fixes: https://github.com/SCST-project/scst/issues/294 Modified Paths: -------------- qla2x00t-32gbit/qla_os.c | 8 ++++++-- scst/include/scst.h | 6 +++--- 2 files changed, 9 insertions(+), 5 deletions(-) =================================================================== diff --git a/qla2x00t-32gbit/qla_os.c b/qla2x00t-32gbit/qla_os.c index 36d8c0a..24f45ff 100644 --- a/qla2x00t-32gbit/qla_os.c +++ b/qla2x00t-32gbit/qla_os.c @@ -2006,7 +2006,9 @@ qla2xxx_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim) scsi_qla_host_t *vha = shost_priv(sdev->host); struct req_que *req = vha->req; -#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 10, 0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 10, 0) && \ + (!defined(RHEL_RELEASE_CODE) || \ + RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(9, 6)) if (IS_T10_PI_CAPABLE(vha->hw)) blk_queue_update_dma_alignment(sdev->request_queue, 0x7); #endif @@ -3658,7 +3660,9 @@ skip_dpc: QLA_SG_ALL : 128; } -#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 10, 0) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 10, 0) || \ + (defined(RHEL_RELEASE_CODE) && \ + RHEL_RELEASE_CODE -0 >= RHEL_RELEASE_VERSION(9, 6)) if (IS_T10_PI_CAPABLE(base_vha->hw)) host->dma_alignment = 0x7; #endif diff --git a/scst/include/scst.h b/scst/include/scst.h index 878a125..f0a7e3e 100644 --- a/scst/include/scst.h +++ b/scst/include/scst.h @@ -5651,14 +5651,15 @@ __scst_scsi_execute_cmd(struct scsi_device *sdev, const unsigned char *cmd, unsigned char *sense, unsigned int sense_len, int timeout, int retries, blk_opf_t opf) { -#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 3, 0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 3, 0) && \ + (!defined(RHEL_RELEASE_CODE) || \ + RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(9, 3)) if (WARN_ON_ONCE(sense && sense_len != SCSI_SENSE_BUFFERSIZE)) return -EINVAL; #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0) return scsi_execute(sdev, cmd, data_direction, buffer, bufflen, sense, timeout, retries, opf, /*resid=*/NULL); - #elif LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0) && \ (!defined(RHEL_MAJOR) || RHEL_MAJOR -0 < 8) return scsi_execute(sdev, cmd, data_direction, buffer, bufflen, sense, @@ -5669,7 +5670,6 @@ __scst_scsi_execute_cmd(struct scsi_device *sdev, const unsigned char *cmd, /*sshdr=*/NULL, timeout, retries, opf, /*rq_flags=*/0, /*resid=*/NULL); #endif - #else opf |= data_direction == DMA_TO_DEVICE ? REQ_OP_DRV_OUT : REQ_OP_DRV_IN; |
From: Gleb C. <lna...@ya...> - 2025-05-26 14:40:54
|
Commit: 15ebdec GitHub URL: https://github.com/SCST-project/scst/commit/15ebdec40398eb95c8d05940bfb9033302e45760 Author: Gleb Chesnokov Date: 2025-05-26T17:37:09+03:00 Log Message: ----------- nightly build: Add UEK 8 kernel support Add Oracle Linux UEK 8 kernel to nightly build configs and update helper scripts to handle UEK 8 package sources. Modified Paths: -------------- .github/workflows/run_regression_tests.yaml | 1 + nightly/conf/nightly.conf | 1 + scripts/rhel-rpm-functions | 4 ++-- 3 files changed, 4 insertions(+), 2 deletions(-) =================================================================== diff --git a/.github/workflows/run_regression_tests.yaml b/.github/workflows/run_regression_tests.yaml index 9fb00c1..3a85f0e 100644 --- a/.github/workflows/run_regression_tests.yaml +++ b/.github/workflows/run_regression_tests.yaml @@ -52,6 +52,7 @@ jobs: '4.18.0-240.22.1.el8_3^AlmaLinux^8.3', '3.10.0-1160.118.1.el7^CentOS^7.9.2009', '3.10.0-862.14.4.el7^CentOS^7.5.1804', + '6.12.0-0.20.20.el9uek^UEK^9', '5.15.0-308.179.6.3.el9uek^UEK^9', '5.4.17-2136.343.5.1.el8uek^UEK^8', '4.14.35-2047.543.3.1.el7uek^UEK^7', diff --git a/nightly/conf/nightly.conf b/nightly/conf/nightly.conf index acd653f..0fa92c4 100644 --- a/nightly/conf/nightly.conf +++ b/nightly/conf/nightly.conf @@ -93,6 +93,7 @@ ABT_KERNELS=" \ 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 \ +6.12.0-0.20.20.el9uek^UEK^9-nc \ 5.15.0-308.179.6.3.el9uek^UEK^9-nc \ 5.4.17-2136.343.5.1.el8uek^UEK^8-nc \ 4.14.35-2047.543.3.1.el7uek^UEK^7-nc \ diff --git a/scripts/rhel-rpm-functions b/scripts/rhel-rpm-functions index 7ca3ef5..c422946 100644 --- a/scripts/rhel-rpm-functions +++ b/scripts/rhel-rpm-functions @@ -44,7 +44,7 @@ function get_srpm_urls() { "Oracle Linux Server"|"UEK") echo "http://public-yum.oracle.com/repo/OracleLinux/OL${releasevermajor}/${releaseverminor}/base/${arch}/getPackageSource" echo "http://public-yum.oracle.com/repo/OracleLinux/OL${releasevermajor}/latest/${arch}/getPackageSource" - for ((i=4;i<=7;i++)); do + for ((i=4;i<=8;i++)); do echo "http://public-yum.oracle.com/repo/OracleLinux/OL${releasevermajor}/UEKR$i/${arch}/getPackageSource" done ;; @@ -104,7 +104,7 @@ function get_rpm_urls() { "Oracle Linux Server"|"UEK") echo "http://public-yum.oracle.com/repo/OracleLinux/OL${releasevermajor}/${releaseverminor}/base/${arch}/getPackageSource" echo "http://public-yum.oracle.com/repo/OracleLinux/OL${releasevermajor}/latest/${arch}/getPackageSource" - for ((i=4;i<=7;i++)); do + for ((i=4;i<=8;i++)); do echo "http://public-yum.oracle.com/repo/OracleLinux/OL${releasevermajor}/UEKR$i/${arch}/getPackageSource" done ;; |
From: Gleb C. <lna...@ya...> - 2025-05-26 14:40:19
|
Commit: ac41d32 GitHub URL: https://github.com/SCST-project/scst/commit/ac41d325f30101b1122ba1ebe7d6634d2c0e1328 Author: Gleb Chesnokov Date: 2025-05-26T17:37:09+03:00 Log Message: ----------- scst: Fix backport for stable, RHEL, and UEK kernels Update backport logic to support recent stable, RHEL, and UEK kernel versions. Adjust version checks and compatibility for sysfs_emit, timer_delete, and related helpers. Fixes: 0e8fdad5e48c ("scst: Use sysfs_emit/sysfs_emit_at instead of scnprintf()") Fixes: d21b6f1457f1 ("scst: Port to Linux kernel v6.15") Modified Paths: -------------- qla2x00t-32gbit/qla_os.c | 9 +++++++- scst/include/backport.h | 17 ++++++++++++--- 2 files changed, 22 insertions(+), 4 deletions(-) =================================================================== diff --git a/qla2x00t-32gbit/qla_os.c b/qla2x00t-32gbit/qla_os.c index 37417ee..36d8c0a 100644 --- a/qla2x00t-32gbit/qla_os.c +++ b/qla2x00t-32gbit/qla_os.c @@ -2949,7 +2949,14 @@ static void qla2x00_iocb_work_fn(struct work_struct *work) static void qla_trace_init(void) { -#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 8, 0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 8, 0) && \ + (LINUX_VERSION_CODE >> 8 != KERNEL_VERSION(6, 6, 0) >> 8 || \ + LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 87)) + /* + * See also commit d23569979ca1 ("tracing: Allow creating instances with specified system + * events") # v6.8. + * See also commit f568fbe8c603 # v6.6.87. + */ qla_trc_array = trace_array_get_by_name("qla2xxx"); #else qla_trc_array = trace_array_get_by_name("qla2xxx", NULL); diff --git a/scst/include/backport.h b/scst/include/backport.h index aa60068..a9f2225 100644 --- a/scst/include/backport.h +++ b/scst/include/backport.h @@ -43,6 +43,7 @@ #include <linux/string.h> #include <linux/sysfs.h> #include <linux/timer.h> +#include <linux/usb/quirks.h> #include <linux/vmalloc.h> #include <linux/workqueue.h> #include <linux/writeback.h> /* sync_page_range() */ @@ -1498,7 +1499,8 @@ static inline void __user *KERNEL_SOCKPTR(void *p) /* <linux/string.h> */ #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 5, 0) && \ - (!defined(RHEL_MAJOR) || RHEL_MAJOR -0 < 7) + (!defined(RHEL_MAJOR) || RHEL_MAJOR -0 < 7) && \ + (!defined(UEK_KABI_RENAME) || !defined(USB_QUIRK_NO_LPM)) /* See also commit e9d408e107db ("new helper: memdup_user_nul()") # v4.5 */ static inline void *memdup_user_nul(const void __user *src, size_t len) { @@ -1576,7 +1578,10 @@ static inline ssize_t strscpy(char *dest, const char *src, size_t count) (LINUX_VERSION_CODE >> 8 != KERNEL_VERSION(4, 19, 0) >> 8 || \ LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 179)) && \ (LINUX_VERSION_CODE >> 8 != KERNEL_VERSION(5, 4, 0) >> 8 || \ - LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 103)) + LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 103)) && \ + (!defined(RHEL_RELEASE_CODE) || \ + RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(8, 5)) && \ + !defined(UEK_KABI_RENAME) /* * See also commit 2efc459d06f1 ("sysfs: Add sysfs_emit and sysfs_emit_at to format sysfs output") * # v5.10. @@ -1664,6 +1669,9 @@ struct t10_pi_tuple { LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 154)) && \ (LINUX_VERSION_CODE >> 8 != KERNEL_VERSION(6, 1, 0) >> 8 || \ LINUX_VERSION_CODE < KERNEL_VERSION(6, 1, 84)) && \ + (!defined(RHEL_MAJOR) || RHEL_MAJOR -0 < 8 || \ + RHEL_MAJOR -0 == 8 && RHEL_MINOR -0 < 9 || \ + RHEL_MAJOR -0 == 9 && RHEL_MINOR -0 < 3) && \ (!defined(UEK_KABI_RENAME) || \ LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 17)) /* @@ -1683,7 +1691,10 @@ static inline int timer_delete_sync(struct timer_list *timer) #if LINUX_VERSION_CODE < KERNEL_VERSION(6, 2, 0) && \ (LINUX_VERSION_CODE >> 8 != KERNEL_VERSION(6, 1, 0) >> 8 || \ - LINUX_VERSION_CODE < KERNEL_VERSION(6, 1, 91)) + LINUX_VERSION_CODE < KERNEL_VERSION(6, 1, 91)) && \ + (!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 bb663f0f3c39 ("timers: Rename del_timer() to timer_delete()") # v6.2. * See also commit b086d1e82fcd # v6.1.91. |
From: Gleb C. <lna...@ya...> - 2025-05-26 14:40:19
|
Commit: 44bd290 GitHub URL: https://github.com/SCST-project/scst/commit/44bd290fea04df4a918ebd08dfc7fbffeebbb5e7 Author: Gleb Chesnokov Date: 2025-05-26T17:37:09+03:00 Log Message: ----------- scst: Add RHEL 8.10 and 9.6 kernel support Add compatibility for RHEL 8.10 and RHEL 9.6 kernels. Update nightly build and regression test configs, and adjust version checks in the codebase to handle changes in these new RHEL kernel releases. Modified Paths: -------------- .github/workflows/run_regression_tests.yaml | 2 ++ nightly/conf/nightly.conf | 2 ++ scst/include/backport.h | 4 ++- scst/src/dev_handlers/scst_vdisk.c | 4 ++- scst/src/scst_lib.c | 19 +++++++++------ scst_local/scst_local.c | 8 ++++-- 6 files changed, 28 insertions(+), 11 deletions(-) =================================================================== diff --git a/.github/workflows/run_regression_tests.yaml b/.github/workflows/run_regression_tests.yaml index 0496ed4..9fb00c1 100644 --- a/.github/workflows/run_regression_tests.yaml +++ b/.github/workflows/run_regression_tests.yaml @@ -35,12 +35,14 @@ jobs: '4.9.337', '3.18.140', '3.10.108', + '5.14.0-570.12.1.el9_6^AlmaLinux^9.6', '5.14.0-503.40.1.el9_5^AlmaLinux^9.5', '5.14.0-427.42.1.el9_4^AlmaLinux^9.4', '5.14.0-362.24.1.el9_3^AlmaLinux^9.3', '5.14.0-284.30.1.el9_2^AlmaLinux^9.2', '5.14.0-162.23.1.el9_1^AlmaLinux^9.1', '5.14.0-70.30.1.el9_0^AlmaLinux^9.0', + '4.18.0-553.53.1.el8_10^AlmaLinux^8.10', '4.18.0-513.24.1.el8_9^AlmaLinux^8.9', '4.18.0-477.13.1.el8_8^AlmaLinux^8.8', '4.18.0-425.19.2.el8_7^AlmaLinux^8.7', diff --git a/nightly/conf/nightly.conf b/nightly/conf/nightly.conf index fcde698..acd653f 100644 --- a/nightly/conf/nightly.conf +++ b/nightly/conf/nightly.conf @@ -70,12 +70,14 @@ ABT_KERNELS=" \ 3.12.74-nc \ 3.11.10-nc \ 3.10.108-nc \ +5.14.0-570.12.1.el9_6^AlmaLinux^9.6-nc \ 5.14.0-503.40.1.el9_5^AlmaLinux^9.5-nc \ 5.14.0-427.42.1.el9_4^AlmaLinux^9.4-nc \ 5.14.0-362.24.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-553.53.1.el8_10^AlmaLinux^8.10-nc \ 4.18.0-513.24.1.el8_9^AlmaLinux^8.9-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 \ diff --git a/scst/include/backport.h b/scst/include/backport.h index a9f2225..72e2972 100644 --- a/scst/include/backport.h +++ b/scst/include/backport.h @@ -689,7 +689,9 @@ static inline u32 int_sqrt64(u64 x) } #endif -#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, 6)) static inline long get_user_pages_backport(unsigned long start, unsigned long nr_pages, unsigned int gup_flags, diff --git a/scst/src/dev_handlers/scst_vdisk.c b/scst/src/dev_handlers/scst_vdisk.c index de8801d..f552963 100644 --- a/scst/src/dev_handlers/scst_vdisk.c +++ b/scst/src/dev_handlers/scst_vdisk.c @@ -968,7 +968,9 @@ static int vdisk_init_block_integrity(struct scst_vdisk_dev *virt_dev) #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 4, 0) bi_profile_name = bi->name; -#elif LINUX_VERSION_CODE < KERNEL_VERSION(6, 11, 0) +#elif LINUX_VERSION_CODE < KERNEL_VERSION(6, 11, 0) && \ + (!defined(RHEL_RELEASE_CODE) || \ + RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(9, 6)) bi_profile_name = bi->profile->name; #else bi_profile_name = blk_integrity_profile_name(bi); diff --git a/scst/src/scst_lib.c b/scst/src/scst_lib.c index 979caae..7eda3aa 100644 --- a/scst/src/scst_lib.c +++ b/scst/src/scst_lib.c @@ -8401,8 +8401,9 @@ scst_free_bio(struct bio *bio) #endif } -#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0) || \ -(defined(CONFIG_SUSE_KERNEL) && LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0)) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0) || \ + (defined(CONFIG_SUSE_KERNEL) && \ + LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0)) static struct request *blk_make_request(struct request_queue *q, struct bio *bio, gfp_t gfp_mask) @@ -8450,7 +8451,9 @@ static struct request *blk_make_request(struct request_queue *q, static inline unsigned int queue_dma_pad_mask(const struct request_queue *q) { -#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 11, 0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 11, 0) && \ + (!defined(RHEL_RELEASE_CODE) || \ + RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(9, 6)) return q->dma_pad_mask; #else return q->limits.dma_pad_mask; @@ -15365,14 +15368,16 @@ out_unlock: void scst_vfs_unlink_and_put(struct path *path) { -#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0) && \ - (!defined(RHEL_MAJOR) || RHEL_MAJOR -0 < 7) && \ - (!defined(CONFIG_SUSE_KERNEL) || \ +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0) && \ + (!defined(RHEL_MAJOR) || RHEL_MAJOR -0 < 7) && \ + (!defined(CONFIG_SUSE_KERNEL) || \ LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0)) vfs_unlink(path->dentry->d_parent->d_inode, path->dentry); #elif LINUX_VERSION_CODE < KERNEL_VERSION(5, 12, 0) vfs_unlink(path->dentry->d_parent->d_inode, path->dentry, NULL); -#elif LINUX_VERSION_CODE < KERNEL_VERSION(6, 3, 0) +#elif LINUX_VERSION_CODE < KERNEL_VERSION(6, 3, 0) && \ + (!defined(RHEL_RELEASE_CODE) || \ + RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(9, 6)) vfs_unlink(&init_user_ns, path->dentry->d_parent->d_inode, path->dentry, NULL); #else diff --git a/scst_local/scst_local.c b/scst_local/scst_local.c index 723962c..4e83358 100644 --- a/scst_local/scst_local.c +++ b/scst_local/scst_local.c @@ -1032,7 +1032,9 @@ out: #endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) */ -#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 10, 0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 10, 0) && \ + (!defined(RHEL_RELEASE_CODE) || \ + RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(9, 6)) static int scst_local_slave_alloc(struct scsi_device *sdev) { struct request_queue *q = sdev->request_queue; @@ -1378,7 +1380,9 @@ static const struct scsi_host_template scst_lcl_ini_driver_template = { .name = SCST_LOCAL_NAME, .queuecommand = scst_local_queuecommand, .change_queue_depth = scst_local_change_queue_depth, -#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 10, 0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 10, 0) && \ + (!defined(RHEL_RELEASE_CODE) || \ + RHEL_RELEASE_CODE -0 < RHEL_RELEASE_VERSION(9, 6)) .slave_alloc = scst_local_slave_alloc, #else .dma_alignment = (4096 - 1), |