BIO_FLUSH on twe driver. Why is it not there?

Artem Kuchin matrix at itlegion.ru
Wed Oct 31 11:54:14 PDT 2007


Scott Long wrote:
> Artem Kuchin wrote:
>> 7-BETA1
>> gjournal complained that BIO_FLUSH is not supported by the driver.
>> That is twe driver.
>> However, twe is working via scsi subsystem and the authour of 
>> gjournal said somewhere that he
>> has had implemeneted BIO_FLISH for scsi and he specifically mentioned
>> that he has tested twe and twa and they both support BIO_FLUSH.
>> Then why BIO_FLISH is not supported now?
>> 
> 
> The twe driver does NOT operate under the SCSI subsystem.  As for
> flush semantics in SCSI, they are much better done with ordered tags,
> not explicit SYNC_CACHE commands.  That's not to say that SYNC_CACHE
> won't work (well, except for random devices that will hang with it in
> unpredictable ways, but no one seems to care about that little
> detail). Unfortunately, BIO_ORDERED was removed from the FreeBSD
> block layer several years ago.

How is this possible?

[QUOTE:]
URL:http://unix.derkeiler.com/Mailing-Lists/FreeBSD/current/2006-08/msg00179.html
DATE SOURCE: AUGUST 2006 freebsd-current maillis)
WHO: Pawel Jakub Dawidek 

Unfortunately I'm not able to implement BIO_FLUSH to all out storage
drivers. Currently BIO_FLUSH is supported by ata(4) (/dev/a[dr]X),
da(4) and amr(4).

That's the theory. I'm using standard SCSI commands for this. From the
tests we made it seems that it works ok with twa(4)/twe(4).
I'd still be glad if someone with SCSI/CAM foo could look at the code.
[ENDQUOTE]

So what changed since then?

--
Artem


More information about the freebsd-current mailing list