I think this is the cause of the problem: getdents64(3, 0x80497e0, 4096) = -1 ENOSYS (Function not implemented) getdents(3, /* 40 entries */, 3933) = 888 >From what I recall, the old-style getdents syscall doesn't return d_type information. You need to upgrade your kernel to one that supports getdents64. p.