>SQLite opens the directory so that it can fsync() it. It >wants to fsync() the directory after creating the journal file >to make sure that the inode for the journal file gets created >and updated properly. > >Some unix filesystems guarantee that inodes always get updated >correctly. Others do not. If the inodes are not updated >correctly and you take a power failure, the journal file name >might not appear in the /tmp folder, and unfinished changes >might therefore not get rolled back.
Perhaps this could be a behavior that is configurable based on the filesystem? I don't know if if would be done at compile time, or if it's more of a runtime parameter issue. I don't think it would matter either way when it's configured. Respectfully, Christopher