← Back to team overview

ecryptfs team mailing list archive

[Bug 317781] Re: Ext4 data loss

 

Theodore, you're a bright guy, but this really means that you can't use
EXT4 for anything at all.

fsync() is slow on many(most?) filesystems, and it grinds the entire
system to a halt.     What you're saying is that those applications have
to know the details of the filesystem implementation, and only call
fsync on ext4 where it's required and presumably isn't still just an
alias for sync().

In your set of examples, #1 (ftruncate/write) is just broken and I can
live with those applications dying.  If there's a sane way to protect
them from their own idiocy, that's fine.  I'd prefer they remain as a
guaranteed data loss so their bugs get fixed.  #2 (write/rename) should
be preserved.  The application writer is merely saying 'One or the other
of these should survive'.   That's lots of little things - AIM buddy
lists, desktop color, mp3 playlist position, firefox history - if every
single application that I have is required to fsync() before rename or
face guaranteed data loss of BOTH copies, that's a massive performance
hit.

>From a purely practical standpoint, you're not going to reverse about a
decade's worth of advice - I can't count the number of times I've been
told or seen people say "Write a temp file, rename over the other.  If
the system crashes, at worst you'll be left with the old copy.".  And if
that's a good enough guarantee, then non-critical applications should
make use of it.  I do NOT want everything constantly thrashing my disk
for every tiny update.  I can live with my browsing history losing my
most recent entry, or my playlist going back a few songs.  I can't live
with every desktop application that's done anything in the two minutes
prior to a crash having to be configured from scratch.

The fact that the standard says 'undefined' doesn't mean it's OK to
force every application to use a higher level guarantee then they
actually need.    If a crash happens and the rename doesn't go through,
that's good enough for 99% of what people do.

It sure beats essentially mounting your filesystem sync...

-- 
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: Fix Released
Status in ecryptfs-utils in Ubuntu Jaunty: Invalid
Status in linux in Ubuntu Jaunty: Fix Released

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