after crash: abort: 00changelog.i at ...: no mode
Matt Mackall
mpm at selenic.com
Mon Aug 17 19:59:16 UTC 2009
On Sun, 2009-08-16 at 19:14 +0200, Lasse Kliemann wrote:
> * Message by -Benoit Boissinot- from Sun 2009-08-16:
> > On Sun, Aug 16, 2009 at 4:32 PM, Lasse
> > Kliemann<lasse-list-mercurial-2009 at mail.plastictree.net> wrote:
> > > I did some crash tests running 'hg ci' on a large changeset and
> > > pulling the plug or switching off the computer during the
> > > process. Then I power the system back on, replay the log or run
> > > fsck and then see in which state the repository is. The goal was
> > > mainly to compare JFS to EXT3 on Linux.
> > >
> > [snip hg breaking with JFS]
> > >
> > > What do you think? Can this only be the result of a filesystem
> > > bug, or could it be that Mercurial is doing something wrong or
> > > did do something wrong?
> >
> > Mercurial doesn't always issue fsync after every step, I think there
> > was a thread a couple of months ago about that, and why it won't
> > change.
> >
> > But it might be a FS bug too, it depends of the kind of error you have.
>
> JFS doesn't seem to like being crashed. Independently of
> Mercurial, I saw text files that suddenly contain binary data
> after a crash, e.g., '~/.viminfo' is often a victim of this.
>
> I also saw 'fsck.jfs' segfaulting. I saw 'fsck.jfs' fixing an
> error, then claiming "filesystem clean". On a second consecutive
> run, it found another error, fixed it, and said "filesystem
> clean" again.
>
> I'm a bit startled, since everyone claimes JFS being rock-solid.
(putting on my kernel hacker hat)
Not sure who this everyone is, but the number of JFS users in the world
is a small fraction of a percent of ext3 users. There aren't many
reasons one would want to run JFS on a smaller system, so it's primarily
getting used in data centers with enterprise kernels and huge uptimes
rather than laptops with nVidia drivers and flaky suspend. So it's not
getting much abuse at all.
If you want a heavily field-tested filesystem other than ext3, your
choices are XFS (still a small fraction of the ext3 install base) and
maybe ext4 (which is beginning to show up as a distro default).
Personally, I would stick with ext3 for now unless there's a really
pressing reason to use something different and wait until btrfs shows up
in distros as it seems destined to become the defacto Linux filesystem
in the near future.
--
http://selenic.com : development and support for Mercurial and Linux
More information about the Mercurial
mailing list