[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: RE24 testing (pre-testing on 2.4.27)

Aaron Richton wrote:
On Mon, 7 Nov 2011, Howard Chu wrote:

It seems that back-mdb really expects FDSYNC and fdatasync be available
on target system.  Currently FreeBSD does not have implemented these
semantics (yet).

I've made a workaround in the FreeBSD port to make it work; it would be
nice to have configure script test if FDSYNC and fdatasync is available
and make the corresponding workaround (FSYNC and fsync) if not so
building from source would just work.

You're welcome to submit appropriate patches for configure.in and any
affected code.

Do you envision issues with using msync() instead, across the board? I
would think that, given that back-mdb only makes sense when
_POSIX_MAPPED_FILES, msync would present a more portable way of getting to
the underlying fsync()/fdatasync() calls. (Heck, on Linux, it's just a
couple lines of error checking wrapping a vfs_fsync().)

msync is not applicable here. It's only relevant if changes are made using the mmap'd region, and we don't.

Xin: is msync() available on FreeBSD? You're mentioning fsync as the
proposed patch...

  -- Howard Chu
  CTO, Symas Corp.           http://www.symas.com
  Director, Highland Sun     http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP  http://www.openldap.org/project/