From: Chris Mason <chris.mason@oracle.com>
To: David Woodhouse <dwmw2@infradead.org>
Cc: Balaji Rao <balajirrao@gmail.com>, linux-btrfs@vger.kernel.org
Subject: Re: [PATCH] rewrite btrfs_readdir()
Date: Mon, 18 Aug 2008 14:46:56 -0400 [thread overview]
Message-ID: <1219085216.14063.9.camel@think.oraclecorp.com> (raw)
In-Reply-To: <1218989400.3184.315.camel@pmac.infradead.org>
On Sun, 2008-08-17 at 17:10 +0100, David Woodhouse wrote:
> On Sun, 2008-08-17 at 15:17 +0100, David Woodhouse wrote:
> > Subject: [PATCH] Remove special cases for "." and ".."
> >
> > We never get asked by the VFS to lookup either of them, and we can
> > handle the readdir() case a lot more simply, too.
>
> And a few other minor cleanups... some cosmetic, but note the
> WARN_ON().
> +
> + /* If there's more than one directory entry in each
> + item, then the offset isn't unique. Seeking in
> + directories will be broken. Can this ever actually
> + happen? */
> + WARN_ON(di_cur != di_total);
> }
It can happen today for the tree of tree roots (directory of subvolumes
and named snapshots). It happens when the name hashes collide. For
real directories we use the sequence number index instead of the name
hash index, so it normally won't happen.
Longer term the directory of subvolumes is going to be a real directory
and this special case will go away.
-chris
next prev parent reply other threads:[~2008-08-18 18:46 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-20 20:31 [PATCH] NFS support for btrfs - v2 Balaji Rao
2008-08-17 11:53 ` David Woodhouse
2008-08-17 12:51 ` Balaji Rao
2008-08-17 12:56 ` David Woodhouse
2008-08-17 13:24 ` Balaji Rao
2008-08-17 13:30 ` David Woodhouse
2008-08-17 14:17 ` David Woodhouse
2008-08-17 16:10 ` [PATCH] rewrite btrfs_readdir() David Woodhouse
2008-08-18 18:46 ` Chris Mason [this message]
2008-08-18 19:08 ` David Woodhouse
2008-08-18 19:24 ` Chris Mason
2008-08-18 19:32 ` David Woodhouse
2008-08-17 13:40 ` [PATCH] NFS support for btrfs - v2 David Woodhouse
2008-08-18 19:23 ` Chris Mason
2008-08-18 19:33 ` David Woodhouse
2008-08-18 19:47 ` Chris Mason
2008-08-18 20:20 ` David Woodhouse
2008-08-18 20:32 ` Chris Mason
2008-08-18 21:52 ` David Woodhouse
2008-08-19 11:54 ` Chris Mason
2008-08-19 14:49 ` David Woodhouse
2008-08-19 21:34 ` David Woodhouse
2008-08-19 0:16 ` Christoph Hellwig
2008-08-19 0:21 ` David Woodhouse
2008-08-18 11:51 ` David Woodhouse
2008-08-18 12:10 ` David Woodhouse
2008-08-18 19:15 ` Chris Mason
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=1219085216.14063.9.camel@think.oraclecorp.com \
--to=chris.mason@oracle.com \
--cc=balajirrao@gmail.com \
--cc=dwmw2@infradead.org \
--cc=linux-btrfs@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