From: Matthias Andree <ma@dt.e-technik.uni-dortmund.de>
To: Matthias Andree <ma@dt.e-technik.uni-dortmund.de>
Cc: reiserfs-list@namesys.com, linux-kernel@vger.kernel.org
Subject: Re: Status of fsync() wrt mail servers
Date: Fri, 12 Sep 2003 02:22:15 +0200 [thread overview]
Message-ID: <m3brtqrh3c.fsf@merlin.emma.line.org> (raw)
In-Reply-To: <20030911172509.GB18399@matchmail.com> (Mike Fedyk's message of "Thu, 11 Sep 2003 10:25:09 -0700")
Mike Fedyk <mfedyk@matchmail.com> writes:
>> I recently helped one qmail user debug this; the symptom was that the
>> first mail in a burst of mails took 2 seconds to queue, subsequent mails
>> were queued much quicker (70 ms). He was using ext3fs, and had one huge
>> / (root) file system and so the "synch the whole file system" behaviour
>> made his qmail-queue synch *all* his dirty blocks to disk...
>
> Can you be sure the MTA wasn't calling sync() just to be sure (Many MTAs are
> funny in that they think the spool is on a seperate disk and
> filesystem).
For qmail and Postfix I can be. sync(8) isn't remotely useful, because
it's allowed to return before completion.
> fsync() shouldn't be flushing anything not relating to the file it was
> called on (that includes directory entries related to the file also
> IMHO).
It "should", but current implementations on Linux do exactly that: flush
everything. Maybe you've got better luck with BSD softupdates, but
that's going to munch disk I/O big time next time you reboot after a
crash: fsck needed. It runs niced in the background so the machine boots
up, but the box won't satisfy higher I/O demands. Looks like a "ex
duobus malis" game.
> Also, if the MTA wasn't running as root, it shouldn't be able to make sync()
> affect the entire system.
I'd like to see your plans that prevent DoS by local users...
One machine's light load is another one's DoS attack.
> Is there anything that says that sync() can't just flush the user's
> buffers unless you're running as root or with some CAP_ capability?
Does the kernel track "whose dirty buffer is this" (uid_t) at all?
--
Matthias Andree
Encrypt your mail: my GnuPG key ID is 0x052E7D95
prev parent reply other threads:[~2003-09-12 0:22 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20030910002953.C14172@unbeatenpath.net>
[not found] ` <20030910105102.GA535@rahul.net>
[not found] ` <1063192474.18154.355.camel@tiny.suse.com>
[not found] ` <20030910114103.GA26767@rahul.net>
[not found] ` <1063197048.18155.357.camel@tiny.suse.com>
[not found] ` <20030910101821.A15923@unbeatenpath.net>
[not found] ` <20030910213244.GD1461@matchmail.com>
[not found] ` <20030910173343.A16677@unbeatenpath.net>
[not found] ` <20030910234927.GE1461@matchmail.com>
[not found] ` <m3ekynbj3e.fsf@merlin.emma.line.org>
2003-09-11 17:25 ` Status of fsync() wrt mail servers Mike Fedyk
2003-09-12 0:22 ` Matthias Andree [this message]
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=m3brtqrh3c.fsf@merlin.emma.line.org \
--to=ma@dt.e-technik.uni-dortmund.de \
--cc=linux-kernel@vger.kernel.org \
--cc=reiserfs-list@namesys.com \
/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