[PATCH] aacraid: add support for FUA

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

 



Back in the beginning of last year we disabled mode page 8 and mode page
3f requests through device quirk bits instead of enhancing the driver to
respond to these mode pages because there was no apparent added value.

The Firmware that supports the new communication commands supports the
ability to force a write around of the adapter cache on a command by
command basis. In the attached patch we enable mode page 8 and 3f and
spoof the results as needed in order to *convince* the layers above to
submit writes with the FUA (Force Unit Attention) bit set if the file
system or application requires it, if the Firmware supports the write
through, or instead to submit a SYNCHRONIZE_CACHE if the Firmware does
not. The added value here is for file systems that benefit from this
functionality and for clustering or redundancy scenarios.

Caveats: By convince, we are responding with a minimal short 3 byte
content mode page 8, with only the data the SCSI layer needs and that we
can fill confidently. Applications that require the customarily larger
mode page 8 results may be confused by this(?). The FUA, or the
SYNCHRONIZE_CACHE only affect the cache on the controller. Our firmware
by default ensure that the underlying physical drives of the array have
their cache turned off so normally this is not a problem.

This attached patch is against current scsi-misc-2.6 and was unit tested
on RHEL5. Since this is a feature enhancement, it should not be
considered for any current stabilization efforts.

ObligatoryDisclaimer: Please accept my condolences regarding Outlook's
handling of patch attachments.

Signed-off-by: Mark Salyzyn <aacraid@xxxxxxxxxxx>

Sincerely -- Mark Salyzyn

> -----Original Message-----
> From: Mark Haverkamp [mailto:markh@xxxxxxxx] 
> Sent: Wednesday, February 01, 2006 12:31 PM
> To: linux-scsi; James Bottomley
> Cc: Salyzyn, Mark
> Subject: [PATCH 1/3] aacraid: reduce device probe warnings
> 
> Received from Mark Salyzyn.
> 
> This patch sets up some device quirks surrounding arrays to inform the
> scsi layer that various mode pages are not supported. This reduces the
> severity of the complaints that show up in the logs as the 
> array devices
> are enumerated.
> 
> Signed-off-by: Mark Haverkamp <markh@xxxxxxxx>
> --- scsi-misc-aac.orig/drivers/scsi/aacraid/linit.c	
> 2006-01-31 09:35:32.000000000 -0800
> +++ scsi-misc-aac/drivers/scsi/aacraid/linit.c	
> 2006-01-31 09:35:42.000000000 -0800
> @@ -386,6 +386,10 @@
>  static int aac_slave_configure(struct scsi_device *sdev)
>  {
>  	struct Scsi_Host *host = sdev->host;
> +	if (sdev_channel(sdev) == CONTAINER_CHANNEL) {
> +		sdev->skip_ms_page_8 = 1;
> +		sdev->skip_ms_page_3f = 1;
> +	}
>  
>  	if (sdev->tagged_supported)
>  		scsi_adjust_queue_depth(sdev, MSG_ORDERED_TAG, 128);
> 
> -- 
> Mark Haverkamp <markh@xxxxxxxx>

Attachment: aacraid_fua.patch
Description: aacraid_fua.patch


[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