From: bfields@fieldses.org (J. Bruce Fields)
To: Benjamin Coddington <bcodding@redhat.com>
Cc: List Linux NFS Mailing <linux-nfs@vger.kernel.org>
Subject: Re: I can't get no readdir satisfaction
Date: Tue, 23 Aug 2016 15:36:21 -0400 [thread overview]
Message-ID: <20160823193621.GA28230@fieldses.org> (raw)
In-Reply-To: <778246F3-8F24-48FD-AEA9-0BCC0DCD93B3@redhat.com>
On Tue, Aug 23, 2016 at 11:09:37AM -0400, Benjamin Coddington wrote:
> Hi linux-nfs,
>
> 311324ad1713 ("NFS: Be more aggressive in using readdirplus for 'ls -l'
> situations") changed when nfs_readdir() decides to revalidate the
> directory's mapping, which contains all the entries. In addition to just
> checking if the attribute cache has expired, it includes a check to see if
> NFS_INO_INVALID_DATA is set on the directory.
>
> Well, customers that have directories with very many dentries and that same
> directory's attributes are frequently updated are now grouchy that `ls -l`
> takes so long since any update of the directory causes the mapping to be
> invalidated and we have to start over filling the directory's mapping.
Apologies, I don't understand the client's readdir implementation. So
it really zeroes out the cookie every time it invalidates the directory
cache?
I also seem to remember it makes up its own cookies to return to users
instead of returning the server's. Is the cookie invalidation a
consequence of that? I don't think it should have to be. And as long
as these two things (cache and cookie validity) are tied together, I
can't see how we're going to guarantee readdir progress.
--b.
>
> I actually haven't put real hard thought into it yet (because often for me
> that just wastes a lot of time), so I am doing the lazy thing by asking this
> question:
>
> Can we go back to just the using the attribute cache timeout, or should we
> get all heuristical about readdir?
>
> Ben
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2016-08-23 19:36 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-23 15:09 I can't get no readdir satisfaction Benjamin Coddington
2016-08-23 15:36 ` Trond Myklebust
2016-08-23 21:21 ` Benjamin Coddington
2016-08-24 12:18 ` Trond Myklebust
2016-08-24 13:15 ` Benjamin Coddington
2016-08-24 13:39 ` Trond Myklebust
2016-08-24 13:56 ` J. Bruce Fields
2016-08-24 14:02 ` Trond Myklebust
2016-08-24 14:16 ` Benjamin Coddington
2016-08-24 14:19 ` Trond Myklebust
2016-08-24 15:18 ` Benjamin Coddington
2016-08-24 14:20 ` Fields Bruce James
2016-08-24 14:26 ` Trond Myklebust
2016-08-24 14:40 ` J. Bruce Fields
2016-08-24 14:53 ` Trond Myklebust
2016-08-24 15:16 ` Fields Bruce James
2016-08-24 13:02 ` Benjamin Coddington
2016-08-23 19:36 ` J. Bruce Fields [this message]
2016-08-23 21:50 ` Benjamin Coddington
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=20160823193621.GA28230@fieldses.org \
--to=bfields@fieldses.org \
--cc=bcodding@redhat.com \
--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 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.