scst: Queue tgt_dev free work on system_long_wq

scst_free_tgt_dev() waits until pending I/O commands have finished and hence
can take a while.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8487 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Bart Van Assche
2019-07-26 01:26:03 +00:00
parent 7c46bc3630
commit d9d4fe83c5
+4
View File
@@ -4584,7 +4584,11 @@ void scst_free_tgt_dev_rcu(struct rcu_head *rcu)
tgt_dev->a = scst_get();
percpu_ref_get(&tgt_dev->dev->refcnt);
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 36)
WARN_ON_ONCE(!schedule_work(&tgt_dev->free_work));
#else
WARN_ON_ONCE(!queue_work(system_long_wq, &tgt_dev->free_work));
#endif
}
/* Delete a LUN without generating a unit attention. */