[Dovecot] Best filesystem?

Stan Hoeppner stan at hardwarefreak.com
Sat Jan 29 20:00:05 EET 2011


Nick Edwards put forth on 1/28/2011 9:47 PM:

> xfs is not very nice to you if you lose power, it's not as bad as it used to
> be, but it still gives you 0 byte files, so make sure you have a good UPS to
> issue a safe shutdown of the server, if you do, xfs is better, using CentOS.

It would be nice if you spoke from experience or documentation instead of rumor.
 I've been using XFS on Postfix/Dovecot servers for quite some time and have had
power loss on at least 2 occasions with zero data loss or FS corruption.  What
you state is factually incorrect.  Stop spreading XFS FUD please, Nick.

From: http://xfs.org/index.php/XFS_FAQ

"Q: Why do I see binary NULLS in some files after recovery when I unplugged the
power?

Update: This issue has been addressed with a CVS fix on the 29th March 2007 and
merged into mainline on 8th May 2007 for 2.6.22-rc1.

XFS journals metadata updates, not data updates. After a crash you are supposed
to get a consistent filesystem which looks like the state sometime shortly
before the crash, NOT what the in memory image looked like the instant before
the crash.

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)."


Note "the same is true of other filesystems".  Since 2007, XFS is no worse nor
better at handling power loss than any other journaling filesystem.  If power
loss is a frequent concern in any organization, using any filesystem, you had
best be fsync'ing all writes.  No filesystems today cause data loss due to power
loss.  Data loss due to power loss today is caused by the Linux buffer cache
having pending disk writes held in memory.  When the power goes, so do the
contents of RAM, so you loose that data.  This is filesystem independent.

-- 
Stan


More information about the dovecot mailing list