public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Andreas T.Auer" <andreas.t.auer_lkml_73537@ursus.ath.cx>
To: Alberto Gonzalez <info@gnebu.es>
Cc: Theodore Tso <tytso@mit.edu>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Ext4 and the "30 second window of death"
Date: Wed, 01 Apr 2009 01:22:19 +0200	[thread overview]
Message-ID: <49D2A5AB.1090704@ursus.ath.cx> (raw)
In-Reply-To: <200904010002.47077.info@gnebu.es>



On 01.04.2009 00:02 Alberto Gonzalez wrote:
> In fact, thinking about it, this option would be the ideal one for desktops 
> and especially laptops (servers running databases are a different thing). What 
> we need is that _no_ application uses fsync. The decision as to when the data 
> should be written to disk should be left to the filesystem. And then the user 
> can choose how often they want this to happen (every 5, 15, 30, 60... 
> seconds). So if Ext4 could have a "nofsync" mount option that would disable 
> fsync from applications (i.e, it wouldn't honor an fsync call), that would be 
> wonderful. But then of course we have to make sure that if the kernel crashes 
> (or there's a power-off, etc..), we will just lose the new data that hasn't 
> been written to disk, but the old data will still be there. So maybe this 
> could be achieved with mounting the filesystem with nofsync, nodelalloc? 
>
>   
You are always thinking about the few seconds/minutes of work you gonna
lose, but there are different situations, too.

E.g. your POP3 client receives a very important mail, saves it to disk,
uses fsync to make sure it is out and tells the server to delete it. If
you are gonna delay the fsync, you will have a long window in which the
mail can get lost instead of a minimum window. Or are there any POP3
clients, which can synchronize the mail-polling with a spinning a disk?

There are tasks that are not very important, that should not spin up the
disk and there are tasks, that might better do so. It is the preference
of the user, which tasks should or should not spin up the disk, but the
application developer has to decide globally, whether or not to use
fsync() and the filesystem can't even distinguish the tasks at all,
except that it receives fsyncs or not.

So fine-tuning the system to the ideal disk-writing policy is really
problematic, especially given a lot of different people turning knobs:
- different filesystem developers using different methods and default
behaviors, which can be changed by distros and sys admins.
- different applications trying to use or not use fsync() and other
methods to get the best policies for any kind of fs. Or the developers
are incompetent enough to expect features from the filesystem which are
not always given, whether trained by ext3 data=ordered or trained by
reiserfs or just bare of any better fs knowledge.
- different users having different preferences on what data is how
important, but usually they can not change the fsync-policy of the
applications.

Andreas


  reply	other threads:[~2009-03-31 23:37 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-29 10:24 Ext4 and the "30 second window of death" Alberto Gonzalez
2009-03-31 12:25 ` Theodore Tso
2009-03-31 12:52   ` Alberto Gonzalez
2009-03-31 13:45     ` Theodore Tso
2009-03-31 14:45       ` Alberto Gonzalez
2009-04-01  0:04         ` Theodore Tso
2009-04-01  1:14           ` Alberto Gonzalez
2009-03-31 22:02       ` Alberto Gonzalez
2009-03-31 23:22         ` Andreas T.Auer [this message]
2009-04-01  1:25           ` Alberto Gonzalez
2009-04-01  1:50           ` Theodore Tso
2009-04-01  5:20             ` Sitsofe Wheeler
2009-04-01 15:12               ` Matthew Garrett
2009-04-01 17:35                 ` Theodore Tso
2009-04-01 17:43                   ` Matthew Garrett
2009-04-01 21:21                     ` Ray Lee
2009-04-01 21:26                       ` Matthew Garrett
2009-04-02 11:25                       ` Sitsofe Wheeler
2009-04-02 18:22                     ` david
2009-04-02 18:29                       ` Matthew Garrett
2009-04-02 18:44                         ` david
2009-04-02 20:07                           ` Ray Lee
2009-04-02 20:59                             ` Andreas T.Auer
2009-04-02 23:38                               ` Theodore Tso
2009-04-03  0:00                                 ` Matthew Garrett
2009-04-03  7:33                                 ` Pavel Machek
2009-04-03  8:14                                 ` Andreas T.Auer
2009-04-02 22:36                           ` Bron Gondwana
2009-04-02 23:46                           ` Matthew Garrett
2009-04-03  0:55                             ` david
2009-04-03  1:06                               ` Matthew Garrett
2009-04-03  1:16                                 ` david
2009-04-03  1:19                                   ` Matthew Garrett
2009-04-03  1:24                                     ` david
2009-04-03  1:36                                       ` Matthew Garrett
2009-04-03  3:08                                         ` david
2009-04-03 13:42                                           ` Matthew Garrett
2009-04-03  4:54                                         ` Theodore Tso
2009-04-03 11:09                                           ` Sitsofe Wheeler
2009-04-03 13:07                                           ` Alberto Gonzalez
2009-04-03 13:45                                           ` Matthew Garrett
2009-04-02 18:34                       ` Nick Piggin
2009-04-02 18:38                         ` Matthew Garrett
2009-04-02 18:56                           ` Nick Piggin
2009-04-02 23:47                             ` Matthew Garrett
2009-04-03  0:59                               ` david
2009-04-03  1:09                                 ` Matthew Garrett
2009-04-03  1:17                                   ` david
2009-04-03  1:22                                     ` Matthew Garrett
2009-04-03  2:22                             ` Ric Wheeler
2009-04-02 21:47                         ` david
2009-04-06 21:32                     ` supporting laptops fs-semantic changes (was Re: Ext4 and the "30 second window of death") Linda Walsh
2009-04-02 11:37                   ` Ext4 and the "30 second window of death" Sitsofe Wheeler
2009-04-01  8:51             ` Andreas T.Auer
2009-04-03  7:13   ` Bojan Smojver
2009-04-05  4:07     ` Bojan Smojver
2009-04-05  4:51       ` Bojan Smojver
2009-04-05  5:41       ` Bojan Smojver
2009-04-05 17:27   ` Ed Tomlinson
  -- strict thread matches above, loose matches on Subject: below --
2009-04-05 18:13 Tomasz Chmielewski

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=49D2A5AB.1090704@ursus.ath.cx \
    --to=andreas.t.auer_lkml_73537@ursus.ath.cx \
    --cc=info@gnebu.es \
    --cc=linux-kernel@vger.kernel.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox