mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-17 02:31:27 +00:00
414805bb4d7b4e4f192ba8e38cf5f15556ca2dbf
This patch should fix the following bug: BUG: scheduling while atomic: ... ... Call Trace: <IRQ> dump_stack+0x6d/0x8b __schedule_bug.cold.94+0x4c/0x5a __schedule+0x51d/0x606 schedule+0x33/0x9a __lock_sock+0x7d/0xbc ? finish_wait+0x80/0x78 lock_sock_nested+0x64/0x66 do_tcp_setsockopt.isra.47+0x7d/0xbc4 ? scst_free_cmd+0x171/0x220 [scst] tcp_setsockopt+0x34/0x36 sock_common_setsockopt+0x1a/0x1c cmnd_tx_start+0x94/0x210 [iscsi_scst] iscsi_send+0x2cd/0x800 [iscsi_scst] iscsi_tcp_send_locally+0xe9/0x1f0 [iscsi_scst] ? iscsi_tcp_send_data_rsp+0x5a/0x90 [iscsi_scst] iscsi_xmit_response+0xfe/0x230 [iscsi_scst] scst_process_active_cmd+0x742/0x1740 [scst] ? try_to_wake_up+0x1dd/0x5ac scst_process_redirect_cmd+0x128/0x300 [scst] ? insert_work+0xa8/0xc2 scst_cmd_done_local+0x7f/0x100 [scst] ? rvmio_transfer_data+0xb0/0xb0 [scst_vdisk] fileio_async_complete+0x46/0x100 [scst_vdisk] iomap_dio_complete_work+0x29/0x2e iomap_dio_bio_end_io+0xed/0xff bio_endio+0xda/0x12e blk_update_request+0xea/0x3a1 scsi_end_request+0x30/0x111 scsi_io_completion+0x7c/0x4e1 ? virtscsi_remove+0xc0/0xc0 [virtio_scsi] scsi_finish_command+0xe7/0x11a scsi_softirq_done+0x75/0xde blk_done_softirq+0xa5/0xcd __do_softirq+0xe1/0x2e7 ? sched_clock+0x9/0xd irq_exit+0xf3/0xf8 do_IRQ+0x59/0xe0 common_interrupt+0xf/0x1d2 </IRQ> RIP: 0010:native_safe_halt+0x12/0x14 ...
Overview
This is the source code repository of the SCST project. SCST is a collection of Linux kernel drivers that implement SCSI target functionality. The SCST project includes:
- The SCST core in the scst/ subdirectory.
- A tool for loading, saving and modifying the SCST configuration in directory scstadmin/.
- Several SCSI target drivers in the directories iscsi-scst/, qla2x00t/, srpt/, scst_local/ and fcst/.
- User space programs in the usr/ subdirectory, e.g. fileio_tgt.
- Various documentation in the doc/ subdirectory.
Instructions for building and installing SCST are available in the INSTALL.md file.
QLogic target driver
Two QLogic target drivers are included in the SCST project.
The default driver is located in qla2x00t-32gbit directory and it supports up to 32 Gb/s FC. It is the newer one.
May anyone wish to switch back to the older driver that only supported up to
16 Gb/s adapters, it is located in qla2x00t directory. To make use of the
older driver build scst with environment variable QLA_32GBIT=no set.
Vladislav Bolkhovitin vst@vlnb.net, http://scst.sourceforge.net
Description
Languages
C
90.1%
Perl
4.2%
Shell
1.8%
HTML
1.7%
Makefile
1.2%
Other
0.9%