Re: readdir vs. getattr

Tigran Mkrtchyan
2013-04-04T15:38:02Z

On Thu, Apr 4, 2013 at 5:15 PM, Jim Rees <rees@umich.edu> wrote:
> Tigran Mkrtchyan wrote:
>
> we have a directory with 50K (number of ) files in it.
> The user does a 'ls' and I can see READDIR4. To
> get the complete listing a client need to send ~380 requests.
> Now user does yet another 'ls' in the same directory.
> The client sends a GETATTR on directorie's FH
> (actually two of GETATTRS - why?!!) and discovers that a
> directory didn't change and re-uses existing listing, BUT!!!
> for each file in the directory it sends a GETATTR to discover
> is the file's attributes are changed. For 50K files it's a 50K requests.
>
> So is this a "ls -l"? Because for "ls" it shouldn't stat all the files.

I believe it's 'ls -l'. Well, you probably want to say that it's ls
calling stat on each file. Nevertheless client still should re-use
cached information.