[SCSI] scsi_dh: Add a single threaded workqueue for initializing paths
authorChandra Seetharaman <sekharan@us.ibm.com>
Thu, 1 May 2008 21:50:22 +0000 (14:50 -0700)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Thu, 5 Jun 2008 14:23:41 +0000 (09:23 -0500)
commitbab7cfc733f4453a502b7491b9ee37b091440ec4
tree147e7f4bf901e6cfe55a3e2e08d5f3b174d88ccd
parentcfae5c9bb66325cd32d5f2ee41f14749f062a53c
[SCSI] scsi_dh: Add a single threaded workqueue for initializing paths

Before this patch set (SCSI hardware handlers), initialization of a
path was done asynchronously. Doing that requires a workqueue in each
device/hardware handler module and leads to unneccessary complication
in the device handler code, making it difficult to read the code and
follow the state diagram.

Moving that workqueue to this level makes the device handler code simpler.
Hence, the workqueue is moved to dm level.

A new workqueue is added instead of adding it to the existing workqueue
(kmpathd) for the following reasons:
1. Device activation has to happen faster, stacking them along
   with the other workqueue might lead to unnecessary delay
   in the activation of the path.
2. The effect could be felt the other way too. i.e the current
   events that are handled by the existing workqueue might get
   a delayed response.

Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com>
Acked-by: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/md/dm-mpath.c