NFS tries as hard as it can to interpret the cookie as a bag of
bits. It gets screwed in this by a VFS interface which treats the
32-bit getdents() as having unsigned 32-bit cookies, and the 64-bit
getdents64() as having signed 64-bit cookies.
To make matters worse, glibc comes along and assumes it can use
getdents64 as a substitute for getdents() without having to give any
thought to the problem of cookies.
If you're unhappy with the state of readdir, then fix the VFS/glibc.
At the moment it is simply not possible to write a consistent readdir
at the NFS level.
Trond
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/