getdents64 problem

Jakub Jelinek jakub@redhat.com
Tue Jan 23 00:57:00 GMT 2001


On Tue, Jan 23, 2001 at 12:52:59AM -0800, Ulrich Drepper wrote:
> Jakub Jelinek <jakub@redhat.com> writes:
> 
> > If you are speaking NFSv3 and the SGI server is passing
> > 0, 0xffffffff over the network instead of 0xffffffff, 0xffffffff, then it
> > would be a bug in SGI server (but you could still try to force NFSv2).
> 
> Why?  If the length is 4GB-1 0, 0xffffffff must be transported.  But
> this is exactly the argument why getdents cannot succeed.  Since the
> offset will be reported to the user level as a signed value and
> functions like seek will use it is wrong to succeed.  The non-LFS
> functions cannot succeed for files over 2GB.

Yeah, sure, but as all other entries had small d_off values, I think what
SGI server wanted to pass is -1 to denote it is the last entry.
I simply doubt if SGI spoke NFSv3 it would have a special value 4GB-1 for
"no more entries".

	Jakub


More information about the Libc-alpha mailing list