Dan had these questions for GlusterFS: So I guess the first thing we want to know about the setup is whether or not posix locks can be considered barriers. i.e. assuming that SQLite always holds a SHARED posix lock on a particular range when reading the db file, and an EXCLUSIVE lock on the same range when writing, what is the answer to the following: When SQLite reads from the file, is it guaranteed that it will see all writes made to the file before the current lock (be it SHARED or EXCLUSIVE) was taken? Are locks also barriers for unlink()/access() calls? i.e. if a process holding an EXCLUSIVE lock unlinks a journal file, and then later on a process grabs a SHARED lock and uses access() to check for the existence of the journal file, is it guaranteed that it will find that there is no such file (i.e. will it see the results of the unlink() call). Does it affect either of the above when (or even if) fsync() is called by the process doing the writing or unlinking?