← Back to team overview

ecryptfs team mailing list archive

[Bug 317781] Re: Ext4 data loss

 

"If you accept that it makes sense to allocate on rename commits for
overwrites of *existing* files, it follows that it makes sense to commit
on *all* renames."

Renaming a new file over an existing one carries the risk of destroying
*old* data.  If I create a new file and don't rename it to anything,
it's possible I will lose *the new file only*, on any filesystem (unless
I fsync()).  This is universally considered an acceptable risk: losing
up to a couple of minutes' work (but nothing earlier) in the event of a
system crash.  This is the exact risk carried by renaming a file to a
name that doesn't exist -- unless you gratuitously delete the old file
first, which is completely pointless on Unix and obviously destroys any
hope of atomicity (if the system crashes/app dies/etc. between delete
and rename).

"Only files for which atomicty matters are renamed that way -- which are
precisely the files that would get the commit-on-rename treatment in
other circumstances."

Virtually all users of this atomicity technique appear to rename over
the existing file, which is why almost all problems disappeared when
users applied Ted's patches.  Gaim only did otherwise as a flawed
attempt to work around a quirk of the Windows API, in a way that wasn't
atomic anyway, and that can be expected to be fixed in Gaim.

-- 
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