mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-18 19:21:26 +00:00
3b23f6d223e064f6105f3319e1249ff73e7ecbbf
Cleanup: eliminate a superfluous cast and unnest an if-statement and I/O context creation and cleanup in SCST command-processing threads is protected by io_context_mutex. The patch below changes that mutex from a single mutex for all command threads to one mutex per thread pool. + Two quickly succeeding command thread management actions, e.g. setting both threads_num and threads_pool_type via scst.conf, can trigger the bug mentioned below. That bug can be triggered because kthread_stop() can stop a thread before it has started. So it can happen that an I/O context is created inside scst_cmd_thread() but not cleaned up because the thread for which p_cmd_threads->nr_threads == 1would evaluate to true is never started. The patch below fixes this by guaranteeing that if an I/O context has been created for a thread pool that it gets cleaned up too. Signed-off-by: Bart Van Assche <bvanassche@acm.org> with fixes/cleanups git-svn-id: http://svn.code.sf.net/p/scst/svn/branches/2.0.0.x@3153 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This is the SCST development repository. It contains not a single project SCST as one can think, but a number of them, which are divided as the following: 1. SCST core in scst/ subdirectory 2. Administration utility for SCST core scstadmin in scstadmin/ 3. Target drivers in own subdirectories qla2x00t/, iscsi-scst/, etc. 4. User space programs in usr/ subdirectory, like fileio_tgt. 5. Some various docs in doc/ subdirectory. Those subprojects are in most cases independent from each other, although some of them depend from the SCST core. They put in the single repository only to simplify their development, they are released independently. Thus, use "make all" only if you really need to build everything. Otherwise build only what you need, like for iSCSI-SCST: make scst scst_install iscsi iscsi_install For more information about each subproject see their README files. 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%