Re: [PATCH v3 0/4] scsi: ufs & ums-* & esp_scsi: fix module reference counting

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

 



2015-01-12 18:36 GMT+09:00 Christoph Hellwig <hch@xxxxxx>:
> On Sun, Jan 11, 2015 at 10:50:02PM +0900, Akinobu Mita wrote:
>> While accessing a scsi_device, the use count of the underlying LLDD module
>> is incremented.  The module reference is retrieved through .module field of
>> struct scsi_host_template.
>>
>> This mapping between scsi_device and underlying LLDD module works well
>> except ufs, unusual usb storage drivers, and sub drivers for esp_scsi.
>> These drivers consist with core driver and actual LLDDs, and
>> scsi_host_template is defined in the core driver.  So the actual LLDDs can
>> be unloaded even if the scsi_device is being accessed.
>>
>> This patch series first adds ability to adjust module reference for
>> scsi host by LLDDs and then fixes actual LLDDs by adjusting module
>> reference after scsi host allocation.
>
> Why don't we move the module into the Scsi_Host only, and use
> the same macro that passes THIS_MODULE trick you are using in
> the sub drivers?  That seems to be a fairly common scheme in other
> subsystems as well.

Sure, we can take this approach.  But ata drivers require more changes for
it because ata drivers don't call scsi_host_alloc() directly so we need to
pass THIS_MODULE to a variety of init functions() provided by libata.

While looking through ata drivers, I found that libahci_platform sub-drivers
and pata_of_platform driver also have module reference mismatch problem.  So
ata drivers need to be touched anyway.  I'll update this patch series with
the new approach.
--
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



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux