From: kaih@khms.westfalen.de (Kai Henningsen)
To: linux-kernel@vger.kernel.org
Subject: Re: ext2 directory size bug (?)
Date: 02 Dec 2000 11:14:00 +0200 [thread overview]
Message-ID: <7r4kOV1Xw-B@khms.westfalen.de> (raw)
In-Reply-To: <Pine.GSO.4.21.0012020034220.27040-100000@weyl.math.psu.edu>
In-Reply-To: <20001202183021.D412@metastasis.f00f.org> <Pine.GSO.4.21.0012020034220.27040-100000@weyl.math.psu.edu>
viro@math.psu.edu (Alexander Viro) wrote on 02.12.00 in <Pine.GSO.4.21.0012020034220.27040-100000@weyl.math.psu.edu>:
> On Sat, 2 Dec 2000, Chris Wedgwood wrote:
>
> > On Sat, Dec 02, 2000 at 12:14:34AM -0500, Alexander Viro wrote:
> >
> > Not really. Anything that modifies directories holds both ->i_sem and
> > ->i_zombie, lookups hold ->i_sem and emptiness checks (i.e. victim in
> > rmdir and overwriting rename) hold ->i_zombie, readdir holds both.
> >
> > what performance issues does this raise in the cast of a directory
> > with _many_ files in it -- when we are renaming often involving that
> > directory?
> >
> > I ask this because certain MTAs do just that; and when you have
> > 10,000 to 100,000 messages queued I immagine you might spend much of
> > your time waiting for ->i_sem locks?
>
> And where do you get contending processes? 'Cause it takes at least two
> to get that...
More than one queue worker running, for example. On systems with that much
mail, that's just about essential to have.
But I suspect scanning the directory is much worse than renaming. Scanning
long ext2 (or traditional Unix, for that matter) directories gets *really*
ugly. That's why Exim, for example, has the "split spool directory" code
(works very similar to the traditional terminfo split).
> When you have that size of message queues your best bet is to split them
> into many directories, though - all FFS derivatives do linear searches, so
> locking or not, you are going to lose.
Exactly.
> > ext2 directories seem somewhat susepctable to corruption on badly
> > timed shutdowns anyhow; and I don't think there is any way to do
> > atomic writes to them with most disk hardware is there?
I don't think I've seen that. Possibly if you're doing massive directory
creation just at that moment (unpacking a kernel source tarball, say), but
in that case I'd call it expected on a non-journalling fs.
If anything, I've seen chopped-up regular files (usually stuff like spool
files the MTA was just messing around with).
MfG Kai
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/
prev parent reply other threads:[~2000-12-02 13:11 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-11-30 4:17 ext2 directory size bug (?) Steven Van Acker
2000-11-30 7:20 ` Andreas Dilger
2000-11-30 13:24 ` Richard B. Johnson
2000-12-02 4:57 ` Chris Wedgwood
2000-12-02 5:14 ` Alexander Viro
2000-12-02 5:30 ` Chris Wedgwood
2000-12-02 5:42 ` Alexander Viro
2000-12-02 9:14 ` Kai Henningsen [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=7r4kOV1Xw-B@khms.westfalen.de \
--to=kaih@khms.westfalen.de \
--cc=linux-kernel@vger.kernel.org \
/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.