[Thomas Anderson]
I'm seeing changes to the ZODB getting lost on reboot. I think it's because there are no fsync() calls being issued by Zope or even by zopectl on stopping Zope but I can't be sure. I'm using /instance/bin/zopectl {start|stop} for controlling Zope.
I added a "sync" command to my /etc/init.d/umountfs script (Debian Woody) and this seems to have fixed the problem. I know postgresql syncs to disk for every transaction by default, does Zope?
ZODB does, as you can see in your installation's FileStorage.py FileStorage._finish method. Which version of Python are you using? If you're using one of the early 2.3 releases, that would explain it; from the NEWS file for Python 2.3.2: - A bug in the autoconf machinery meant that os.fsync was never available. 2.3.3 should be used now.