Jeff Garzik wrote: > Brian King wrote: >> Currently, ipr does not support HDIO_GET_IDENTITY to SATA devices. >> An oops occurs if userspace attempts to send the command. Since hald >> issues the command, ensure we fail the ioctl in ipr. This is a >> temporary solution to the oops. Once the ipr libata EH conversion >> is upstream, ipr will fully support HDIO_GET_IDENTITY. >> >> Tested-by: Milton Miller <miltonm@xxxxxxx> >> Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> >> --- >> >> linux-2.6-bjking1/drivers/scsi/ipr.c | 6 +++++- >> 1 file changed, 5 insertions(+), 1 deletion(-) > > I was pretty happy with the rough draft of your EH conversion... where > does that stand now? Unfortunately, it sits in the pile of things I haven't had time to work on... There are two issues that I need to resolve before it can replace what is currently in mainline. 1. Since freeze() cannot be implemented like on a SATA HBA, this causes problems on port removal. Current removal procedure assumes it can just freeze the port and free up all command/DMA resources. Need to abort outstanding ops for SAS. This should be solvable with some libata-eh changes. 2. dev_res allocated memory (ata_port) gets freed on rphy_device_del, rather than on the last put, which causes ata_port to get freed too soon. Possible solution would be to free dev_res allocated memory on the last put rather than on device_del. The second problem was the one I got stuck on. Perhaps Tejun can chime in here... Would it be possible to change dev_res to free allocated memory on release rather than delete time? There is also the issue of HBA queue limits. Since each SATA rphy uses its own SCSI host, we lost host queue limit enforcement. I've implemented a request_limit in ipr in order to solve this for ipr, but this really does not scale well to lots of SATA devices, so we would probably need queue groups at the block level before moving libsas to the new API. -Brian -- Brian King Linux on Power Virtualization IBM Linux Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html