LARGE single-system Cyrus installs?

Bron Gondwana brong at fastmail.fm
Tue Nov 20 00:04:23 EST 2007


On Tue, 20 Nov 2007 15:40:58 +1100, "Andrew McNamara" <andrewm at object-craft.com.au> said:
> >> In production releases of ZFS fsync() essentially triggers sync() (fixed in 
> >> Solaris Next).  
> [...]
> >Skiplist requires two fsync calls per transaction (single
> >untransactioned actions are also one transaction), and it
> >also locks the entire file for the duration of said 
> >transaction, so you can't have two writes happening at
> >once.  I haven't built Cyrus on our Solaris box, so I don't
> >know if it uses fcntl there, it certainly does on the Linux
> >systems, but it can fall back to flock if fcntl isn't
> >available.
> 
> Note that ext3 effectively does the same thing as ZFS on fsync() -
> because
> the journal layer is block based and does no know which block belongs
> to which file, the entire journal must be applied to the filesystem to
> achieve the expected fsync() symantics (at least, with data=ordered,
> it does).

Lucky we run reiserfs then, I guess...

Bron.
-- 
  Bron Gondwana
  brong at fastmail.fm



More information about the Info-cyrus mailing list