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