On Tue, Aug 15, 2006 at 03:39:51PM -0400, mark@xxxxxxxxxxxxxx wrote:
No. This is not true. Updating the file system structure (inodes, indirect blocks) touches a separate part of the disk than the actual data. If the file system structure is modified, say, to extend a file to allow it to contain more data, but the data itself is not written, then upon a restore, with a system such as ext2, or ext3 with writeback, or xfs, it is possible that the end of the file, even the postgres log file, will contain a random block of data from the disk. If this random block of data happens to look like a valid xlog block, it may be played back, and the database corrupted.
you're conflating a whole lot of different issues here. You're ignoring the fact that postgres preallocates the xlog segment, you're ignoring the fact that you can sync a directory entry, you're ignoring the fact that syncing some metadata (such as atime) doesn't matter (only the block allocation is important in this case, and the blocks are pre-allocated).
This is also wrong. fsck is needed because the file system is broken.
nope, the file system *may* be broken. the dirty flag simply indicates that the filesystem needs to be checked to find out whether or not it is broken.
I don't mean to be offensive, but I won't accept what you say, as it does not make sense with my understanding of how file systems work. :-)
<shrug> I'm not getting paid to convince you of anything. Mike Stone