svn commit: r307507 - head/sys/cam/scsi

Alexander Motin mav at FreeBSD.org
Mon Oct 17 08:51:55 UTC 2016


On 17.10.2016 11:45, Steven Hartland wrote:
> IIRC the timeout for this was intentionally lower than the default,
> might be worth just checking.

I did traced back the commit history, and it was hardcoded to that value
since the beginning 18 years ago.  Theoretically SYNCHRONIZE CACHE may
require even more time then WRITE, since nobody knows how big can be
write caches and how many writes are sitting there.

> On 17/10/2016 09:35, Alexander Motin wrote:
>> Author: mav
>> Date: Mon Oct 17 08:35:56 2016
>> New Revision: 307507
>> URL: https://svnweb.freebsd.org/changeset/base/307507
>>
>> Log:
>>   Consider device as clean even if SYNCHRONIZE CACHE failed.
>>   
>>   If device reservation was preempted by other initiator, our sync request
>>   will always fail.  Without this change CAM tried to sync cache on every
>>   following device close, including numerous GEOM tasting opens/closes,
>>   causing lots of useless noise in logs.
>>   
>>   While there, increase SYNCHRONIZE CACHE timeout to default value.
>>   
>>   MFC after:	2 weeks
>>
>> Modified:
>>   head/sys/cam/scsi/scsi_da.c
>>
>> Modified: head/sys/cam/scsi/scsi_da.c
>> ==============================================================================
>> --- head/sys/cam/scsi/scsi_da.c	Mon Oct 17 08:29:16 2016	(r307506)
>> +++ head/sys/cam/scsi/scsi_da.c	Mon Oct 17 08:35:56 2016	(r307507)
>> @@ -1488,12 +1488,11 @@ daclose(struct disk *dp)
>>  			scsi_synchronize_cache(&ccb->csio, /*retries*/1,
>>  			    /*cbfcnp*/dadone, MSG_SIMPLE_Q_TAG,
>>  			    /*begin_lba*/0, /*lb_count*/0, SSD_FULL_SIZE,
>> -			    5 * 60 * 1000);
>> +			    da_default_timeout * 1000);
>>  			error = cam_periph_runccb(ccb, daerror, /*cam_flags*/0,
>>  			    /*sense_flags*/SF_RETRY_UA | SF_QUIET_IR,
>>  			    softc->disk->d_devstat);
>> -			if (error == 0)
>> -				softc->flags &= ~DA_FLAG_DIRTY;
>> +			softc->flags &= ~DA_FLAG_DIRTY;
>>  			xpt_release_ccb(ccb);
>>  		}
>>  
>>
> 

-- 
Alexander Motin


More information about the svn-src-head mailing list