cvs commit: src/sys/cam/scsi scsi_da.c

Nate Lawson nate at root.org
Fri Feb 2 21:32:23 UTC 2007


mjacob at freebsd.org wrote:
>> As long as it's specific to a known external device (USB), and the 
>> user knows that running some command (device_eject umass0) will make 
>> sure it's safe, I'm ok.
> 
> Mmm.
> 
>>>> From a silly semantic point of view to get around this, we should still 
>>> support and require SYNC_CACHE on close except where devices don't 
>>> support it (and any device that hangs on a SYNC_CACHE doesn't support 
>>> it- period). On detach, devices that still need to have data commited 
>>> via an opcode that looks remarkably like SYNC_CACHE can and should 
>>> have that happen- with all the infrastructure changes that go along 
>>> with allowing devices to be detached (w/o complaint) with a live 
>>> command.
>>>
>>> Or have I missed something it what you're suggesting?
>>
>> Actually, that's a different idea I had where you set a timeout() 
>> before running SYNC_CACHE, then cancel the command if it hangs.  Not 
>> sure how to implement the idea of a cancellable device call but maybe 
>> by creating a temporary thread?
> 
> Why not just quiet SYNC_CACHE timeouts?

That's for a device that still works after a timeout.  Something about 
either GEOM, CAM, or USB hangs (or loops infinitely) and refuses to 
continue the boot if the device times out.

-- 
Nate


More information about the freebsd-scsi mailing list