cciss: Use one scan thread per controller and fix hang during rmmod
authorAndrew Patterson <andrew.patterson@hp.com>
Thu, 17 Sep 2009 18:46:58 +0000 (13:46 -0500)
committerJens Axboe <jens.axboe@oracle.com>
Thu, 1 Oct 2009 19:15:41 +0000 (21:15 +0200)
commitb368c9dd65984d1860b97bff77644c0e3e46df96
tree003e31b2bb29eff630c3c156e08f4eaea7d7b6e2
parentc64bebcd7f33a6260b6d4c9999f797a633a3fa1c
cciss: Use one scan thread per controller and fix hang during rmmod

Replace the use of one scan kthread per controller with one per driver.
Use a queue to hold a list of controllers that need to be rescanned with
routines to add and remove controllers from the queue.

Fix locking and completion handling to prevent a hang during rmmod.

Signed-off-by: Andrew Patterson <andrew.patterson@hp.com>
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Acked-by: Mike Miller <mike.miller@hp.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
drivers/block/cciss.c
drivers/block/cciss.h