On Fri, 31 Oct 2008, Wietse Venema wrote:
would violate a basic requirement of Postfix (don't lose data after
fsync). Postfix updates existing files all the time: it updates
queue files as it marks recipients as done, and it updates mailbox
files as it appends mail.
If there is a response you may want to repost it here (with
permission) because submissions from non-members are silently
discarded here.
http://oss.sgi.com/projects/xfs/faq.html#nulls
Since XFS does not write data out immediately unless you tell it to
with fsync, an O_SYNC or O_DIRECT open (the same is true of other
filesystems), you are looking at an inode which was flushed out, but
whose data was not. Typically you'll find that the inode is not taking
any space since all it has is a size but no extents allocated (try
examining the file with the xfs_bmap(8) command).
I also searched for this. Every place said that "xfs may lose data if
fsync() wasn't done", but nobody says that "xfs will definitely keep
data if fsync() was done", the basic requirement of Postfix