Re: [PATCH 1/1] ipr: Fix HDIO_GET_IDENTITY oops for SATA devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux