linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@fieldses.org>
To: Christoph Hellwig <hch@infradead.org>
Cc: Albert Fluegel <af@muc.de>, linux-nfs@vger.kernel.org
Subject: Re: Bugs / Patch in nfsd
Date: Mon, 18 Nov 2013 12:37:31 -0500	[thread overview]
Message-ID: <20131118173731.GF3203@fieldses.org> (raw)
In-Reply-To: <20131118172315.GA20339@infradead.org>

On Mon, Nov 18, 2013 at 09:23:15AM -0800, Christoph Hellwig wrote:
> On Mon, Nov 18, 2013 at 12:01:32PM -0500, J. Bruce Fields wrote:
> > Just tracing a v3 mount I can confirm that S_IFDIR (0x4000, 040000)
> > gets set in GETATTR replies.
> 
> Oh. got it.  We set the stat file type, nothing related to the 32-bit
> readdir cookie.
> 
> > Anyway, absent objections my default is to queue this up for 3.14 (using
> > S_IALLUGO).
> 
> Yeah, that part looks good to me.  But it seem Albert still has an issue
> with the directory offsets.  Might be worth to get the ext4 developes
> in the loop for that, as I doubt it's an issue with the nfsd code.

One problem he's seeing was RHEL5-specific, the other is the known ext4
problem that's been discussed before.

(Basically, ext4 has a tradeoff between correctness, lookup performance,
and compatibility with some buggy old clients:

	1. turn off dir_index and performance on large directories may
	   suffer, but it's correct and any client will be happy.
	2. turn on dir_index and return 32-bit cookies: now you get
	   directory loops on large directories due to random hash
	   collisions.
	3. turn on dir_index and return 64-bit cookies: some clients seem
	   to then return errors to 32-bit applications doing readdirs.
	   Cookies have been 64-bit since NFSv3 and 32-bit Linux clients
	   deal with this fine (it fakes up its own small integer offsets
	   to return to applications), but apparently some other clients
	   return errors on readdir.

So currently we default to 3 and if people complain, tell them to turn
off dir_index and complain to their client vendor....)

--b.

  reply	other threads:[~2013-11-18 17:37 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-18 12:44 Bugs / Patch in nfsd Albert Fluegel
2013-11-18 13:00 ` Christoph Hellwig
2013-11-18 17:01   ` J. Bruce Fields
2013-11-18 17:23     ` Christoph Hellwig
2013-11-18 17:37       ` J. Bruce Fields [this message]
2013-11-18 17:47         ` Christoph Hellwig
2013-11-20 16:28         ` Albert Fluegel
2013-11-20 16:45           ` J. Bruce Fields
2013-11-18 17:28 ` J. Bruce Fields

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=20131118173731.GF3203@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=af@muc.de \
    --cc=hch@infradead.org \
    --cc=linux-nfs@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).