Re: [PATCH 86/86] libata: add private driver field to struct ata_device

Jeff Garzik
2009-12-03T08:04:37Z

On 11/25/2009 12:12 PM, Bartlomiej Zolnierkiewicz wrote:
> From: Bartlomiej Zolnierkiewicz<bzolnier@gmail.com>
> Subject: [PATCH] libata: add private driver field to struct ata_device
>
> This brings struct ata_device in-line with struct ata_{port,host}.
>
> Signed-off-by: Bartlomiej Zolnierkiewicz<bzolnier@gmail.com>
> ---
> include/linux/libata.h | 1 +
> 1 file changed, 1 insertion(+)
>
> Index: b/include/linux/libata.h
> ===================================================================
> --- a/include/linux/libata.h
> +++ b/include/linux/libata.h
> @@ -585,6 +585,7 @@ struct ata_device {
> unsigned int horkage; /* List of broken features */
> unsigned long flags; /* ATA_DFLAG_xxx */
> struct scsi_device *sdev; /* attached SCSI device */
> + void *private_data;
> #ifdef CONFIG_ATA_ACPI
> acpi_handle acpi_handle;
> union acpi_object *gtf_cache;

I'm fine with this, and would like to merge this sooner rather than later.

However, BIG FAT WARNING: you must take special care to be sure you
don't leak as devices appear and disappear, etc. IOW, watch your object
lifetimes carefully. Object lifetime was the reason this was not added
until now.