[SCSI] zfcp: Flush SCSI registration work when adding unit
authorChristof Schmitt <christof.schmitt@de.ibm.com>
Tue, 13 Oct 2009 08:44:11 +0000 (10:44 +0200)
committerJames Bottomley <James.Bottomley@suse.de>
Thu, 22 Oct 2009 00:38:51 +0000 (09:38 +0900)
When configuring a LUN for use in zfcp, flush the SCSI work to ensure
the SCSI device has been created before returning. This means that a
configuration procedure can run these commands in a script and the
SCSI device is available immediately after the unit_add:

echo 1 > /sys/bus/ccw/drivers/zfcp/0.0.181d/online
echo 0x401040C300000000 > \
        /sys/bus/ccw/drivers/zfcp/0.0.181d/0x500507630313c562/unit_add
lsscsi

Reviewed-by: Swen Schillig <swen@vnet.ibm.com>
Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/s390/scsi/zfcp_sysfs.c

index 079a8cf518a3864e72a5d8d57031cbd4c2ba224f..d31000886ca8fcf357dc53786ed248161161a647 100644 (file)
@@ -224,6 +224,7 @@ static ssize_t zfcp_sysfs_unit_add_store(struct device *dev,
 
        zfcp_erp_unit_reopen(unit, 0, "syuas_1", NULL);
        zfcp_erp_wait(unit->port->adapter);
+       flush_work(&unit->scsi_work);
        zfcp_unit_put(unit);
 out:
        mutex_unlock(&zfcp_data.config_mutex);