From: bugzilla-daemon@bugzilla.kernel.org
To: linux-ext4@vger.kernel.org
Subject: [Bug 48251] Sorting directory entries
Date: Wed, 3 Oct 2012 16:29:50 +0000 (UTC) [thread overview]
Message-ID: <20121003162950.83D6111FB3D@bugzilla.kernel.org> (raw)
In-Reply-To: <bug-48251-13602@https.bugzilla.kernel.org/>
https://bugzilla.kernel.org/show_bug.cgi?id=48251
Theodore Tso <tytso@mit.edu> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |tytso@mit.edu
Resolution| |INVALID
--- Comment #1 from Theodore Tso <tytso@mit.edu> 2012-10-03 16:29:50 ---
There is never a guarantee that directory entries are listed in the same order
that they are created. If you are writing a program where you are making this
assumption --- don't. It's something which has never been true, for any file
system.
With ext3 if the directory hashing feature is enabled (which it is by default),
the directory entries are returned in hash order. This was needed so we could
meet POSIX requirements for how readdir() behaves in the face of telldir() and
seekdir(), as well as files being created while iterating through the directory
entries using readdir(). (The short version is once you use a tree, if you do
a node split due to a file being created, and where half of the directory
entries in the node are copied to a new leaf block, it still must be the case
that each directory entry which was created before starting the readdir() pass
must be returned once and only once. In order to guarantee this, we traverse
the tree in hash order.)
If you disable the directory hashing feature, then the files will be returned
_roughly_ in creation order; however, once you start deleting directory
entries, new files can get inserted into the unallocated portion of the
directory, which means readdir() won't be returning the files in creation
order, even though previously it would appear to be returning files in creation
order before any files had been deleted.
--
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
next prev parent reply other threads:[~2012-10-03 16:29 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-03 15:46 [Bug 48251] New: Sorting directory entries bugzilla-daemon
2012-10-03 16:29 ` bugzilla-daemon [this message]
2012-10-03 16:53 ` [Bug 48251] " bugzilla-daemon
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=20121003162950.83D6111FB3D@bugzilla.kernel.org \
--to=bugzilla-daemon@bugzilla.kernel.org \
--cc=linux-ext4@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).