Does UFS2 send BIO_FLUSH to GEOM when update metadata (with softupdates)?

Lev Serebryakov lev at FreeBSD.org
Wed Nov 30 16:52:32 UTC 2011


Hello, Kirk.
You wrote 30 ноября 2011 г., 1:54:42:

>> > The FSYNC flag is useful. Most write requests are being done in
>> > background, so the delay is not an issue. But there are some write
>> > requests where the application is waiting and in those cases
>> > minimizing the delay is necessary and important.
>> 
>>   Yep. So, maybe we record this as conclusion from discussion and FS
>>  guys (you? Kostik?) add this (FSYNC flag fro "struct buf" in case of
>>  true FSYNC request) to TODO list? It doesn't look as much work for
>>  person, who understand FFS codebase well.

> When you say you want an FSYNC flag added to struct buf, what you
> ultimately want is that the BIO_FLUSH flag be set on the request
> handed down to the GEOM layer?
  BIO_FLUSH is additional transaction, not flag. If there will be
FSYNC flag on "struct buf" (passed from VFS level) GEOM could add this
transaction after BIO_WRITE one, or it could add its own flag (which
is not existent now) to BIO_WRITE transaction, what is better, because
it will be faster and will have smaller latency and will not need
special logic in drivers. Such flag will be translated directly to
special hardware flags by drivers, and BIO_FLUSH is processed
separately, which could be not so effective.

  Now GEOM doesn't have such flag, because it doesn't have any reasons
to have it :)

P.S. You don't add CC: to fs@ mailing list -- is it intentional?

-- 
// Black Lion AKA Lev Serebryakov <lev at FreeBSD.org>



More information about the freebsd-fs mailing list