From: Valdis.Kletnieks@vt.edu
To: "D. Jansen" <d.g.jansen@googlemail.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
linux-kernel@vger.kernel.org, akpm@linux-foundation.org,
tytso@mit.edu
Subject: Re: [rfc] Ignore Fsync Calls in Laptop_Mode
Date: Fri, 20 May 2011 11:34:47 -0400 [thread overview]
Message-ID: <9885.1305905687@localhost> (raw)
In-Reply-To: Your message of "Thu, 19 May 2011 17:02:21 +0200." <BANLkTikuEERvEnBvm9-zHy2Uoc=4PUwHjQ@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1693 bytes --]
On Thu, 19 May 2011 17:02:21 +0200, "D. Jansen" said:
> On Thu, May 19, 2011 at 3:43 PM, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> > That at least cuts down most failures (but not all - eg commits with a network
> > component such as email receives)
>
> I don't understand your email example.
If you don't understand Alan's example, maybe you shouldn't be messing with
code that's used for correctness guarantees. But I'll spell it out for you:
You turn on laptop mode. You check your mail. You download 5 new messages,
which your laptop then *assures* the mail server "I've got them, we're cool".
Now, this is a pretty heavy responsibility (for example, RFC2821 says this:
6.1 Reliable Delivery and Replies by Email
When the receiver-SMTP accepts a piece of mail (by sending a "250 OK"
message in response to DATA), it is accepting responsibility for
delivering or relaying the message. It must take this responsibility
seriously. It MUST NOT lose the message for frivolous reasons, such
as because the host later crashes or because of a predictable
resource shortage.
So - the mail server then deletes the mail because the laptop has told it "Yes,
I've gotten it, it's stable, and even if I crash I won't lose it". But since
the mail program's fsync() calls got suppressed, it really *isn't* stable, so
when you crash, the mails are gone. Poof.
Second order effects crop up after that - after you recover from the crash,
your end has no memory of downloading the 5 messages, so it tries again - only
to have the mail server say "No such message". This is the sort of inconsistency
that gives guys at the support desk indigestion...
Understand better now?
[-- Attachment #2: Type: application/pgp-signature, Size: 227 bytes --]
next prev parent reply other threads:[~2011-05-20 15:35 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-19 13:34 [rfc] Ignore Fsync Calls in Laptop_Mode Dennis Jansen
2011-05-19 13:43 ` Alan Cox
[not found] ` <BANLkTikFRwPY_qOQpPmCmNUJbBUsGcuGUw@mail.gmail.com>
[not found] ` <20110519153928.40521b93@lxorguk.ukuu.org.uk>
2011-05-19 15:01 ` D. Jansen
2011-05-19 15:02 ` D. Jansen
2011-05-20 15:34 ` Valdis.Kletnieks [this message]
2011-05-20 3:39 ` Dave Chinner
2011-05-20 6:01 ` D. Jansen
2011-05-22 0:48 ` Dave Chinner
2011-05-23 8:12 ` Oliver Neukum
2011-05-23 13:05 ` D. Jansen
2011-05-25 0:00 ` Dave Chinner
2011-05-25 6:50 ` Oliver Neukum
2011-05-26 7:01 ` D. Jansen
2011-05-26 10:49 ` Theodore Tso
[not found] ` <BANLkTimNjt4=9v33Z9Nr12xa6GmyJ-Ue5A@mail.gmail.com>
2011-05-26 13:31 ` Ted Ts'o
2011-05-26 16:05 ` D. Jansen
2011-05-26 16:21 ` Ted Ts'o
2011-05-27 7:12 ` D. Jansen
2011-05-27 14:17 ` Theodore Tso
2011-05-27 17:51 ` david
2011-05-29 10:45 ` D. Jansen
2011-05-30 1:53 ` david
2011-05-30 7:13 ` Oliver Neukum
2011-05-30 12:55 ` Valdis.Kletnieks
2011-05-30 18:03 ` david
2011-05-30 13:55 ` D. Jansen
2011-05-30 18:02 ` david
2011-05-30 18:28 ` D. Jansen
2011-05-30 18:43 ` Valdis.Kletnieks
2011-05-30 19:54 ` D. Jansen
2011-05-30 18:45 ` david
2011-05-30 19:49 ` D. Jansen
2011-05-30 20:53 ` david
2011-05-30 21:24 ` D. Jansen
2011-05-30 22:41 ` david
2011-05-31 2:03 ` Ted Ts'o
2011-05-31 2:26 ` david
2011-05-31 13:47 ` D. Jansen
2011-05-31 18:23 ` david
2011-05-31 18:37 ` D. Jansen
2011-05-31 18:54 ` david
2011-05-31 19:04 ` D. Jansen
2011-06-02 7:42 ` D. Jansen
2011-05-31 8:22 ` Valdis.Kletnieks
2011-05-30 22:10 ` Jesper Juhl
2011-05-31 6:48 ` Oliver Neukum
2011-05-26 19:31 ` Matthew Garrett
2011-05-27 7:22 ` D. Jansen
2011-05-20 15:28 ` Valdis.Kletnieks
2011-05-20 16:40 ` D. Jansen
2011-05-20 22:03 ` torbenh
2011-05-21 8:23 ` D. Jansen
2011-05-23 8:22 ` Jesper Juhl
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=9885.1305905687@localhost \
--to=valdis.kletnieks@vt.edu \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=d.g.jansen@googlemail.com \
--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