Re: LARGE single-system Cyrus installs?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>> 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).

-- 
Andrew McNamara, Senior Developer, Object Craft
http://www.object-craft.com.au/
----
Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux