← Back to team overview

ecryptfs team mailing list archive

[Bug 317781] Re: Ext4 data loss

 

@Theodore:

If I understand correctly, ext3's data=ordered mode should make the
create/rename method safe even without fsync: after a crash either the
old or the new content is visible under the old name.  It is unsafe in
data=writeback mode, and the O_TRUNC method is always unsafe.

Now the problem is apparently due to ext4 not having ext3's data=ordered
behavior, by having delay-allocated data blocks written after journal
commit.  I believe most ext3 users who choose data=ordered over
data=writeback, like me, prefer this mode due to better data integrity
in the create/rename case above, not security concerns.

Some applications should be fixed to reduce updates and make use of
f*sync(), sure, but even given enough time, not all of them can be fixed
because some applications are simply too low-level to have any knowledge
on the importance of their output and thus the necessity to fsync().
Therefore, in the foreseeable future, many users will probably rely on
the integrity guarantees of ext3's data=ordered mode, even though it is
not specified by the POSIX spec.  If I want performance, I can lengthen
the journal commit interval to e.g. one minute, and fsync() is necessary
only when losing one minute's changes (NOT the whole file) is
unacceptable.

Does your patch get ext3's data=ordered behavior back entirely, when
this option is used?

-- 
Ext4 data loss
https://bugs.launchpad.net/bugs/317781
You received this bug notification because you are a member of eCryptfs,
which is subscribed to ecryptfs-utils in ubuntu.

Status in “ecryptfs-utils” source package in Ubuntu: Invalid
Status in “linux” source package in Ubuntu: Confirmed
Status in ecryptfs-utils in Ubuntu Jaunty: Invalid
Status in linux in Ubuntu Jaunty: Confirmed

Bug description:
I recently installed Kubuntu Jaunty on a new drive, using Ext4 for all my data.

The first time i had this problem was a few days ago when after a power loss ktimetracker's config file was replaced by a 0 byte version . No idea if anything else was affected.. I just noticed ktimetracker right away.

Today, I was experimenting with some BIOS settings that made the system crash right after loading the desktop. After a clean reboot pretty much any file written to by any application (during the previous boot) was 0 bytes.
For example Plasma and some of the KDE core config files were reset. Also some of my MySQL databases were killed...

My EXT4 partitions all use the default settings with no performance tweaks. Barriers on, extents on, ordered data mode..

I used Ext3 for 2 years and I never had any problems after power losses or system crashes.

Jaunty has all the recent updates except for the kernel that i don't upgrade because of bug #315006

ProblemType: Bug
Architecture: amd64
DistroRelease: Ubuntu 9.04
NonfreeKernelModules: nvidia
Package: linux-image-2.6.28-4-generic 2.6.28-4.6
ProcCmdLine: root=UUID=81942248-db70-46ef-97df-836006aad399 ro rootfstype=ext4 vga=791 all_generic_ide elevator=anticipatory
ProcEnviron:
 LANGUAGE=
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.28-4.6-generic
SourcePackage: linux



Follow ups