linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: R?diger Meier <sweet_f_a@gmx.de>
Cc: Christoph Hellwig <hch@infradead.org>,
	Bryan Schumaker <bjschuma@netapp.com>,
	Justin Piszcz <jpiszcz@lucidpixels.com>,
	"J. Bruce Fields" <bfields@fieldses.org>,
	linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org,
	xfs@oss.sgi.com
Subject: Re: 2.6.xx: NFS: directory motion/cam2 contains a readdir loop
Date: Wed, 27 Jul 2011 16:47:24 -0400	[thread overview]
Message-ID: <20110727204724.GA21314@infradead.org> (raw)
In-Reply-To: <201107272227.03265.sweet_f_a@gmx.de>

On Wed, Jul 27, 2011 at 10:26:55PM +0200, R?diger Meier wrote:
> At the time I've started this thread
> http://comments.gmane.org/gmane.linux.nfs/40863
> I had the feeling that the readdir cache changings in 2.6.37 have 
> something to do with these loop problems.
> 
> After that thread I've accepted that's a general problem with 
> ext4/dirindex and nfs but seeing it again on xfs with just 5000 files 
> I'm in doubt again.

Two separate issues.  For one thing the nfs code simply doesn't seem
to handle changing directories very well, and one and a half the Linux
NFS server might even send incoherent readdir output in a single
protocol reply.

Issue two is that the ext3/4 hashed directory format is too simply (not
to say dumb) to provide a proper 32-bit linear value for the dirent
d_off field.  It's not a complex task, and the first relatively simple
generation of xfs btree directories couldn't handle it either.  The
v2 directory format handles it fine, but at the cost of a much more
complex codebase.


  reply	other threads:[~2011-07-27 20:47 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <alpine.DEB.2.02.1107270952270.1451@p34.internal.lan>
2011-07-27 16:07 ` 2.6.xx: NFS: directory motion/cam2 contains a readdir loop J. Bruce Fields
2011-07-27 16:28   ` Justin Piszcz
2011-07-27 16:40     ` Bryan Schumaker
2011-07-27 17:00       ` Ruediger Meier
2011-07-27 17:09         ` Bryan Schumaker
2011-07-27 17:17         ` Justin Piszcz
2011-07-27 17:45           ` J. Bruce Fields
2011-07-27 18:28         ` Bryan Schumaker
2011-07-27 17:15       ` Justin Piszcz
2011-07-27 18:11     ` Christoph Hellwig
2011-07-27 19:35       ` Justin Piszcz
2011-07-27 19:39         ` Christoph Hellwig
2011-07-27 19:44           ` Justin Piszcz
2011-07-27 19:47             ` Christoph Hellwig
2011-07-27 19:54               ` Bryan Schumaker
2011-07-27 20:02                 ` Christoph Hellwig
2011-07-27 20:05                   ` Christoph Hellwig
2011-07-27 20:26                   ` Rüdiger Meier
2011-07-27 20:47                     ` Christoph Hellwig [this message]
2011-07-27 21:21                       ` Rüdiger Meier
2011-07-27 19:57               ` Justin Piszcz
2011-07-27 20:37               ` Trond Myklebust
2011-07-27 20:54                 ` Trond Myklebust
2011-07-27 20:56                   ` Trond Myklebust
     [not found]                     ` <1311800195.25645.45.camel-SyLVLa/KEI9HwK5hSS5vWB2eb7JE58TQ@public.gmane.org>
2011-07-27 21:24                       ` Justin Piszcz
     [not found]                         ` <alpine.DEB.2.02.1107271723500.25432-0qmrozcXWo8bm2hyYBkBBg@public.gmane.org>
2011-07-27 22:44                           ` Justin Piszcz
2011-07-28 20:48                             ` Trond Myklebust
2011-07-29 20:52                               ` Bryan Schumaker
2011-07-29 20:59                                 ` Justin Piszcz
2011-07-29 22:03                                   ` Trond Myklebust
2011-07-29 22:23                                     ` Justin Piszcz
2011-07-30  9:58                                       ` Justin Piszcz

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=20110727204724.GA21314@infradead.org \
    --to=hch@infradead.org \
    --cc=bfields@fieldses.org \
    --cc=bjschuma@netapp.com \
    --cc=jpiszcz@lucidpixels.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=sweet_f_a@gmx.de \
    --cc=xfs@oss.sgi.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;
as well as URLs for NNTP newsgroup(s).