[Bug libc/226] [RFC] d_type is always set to "0"

jakub at redhat dot com sourceware-bugzilla@sources.redhat.com
Fri Jun 18 10:45:00 GMT 2004


------- Additional Comments From jakub at redhat dot com  2004-06-18 10:45 -------
What filesystem?  What architecture?
Does the kernel actually provide those fields?

On 64-bit arches glibc uses getdents64 syscall always and thus assuming
kernel returns non-zero d_type if will be returned.

On 32-bit arches, if glibc is configured for < 2.6.4 kernels, it will use
getdents64 syscall even for readdir (i.e. non-LFS calls) and again the d_type
should be copied from there.

If glibc is configured for 2.6.4+ kernels, it will use getdents syscall, which
for these kernels is supposed to store d_type after the d_name.

I have just built 32-bit glibc on x86-64 configured for 2.6.5 and it returns
non-zero d_type fields just fine on ext3.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |WAITING


http://sources.redhat.com/bugzilla/show_bug.cgi?id=226

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.



More information about the Glibc-bugs mailing list