<div class="gmail_quote"><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">I also took your advice last night on stat-cache (I assume that was on the Gluster side, which I enabled), and wasn&#39;t sure where fast lookups was.  That didn&#39;t seem to make a noticeable difference either.<br>
</blockquote><div><br></div><div>stat-prefetch xlator does not help here. It helps quicken lookups. But Samba is not interested in lookup/attributes. It is only looking for existance of directory entry names, without caring whether it is a file or directory.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><br>
I think the lockups are happening as a result of being crippled by GlusterFS&#39;s relatively slow directory listing (5x-10x slower generating a dir listing than a raw SMB share), combined with FUSE&#39;s blocking readdir().  I&#39;m not positive on that last point since there was only one mention of that on the internet.   Am praying that somebody will see this and say, &quot;oh yeah, well sure, just change this one thing in FUSE and you&#39;re good to go!&quot;  Somehow I don&#39;t think that&#39;s going to happen.  :)<br>
<font class="Apple-style-span" color="#888888"><br></font></blockquote><div><br></div><div>GlusterFS uses readdirp() internally even if FUSE asks readdir() because it makes generation of unique list of entry names in distribute much more efficient and simple. This might be causing readdir ops themselves to be slow. Doing an &#39;strace -Tc&#39; on smbd can show you what %age of time is spent in getdents().</div>
<div><br></div><div>One test you could try is checking if a pure replicated setup without stat-prefetch has the same performance hit as a distributed(+replicated?) setup? Both stat-prefetch and distributed &quot;upgrade&quot; readdirs into readdirps (one for performance, another for unique list generation).</div>
<div><br></div><div>Avati</div></div>