From: Christian Stroetmann <stroetmann@ontolinux.com>
To: Ted Ts'o <tytso@mit.edu>
Cc: linux-fsdevel <linux-fsdevel@vger.kernel.org>,
Neil Brown <neilb@suse.de>,
Olaf van der Spek <olafvdspek@gmail.com>
Subject: Re: Atomic non-durable file write API
Date: Fri, 24 Dec 2010 02:00:13 +0100 [thread overview]
Message-ID: <4D13F09D.4010703@ontolinux.com> (raw)
In-Reply-To: <20101224004825.GF12763@thunk.org>
On 24.12.2010 01:48, Ted Ts'o wrote:
> On Fri, Dec 24, 2010 at 01:30:05AM +0100, Christian Stroetmann wrote:
>>> Basically, file systems are not databases, and databases are not file
>>> systems. There seems to be an unfortunate tendency for application
>>> programmers to want to use file systems as databases, and they suffer
>>> as a result.
>> wrong, no suffer, quite contrary, take an approach like done with sqlite
> Fine, if you use sqlite, then you're not playing games with replacing
> file contents using rename, and you're using fsync. No problems.
>
> Unfortunately, there are lots of incompetently written applications
> out there. One of them, I can't remember whether it was using GNOME
> or KDE libraries (I blocked it out, it was so horrifying), used the
> standard GNOME and/or KDE libraries to implement a windows-style
> registry, with one small file for each variable. Unfortunately, there
> was a bug in the GNOME or KDE library where it screwed up the dirty
> flag test, and would rewrite and replace *every* *single* *small*
> *file* when the application exited.
I really do know what you want to say, despite that this example is
based on a bug in another system than the FS. But there will be other
examples, for sure.
> Sure, if you need to write the new file, fsync it, and then rename it
> in place, for every single of the several hundred state files, life is
> going to suck. But that's not the file system's fault, even though
> people tried to blame this on the file system.
>
> The problem is an incompetent userspace programmer that tried to use
> small files and file system calls when they should have used a
> database.
Yes, indeed.
>
>
> - Ted
> --
Thank you very much vor your time and explanations.
Christian Stroetmann
next prev parent reply other threads:[~2010-12-24 1:00 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-29 12:37 Atomic non-durable file write API Olaf van der Spek
2010-12-01 10:27 ` Olaf van der Spek
2010-12-06 16:45 ` Olaf van der Spek
2010-12-06 17:03 ` Randy Dunlap
2010-12-09 12:03 ` Olaf van der Spek
2010-12-16 12:22 ` Olaf van der Spek
2010-12-16 20:11 ` Ric Wheeler
2010-12-18 22:15 ` Calvin Walton
2010-12-19 16:39 ` Olaf van der Spek
2010-12-23 15:49 ` Olaf van der Spek
2010-12-23 21:51 ` Neil Brown
2010-12-23 22:22 ` Ted Ts'o
2010-12-24 0:30 ` Christian Stroetmann
2010-12-24 0:48 ` Ted Ts'o
2010-12-24 1:00 ` Christian Stroetmann [this message]
2010-12-24 9:51 ` Ted Ts'o
2010-12-24 11:14 ` Olaf van der Spek
2010-12-24 11:25 ` Christian Stroetmann
2010-12-25 3:15 ` Ted Ts'o
2010-12-25 10:41 ` Olaf van der Spek
2010-12-25 11:33 ` Nick Piggin
2010-12-25 15:24 ` Olaf van der Spek
2010-12-25 17:25 ` Nick Piggin
2010-12-26 15:08 ` Olaf van der Spek
2010-12-26 15:55 ` Boaz Harrosh
2010-12-26 16:02 ` Olaf van der Spek
2010-12-26 16:27 ` Boaz Harrosh
2010-12-26 18:26 ` Olaf van der Spek
2010-12-26 16:43 ` Nick Piggin
2010-12-26 18:51 ` Olaf van der Spek
2010-12-26 22:10 ` Ted Ts'o
2010-12-27 0:30 ` Christian Stroetmann
2010-12-27 1:04 ` Ted Ts'o
2010-12-27 1:30 ` Christian Stroetmann
2010-12-27 2:53 ` Ted Ts'o
2010-12-27 10:21 ` Olaf van der Spek
2010-12-27 11:07 ` Marco Stornelli
2010-12-27 15:30 ` Christian Stroetmann
2010-12-27 19:07 ` Olaf van der Spek
2010-12-27 19:30 ` Christian Stroetmann
2010-12-28 17:22 ` Olaf van der Spek
2010-12-28 20:59 ` Neil Brown
2010-12-28 22:00 ` Greg Freemyer
2010-12-28 22:06 ` Olaf van der Spek
2010-12-28 22:15 ` Greg Freemyer
2010-12-28 22:28 ` Olaf van der Spek
2010-12-28 22:35 ` Neil Brown
2010-12-29 11:05 ` Dave Chinner
2010-12-28 22:10 ` Olaf van der Spek
2010-12-28 22:31 ` Neil Brown
2010-12-28 22:54 ` Olaf van der Spek
2010-12-28 23:42 ` Ted Ts'o
2010-12-29 9:09 ` Olaf van der Spek
2010-12-29 15:30 ` Christian Stroetmann
2010-12-29 15:41 ` Olaf van der Spek
2010-12-29 16:30 ` Christian Stroetmann
2010-12-29 17:14 ` Olaf van der Spek
2010-12-30 0:50 ` Neil Brown
2011-01-07 14:23 ` Olaf van der Spek
2010-12-27 4:12 ` Nick Piggin
2010-12-27 11:48 ` Olaf van der Spek
2010-12-27 12:43 ` Olaf van der Spek
2010-12-28 0:45 ` Ted Ts'o
2010-12-24 11:21 ` Christian Stroetmann
2010-12-24 11:17 ` Olaf van der Spek
2010-12-24 11:29 ` Christian Stroetmann
2010-12-24 11:30 ` Olaf van der Spek
2010-12-25 21:40 ` Neil Brown
2010-12-23 22:43 ` Dave Chinner
2010-12-23 22:47 ` Ted Ts'o
2010-12-26 9:59 ` Amir Goldstein
2010-12-26 15:23 ` Olaf van der Spek
2010-12-26 16:52 ` Nick Piggin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D13F09D.4010703@ontolinux.com \
--to=stroetmann@ontolinux.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=neilb@suse.de \
--cc=olafvdspek@gmail.com \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.