I used to run XFS on my desktop a few years ago, and had quite a few instances of data corruption - its delayed allocation DOES seem to make problems like this more likely to occur than with other systems (I saw lots of NULs in corrupted files after a crash).
There's a mail from Chris Wedgwood (who seems to be one of the main XFS developers) in 2004 on the subject at http:// marc.theaimsgro up.com/ ?l=linux- xfs&m=109030382 432326& w=2
----- quote ------
sounds like:
old file foo on disk, all safe
new file bar is written metadata on disk, file
data in ram
[*]
rename bar to foo old file unlinked, new
file in place but data
not flushed yet
now, if there was an fsync at [*] it would work just fine
---- end quote ------
I had a look at the POSIX semantics for rename() at http:// www.opengroup. org/onlinepubs/ 009695399/ functions/ rename. html and there is no reference to the referenced file having been written to persistent storage. XFS only claims to follow POSIX semantics.
I used to run XFS on my desktop a few years ago, and had quite a few instances of data corruption - its delayed allocation DOES seem to make problems like this more likely to occur than with other systems (I saw lots of NULs in corrupted files after a crash).