Re: EXT3 File System Corruption 2.6.34

From: Török Edwin
Date: Tue Jun 08 2010 - 09:33:27 EST


On 06/08/2010 02:14 PM, Theodore Tso wrote:
>
> If you pull the plug without fsyncing the file, you will end up with a zero-length file -- or possibly no file at all, even with data=ordered. If you really want to preserve data after pulling the power cord immediately after a write were the application hasn't done an fsync() or a sync() call, you can mount the file system with the mount option -o sync --- but then the performance will be horrible.
>
> It's all a tradeoff of what you think is important....
>

I think you should either get the old file, or the new file (if you
don't fsync), and not some random data from another file.
The manual entry for data=writeback only says that you may get old data
after a crash/recovery, not that you may get old/new data from *another*
file.

On the other hand I didn't specify any mount options, and I got
data=ordered. So is data=ordered the default or not?
Or does it depend whether you use ext3 or ext4 driver for ext3?

/etc/fstab has:
/dev/md3 / ext3 noatime,errors=remount-ro 0 1

and my ext* related config options:
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT23=y
CONFIG_EXT4_FS_XATTR=y
# CONFIG_EXT4_FS_POSIX_ACL is not set
# CONFIG_EXT4_FS_SECURITY is not set
# CONFIG_EXT4_DEBUG is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set

So I use the ext4 driver for the ext3 partition (I intended to convert
it to ext4 at some point, but didn't have time to do so yet).

This is with 2.6.34-00179-gdebb980 (drm-radeon-testing, which is
basically 2.6.34 + some radeon specific stuff).

Best regards,
--Edwin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/