- 28 Apr, 2023 1 commit
-
-
Gleb Chesnokov authored
Another kernel versions update following the 6.3 release.
-
- 24 Apr, 2023 1 commit
-
-
Gleb Chesnokov authored
This patch fixes RPM build errors caused by incorrect file paths: RPM build errors: File must begin with "/": %{perl_vendorlib}/SCST File must begin with "/": %{perl_vendorarch}/auto/SCST_SCST For some reasons, the perl_vendorlib and perl_vendorarch variables may not be defined by default on newer RHEL systems. Therefore, assign the variables explicitly to avoid these errors.
-
- 17 Apr, 2023 3 commits
-
-
Brian Meagher authored
Add a setting to scst_tgt that can prevent scst_gen_aen_or_ua from generating an AEN, even if the underlying transport is capable of transmitting them. It will instead generate a UA.
-
Gleb Chesnokov authored
In the previous commit, we introduced the use of RCU protection when accessing sess_tgt_dev_list in scst_get_max_lun_commands(). As a result, we can now drop the use of scst_mutex when accessing the list.
-
Gleb Chesnokov authored
We must always protect sess_tgt_dev_list during access and modification. There are two mechanisms for that: - tgt_dev_list_mutex for list modifications. - RCU for read-only list accesses. Currently, the codebase doesn't consistently apply protection when accessing the list. Fix this by adding RCU protection. See also commit 3e64094b ("scst_sysfs: Do not suspend I/O for LUN management").
-
- 12 Apr, 2023 1 commit
-
-
Gleb Chesnokov authored
There is a memory leak reported by kmemleak: unreferenced object 0xffffc900003f0000 (size 12288): comm "modprobe", pid 19117, jiffies 4299751452 (age 42490.264s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<00000000629261a8>] __vmalloc_node_range+0xe56/0x1110 [<0000000001906886>] __vmalloc_node+0xbd/0x150 [<000000005bb4dc34>] vmalloc+0x25/0x30 [<00000000a2dc1194>] qla2x00_create_host+0x7a0/0xe30 [qla2xxx] [<0000000062b14b47>] qla2x00_probe_one+0x2eb8/0xd160 [qla2xxx] [<00000000641ccc04>] local_pci_probe+0xeb/0x1a0 The root cause is traced to an error-handling path in qla2x00_probe_one() when the adapter "base_vha" initialize failed. The fab_scan_rp "scan.l" is used to record the port information and it is allocated in qla2x00_create_host(). However, it is not released in the error handling path "probe_failed". Fix this by freeing the memory of "scan.l" when an error occurs in the adapter initialization process. Fixes: a4239945b8ad ("scsi: qla2xxx: Add switch command to simplify fabric discovery") Signed-off-by:
Li Zetao <lizetao1@huawei.com> Link: https://lore.kernel.org/r/20230325110004.363898-1-lizetao1@huawei.com Reviewed-by:
Himanshu Madhani <himanshu.madhani@oracle.com> Signed-off-by:
Martin K. Petersen <martin.petersen@oracle.com> [ commit 85ade4010e13 upstream ]
-
- 11 Apr, 2023 2 commits
-
-
Gleb Chesnokov authored
Enhance the project's README and provide an easy way to track the total number of downloads.
-
Gleb Chesnokov authored
Add a new GitHub Actions workflow, checkpatch_pull.yml, which runs checkpatch.pl for each commit in a pull request targeting the master branch. This change ensures proper checkpatch validation for both push and pull request events.
-
- 06 Apr, 2023 3 commits
-
-
Gleb Chesnokov authored
See also PR https://github.com/SCST-project/scst/pull/145.
-
Gleb Chesnokov authored
Commit 9be09fd6 ("scst/include/backport.h: Fix building on RHEL 8.8") fixed the build for RHEL 8.8, but at the same time, it broke the build for RHEL 9.0.
-
Gleb Chesnokov authored
Simplify the script by removing an unnecessary call to `echo`.
-
- 05 Apr, 2023 3 commits
-
-
Gleb Chesnokov authored
Introduce a new GitHub action that automatically runs the checkpatch.pl script upon each push to the repository.
-
Gleb Chesnokov authored
Enhance the mail notification GitHub action by including the commit message in the job name.
-
Gleb Chesnokov authored
set-output is being deprecated: "Starting 1st June 2023 workflows using save-state or set-output commands via stdout will fail with an error." So fix this by using the GITHUB_OUTPUT environment files instead.
-
- 04 Apr, 2023 2 commits
-
-
Gleb Chesnokov authored
This patch fixes the following checkpatch warnings: ERROR:TRAILING_WHITESPACE: trailing whitespace.
-
Gleb Chesnokov authored
This patch fixes the following checkpatch warnings: WARNING:SPACE_BEFORE_TAB: please, no space before tabs.
-
- 03 Apr, 2023 1 commit
-
-
Robert Blackhart authored
This fixes a compilation issue with RHEL 8.8 in scst/include/backport.h. This is the same issue as was seen for RHEL 8.7 in #77
-
- 31 Mar, 2023 3 commits
-
-
Gleb Chesnokov authored
This patch reduces code duplication. This patch does not change any functionality.
-
Gleb Chesnokov authored
A system hang was observed with the following call trace: BUG: kernel NULL pointer dereference, address: 0000000000000000 PGD 0 P4D 0 Oops: 0000 [#1] PREEMPT SMP NOPTI CPU: 15 PID: 86747 Comm: nvme Kdump: loaded Not tainted 6.2.0+ #1 Hardware name: Dell Inc. PowerEdge R6515/04F3CJ, BIOS 2.7.3 03/31/2022 RIP: 0010:__wake_up_common+0x55/0x190 Code: 41 f6 01 04 0f 85 b2 00 00 00 48 8b 43 08 4c 8d 40 e8 48 8d 43 08 48 89 04 24 48 89 c6\ 49 8d 40 18 48 39 c6 0f 84 e9 00 00 00 <49> 8b 40 18 89 6c 24 14 31 ed 4c 8d 60 e8 41 8b 18 f6 c3 04 75 5d RSP: 0018:ffffb05a82afbba0 EFLAGS: 00010082 RAX: 0000000000000000 RBX: ffff8f9b83a00018 RCX: 0000000000000000 RDX: 0000000000000001 RSI: ffff8f9b83a00020 RDI: ffff8f9b83a00018 RBP: 0000000000000001 R08: ffffffffffffffe8 R09: ffffb05a82afbbf8 R10: 70735f7472617473 R11: 5f30307832616c71 R12: 0000000000000001 R13: 0000000000000003 R14: 0000000000000000 R15: 0000000000000000 FS: 00007f815cf4c740(0000) GS:ffff8f9eeed80000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 000000010633a000 CR4: 0000000000350ee0 Call Trace: <TASK> __wake_up_common_lock+0x83/0xd0 qla_nvme_ls_req+0x21b/0x2b0 [qla2xxx] __nvme_fc_send_ls_req+0x1b5/0x350 [nvme_fc] nvme_fc_xmt_disconnect_assoc+0xca/0x110 [nvme_fc] nvme_fc_delete_association+0x1bf/0x220 [nvme_fc] ? nvme_remove_namespaces+0x9f/0x140 [nvme_core] nvme_do_delete_ctrl+0x5b/0xa0 [nvme_core] nvme_sysfs_delete+0x5f/0x70 [nvme_core] kernfs_fop_write_iter+0x12b/0x1c0 vfs_write+0x2a3/0x3b0 ksys_write+0x5f/0xe0 do_syscall_64+0x5c/0x90 ? syscall_exit_work+0x103/0x130 ? syscall_exit_to_user_mode+0x12/0x30 ? do_syscall_64+0x69/0x90 ? exit_to_user_mode_loop+0xd0/0x130 ? exit_to_user_mode_prepare+0xec/0x100 ? syscall_exit_to_user_mode+0x12/0x30 ? do_syscall_64+0x69/0x90 ? syscall_exit_to_user_mode+0x12/0x30 ? do_syscall_64+0x69/0x90 entry_SYSCALL_64_after_hwframe+0x72/0xdc RIP: 0033:0x7f815cd3eb97 The IOCB counts are out of order and that would block any commands from going out and subsequently hang the system. Synchronize the IOCB count to be in correct order. Fixes: 5f63a163ed2f ("scsi: qla2xxx: Fix exchange oversubscription for management commands") Cc: stable@vger.kernel.org Signed-off-by:
Quinn Tran <qutran@marvell.com> Signed-off-by:
Nilesh Javali <njavali@marvell.com> Link: https://lore.kernel.org/r/20230313043711.13500-3-njavali@marvell.com Reviewed-by:
Himanshu Madhani <himanshu.madhani@oracle.com> Reviewed-by:
John Meneghini <jmeneghi@redhat.com> Tested-by:
Lin Li <lilin@redhat.com> Signed-off-by:
Martin K. Petersen <martin.petersen@oracle.com> [ commit d3affdeb400f upstream ]
-
Gleb Chesnokov authored
While adding and removing the controller, the following call trace was observed: WARNING: CPU: 3 PID: 623596 at kernel/dma/mapping.c:532 dma_free_attrs+0x33/0x50 CPU: 3 PID: 623596 Comm: sh Kdump: loaded Not tainted 5.14.0-96.el9.x86_64 #1 RIP: 0010:dma_free_attrs+0x33/0x50 Call Trace: qla2x00_async_sns_sp_done+0x107/0x1b0 [qla2xxx] qla2x00_abort_srb+0x8e/0x250 [qla2xxx] ? ql_dbg+0x70/0x100 [qla2xxx] __qla2x00_abort_all_cmds+0x108/0x190 [qla2xxx] qla2x00_abort_all_cmds+0x24/0x70 [qla2xxx] qla2x00_abort_isp_cleanup+0x305/0x3e0 [qla2xxx] qla2x00_remove_one+0x364/0x400 [qla2xxx] pci_device_remove+0x36/0xa0 __device_release_driver+0x17a/0x230 device_release_driver+0x24/0x30 pci_stop_bus_device+0x68/0x90 pci_stop_and_remove_bus_device_locked+0x16/0x30 remove_store+0x75/0x90 kernfs_fop_write_iter+0x11c/0x1b0 new_sync_write+0x11f/0x1b0 vfs_write+0x1eb/0x280 ksys_write+0x5f/0xe0 do_syscall_64+0x5c/0x80 ? do_user_addr_fault+0x1d8/0x680 ? do_syscall_64+0x69/0x80 ? exc_page_fault+0x62/0x140 ? asm_exc_page_fault+0x8/0x30 entry_SYSCALL_64_after_hwframe+0x44/0xae The command was completed in the abort path during driver unload with a lock held, causing the warning in abort path. Hence complete the command without any lock held. Reported-by:
Lin Li <lilin@redhat.com> Tested-by:
Lin Li <lilin@redhat.com> Cc: stable@vger.kernel.org Signed-off-by:
Nilesh Javali <njavali@marvell.com> Link: https://lore.kernel.org/r/20230313043711.13500-2-njavali@marvell.com Reviewed-by:
Himanshu Madhani <himanshu.madhani@oracle.com> Reviewed-by:
John Meneghini <jmeneghi@redhat.com> Signed-off-by:
Martin K. Petersen <martin.petersen@oracle.com> [ commit 0367076b0817 upstream ]
-
- 20 Mar, 2023 1 commit
-
-
Brian Meagher authored
Since cluster_mode relies upon the t10_dev_id to generate a namespace, once cluster_mode is set the t10_dev_id can no longer be changed. However, because cluster_mode is listed as one of the various add_dev_params, this meant that it would be set earlier than t10_dev_id when scstadmin processes scst.conf Rectify by adding t10_dev_id to fileio_add_dev_params, etc and modifying the SCST.pm openDevice so that cluster_mode is set last.
-
- 13 Mar, 2023 12 commits
-
-
Gleb Chesnokov authored
Commit 44c57f205876 ("scsi: qla2xxx: Changes to support FCP2 Target") added support for FC2 Targets. Unfortunately, there are older setups which break with this new feature enabled. Allow to disable it via module option. Link: https://lore.kernel.org/r/20230208152014.109214-1-dwagner@suse.de Signed-off-by:
Daniel Wagner <dwagner@suse.de> Reviewed-by:
Himanshu Madhani <himanshu.madhani@oracle.com> Signed-off-by:
Martin K. Petersen <martin.petersen@oracle.com> [ commit 877b03795fcf upstream ]
-
Gleb Chesnokov authored
Variable wwn is not used. Delete it. drivers/scsi/qla2xxx/qla_init.c:1657:6: warning: variable 'wwn' set but not used. Link: https://lore.kernel.org/r/20230207052234.24535-1-jiapeng.chong@linux.alibaba.com Reported-by:
Abaci Robot <abaci@linux.alibaba.com> Signed-off-by:
Jiapeng Chong <jiapeng.chong@linux.alibaba.com> Signed-off-by:
Martin K. Petersen <martin.petersen@oracle.com> [ commit d48a62381a73 upstream ]
-
Gleb Chesnokov authored
A logical evaluation of type (!A || A && B) can be simplified as (!A || B). Improvement by suggested by excluded_middle.cocci Coccinelel semantic patch. Link: https://lore.kernel.org/r/Y7+oJuah0MgEW0PQ@ubun2204.myguest.virtualbox.org Signed-off-by:
Deepak R Varma <drv@mailo.com> Reviewed-by:
Himanshu Madhani <himanshu.madhani@oracle.com> Signed-off-by:
Martin K. Petersen <martin.petersen@oracle.com> [ commit 5a5ef64f28ed upstream ]
-
Gleb Chesnokov authored
Smatch reports: drivers/scsi/qla2xxx/qla_mid.c:1189:6: warning: symbol 'qla_trim_buf' was not declared. Should it be static? drivers/scsi/qla2xxx/qla_mid.c:1221:6: warning: symbol '__qla_adjust_buf' was not declared. Should it be static? These functions are only used in qla_mid.c, so they should be static. Fixes: 1f8f9c34127e ("scsi: qla2xxx: edif: Reduce memory usage during low I/O") Signed-off-by:
Tom Rix <trix@redhat.com> Link: https://lore.kernel.org/r/20230114013724.3943580-1-trix@redhat.com Signed-off-by:
Martin K. Petersen <martin.petersen@oracle.com> [ commit 54c51253b3d5 upstream ]
-
Gleb Chesnokov authored
Printing a size_t value that is the result of the sizeof() operator requires using the %z format string modifier to avoid a warning on 32-bit architectures: drivers/scsi/qla2xxx/qla_mid.c: In function 'qla_create_buf_pool': drivers/scsi/qla2xxx/qla_mid.c:1094:51: error: format '%ld' expects argument of type 'long int', but argument 5 has type 'unsigned int' [-Werror=format=] 1094 | "Failed to allocate buf_map(%ld).\n", sz * sizeof(unsigned long)); | ~~^ ~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | | long int unsigned int | %d Fixes: 82d8dfd2a238 ("scsi: qla2xxx: edif: Fix performance dip due to lock contention") Signed-off-by:
Arnd Bergmann <arnd@arndb.de> Reviewed-by:
Bart Van Assche <bvanassche@acm.org> Reviewed-by:
Himanshu Madhani <himansnhu.madhani@oracle.com <mailto:himansnhu.madhani@oracle.com>> Reviewed-by:
Nick Desaulniers <ndesaulniers@google.com> Link: https://lore.kernel.org/r/20230117170029.2387516-1-arnd@kernel.org Signed-off-by:
Martin K. Petersen <martin.petersen@oracle.com> [ commit d794a23113b1 upstream ]
-
Gleb Chesnokov authored
Signed-off-by:
Nilesh Javali <njavali@marvell.com> Signed-off-by:
Martin K. Petersen <martin.petersen@oracle.com> [ commit f7d1ba350fb3 upstream ]
-
Gleb Chesnokov authored
Commit ccf2e9c8fab7 ("qla2x00t-32gbit: Select qpair depending on which CPU post_cmd() gets called") introduced an optimization based on the pci_irq_get_affinity() API. Due to support for older kernel versions, limit the minimum kernel version to use this optimization to v4.9. See also commit ee8d41e53efe ("pci/msi: Retrieve affinity for a vector") # v4.9.
-
Gleb Chesnokov authored
In current I/O path, Tx and Rx may not be processed on same CPU. This may lead to thrashing and optimum performance may not be achieved. Pick qpair such that Tx and Rx are processed on same CPU. Signed-off-by:
Shreyas Deodhar <sdeodhar@marvell.com> Signed-off-by:
Nilesh Javali <njavali@marvell.com> Signed-off-by:
Martin K. Petersen <martin.petersen@oracle.com> [ commit 1d201c81d4cc upstream ]
-
Gleb Chesnokov authored
clang warning: drivers/scsi/qla2xxx/qla_edif_bsg.h:93:12: warning: field remote_pid within 'struct app_pinfo_req' is less aligned than 'port_id_t' and is usually due to 'struct app_pinfo_req' being packed, which can lead to unaligned accesses [-Wunaligned-access] port_id_t remote_pid; ^ 2 warnings generated. Remove u32 field in remote_pid to silence warning. Reported-by:
kernel test robot <lkp@intel.com> Fixes: 7ebb336e45ef ("scsi: qla2xxx: edif: Add start + stop bsgs") Signed-off-by:
Quinn Tran <qutran@marvell.com> Signed-off-by:
Nilesh Javali <njavali@marvell.com> Signed-off-by:
Martin K. Petersen <martin.petersen@oracle.com> [ commit 2f5fab1b6c3a upstream ]
-
Gleb Chesnokov authored
For edif, each I/O requires a secondary buffer to carry the FCP cmnd. During high traffic time, these buffers are cached in the qpair. As traffic dies down, these buffers will be trimmed as needed. If traffic is reduced to none over 2 consecutive intervals, then these buffers will be further trimmed. Free FCP cmnd buffers to reduce memory usage during slow I/O time. Signed-off-by:
Quinn Tran <qutran@marvell.com> Signed-off-by:
Nilesh Javali <njavali@marvell.com> Signed-off-by:
Martin K. Petersen <martin.petersen@oracle.com> [ commit 1f8f9c34127e upstream ]
-
Gleb Chesnokov authored
For N2N, qla2x00_wait_for_sess_deletion call flushes a session which accidentally clear the scan_flag and thus prevents re-login to occur and causes session to stall. Use session delete to avoid the accidental clearing of scan_flag. Signed-off-by:
Quinn Tran <qutran@marvell.com> Signed-off-by:
Nilesh Javali <njavali@marvell.com> Signed-off-by:
Martin K. Petersen <martin.petersen@oracle.com> [ commit 129a7c40294f upstream ]
-
Gleb Chesnokov authored
User experienced performance dip on measuring IOPS while EDIF enabled. During I/O time, driver uses dma_pool_zalloc() call to allocate a chunk of memory. This call contains a lock behind the scene which contribute to lock contention. Save the allocated memory for reuse and avoid the lock. Signed-off-by:
Quinn Tran <qutran@marvell.com> Signed-off-by:
Nilesh Javali <njavali@marvell.com> Reviewed-by:
Himanshu Madhani <himanshu.madhani@oracle.com> Signed-off-by:
Martin K. Petersen <martin.petersen@oracle.com> [ commit 82d8dfd2a238 upstream ]
-
- 12 Mar, 2023 7 commits
-
-
Gleb Chesnokov authored
Building SCST with an old version of GCC (e.g. 4.8.5 on Centos 7.X) produces a warning about using initializer. This is GCC bug # 53119: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119 Hence, use memset() instead of an initializer to avoid this warning. Fixes: e8b300ef ("usr/fileio/common.c: Fix use of uninitialized struct field")
-
Gleb Chesnokov authored
-
Gleb Chesnokov authored
There is no functional change in this patch. VP map resource is renamed and relocated so it is not viewed as just a target mode resource. Signed-off-by:
Quinn Tran <qutran@marvell.com> Signed-off-by:
Nilesh Javali <njavali@marvell.com> Reviewed-by:
Himanshu Madhani <himanshu.madhani@oracle.com> Signed-off-by:
Martin K. Petersen <martin.petersen@oracle.com> [ commit 430eef03a763 upstream ]
-
Gleb Chesnokov authored
Remove stale/unused code (GNN ID). Signed-off-by:
Quinn Tran <qutran@marvell.com> Signed-off-by:
Nilesh Javali <njavali@marvell.com> Reviewed-by:
Himanshu Madhani <himanshu.madhani@oracle.com> Signed-off-by:
Martin K. Petersen <martin.petersen@oracle.com> [ commit 87f6dafd50fb upstream ]
-
Gleb Chesnokov authored
Remove stale unused code for GPNID. Signed-off-by:
Quinn Tran <qutran@marvell.com> Signed-off-by:
Nilesh Javali <njavali@marvell.com> Reviewed-by:
Himanshu Madhani <himanshu.madhani@oracle.com> Signed-off-by:
Martin K. Petersen <martin.petersen@oracle.com> [ commit b9d87b60aaeb upstream ]
-
Gleb Chesnokov authored
Removing drport field and FCPORT_UPDATE_NEEDED signals. Signed-off-by:
Quinn Tran <qutran@marvell.com> Signed-off-by:
Nilesh Javali <njavali@marvell.com> Reviewed-by:
Himanshu Madhani <himanshu.madhani@oracle.com> Signed-off-by:
Martin K. Petersen <martin.petersen@oracle.com> [ commit efd1bd12a04d upstream ]
-
Gleb Chesnokov authored
Signed-off-by:
Nilesh Javali <njavali@marvell.com> Reviewed-by:
Himanshu Madhani <himanshu.madhani@oracle.com> Signed-off-by:
Martin K. Petersen <martin.petersen@oracle.com> [ commit f590c2554c77 upstream ]
-