[Gluster-users] incomplete listing of a directory, sometimes getdents loops until out of memory

Jeff Darcy jdarcy at redhat.com
Fri Jun 14 20:28:49 UTC 2013


On 06/14/2013 01:04 PM, John Brunelle wrote:
> Thanks, Jeff!  I ran readdir.c on all 23 bricks on the gluster nfs
> server to which my test clients are connected (one client that's
> working, and one that's not; and I ran on those, too).  The results
> are attached.
> 
> The values it prints are all well within 32 bits, *except* for one
> that's suspiciously the max 32-bit signed int:
> 
> $ cat readdir.out.* | awk '{print $1}' | sort | uniq | tail
> 0x000000000000fd59
> 0x000000000000fd6b
> 0x000000000000fd7d
> 0x000000000000fd8f
> 0x000000000000fda1
> 0x000000000000fdb3
> 0x000000000000fdc5
> 0x000000000000fdd7
> 0x000000000000fde8
> 0x000000007fffffff
> 
> That outlier is the same subdirectory on all 23 bricks.  Could this be
> the issue?

As Avati points out, that's the EOF marker so it's fine.  It might be
interesting to run this on the client as well, to see how those values
relate to those on the bricks - especially at the point where you see
skipping or looping.  You might also want to modify it to print out
d_name as well, so that you can see the file names and correlate things
more easily.





More information about the Gluster-users mailing list