[SCSI] fix scsi process problems and clean up the target reap issues
In order to use the new execute_in_process_context() API, you have to provide it with the work storage, which I do in SCSI in scsi_device and scsi_target, but which also means that we can no longer queue up the target reaps, so instead I moved the target to a state model which allows target_alloc to detect if we've received a dying target and wait for it to be gone. Hopefully, this should also solve the target namespace race. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Tento commit je obsažen v:

odevzdal
James Bottomley

rodič
1fa44ecad2
revize
ffedb45225
@@ -256,7 +256,9 @@ static void scsi_device_dev_release_usercontext(void *data)
|
||||
|
||||
static void scsi_device_dev_release(struct device *dev)
|
||||
{
|
||||
scsi_execute_in_process_context(scsi_device_dev_release_usercontext, dev);
|
||||
struct scsi_device *sdp = to_scsi_device(dev);
|
||||
execute_in_process_context(scsi_device_dev_release_usercontext, dev,
|
||||
&sdp->ew);
|
||||
}
|
||||
|
||||
static struct class sdev_class = {
|
||||
|
Odkázat v novém úkolu
Zablokovat Uživatele