mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-23 05:31:28 +00:00
Fix for bug reported by Gennadiy Nerubayev <parakie@gmail.com>. In some cases, e.g. with DRBD, bio->bi_end_io() can be called with IRQs disable which isn't appropriate for direct processing in SCST core. Switch to one of internal SCST threads in such cases.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@678 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -2338,7 +2338,7 @@ static inline void blockio_check_finish(struct scst_blockio_work *blockio_work)
|
||||
if (atomic_dec_and_test(&blockio_work->bios_inflight)) {
|
||||
blockio_work->cmd->completed = 1;
|
||||
blockio_work->cmd->scst_cmd_done(blockio_work->cmd,
|
||||
SCST_CMD_STATE_DEFAULT, SCST_CONTEXT_DIRECT_ATOMIC);
|
||||
SCST_CMD_STATE_DEFAULT, scst_estimate_context());
|
||||
kmem_cache_free(blockio_work_cachep, blockio_work);
|
||||
}
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user