This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [PATCH] for glibc-2.2 linux-specific getdents code


>>>>> " " == Ulrich Drepper <drepper@redhat.com> writes:

    >> with NFS allowing unsigned offsets, and returns an EOVERFLOW
    >> error as if the cookie were a large file offset if the 31st bit
    >> is set (and the getdents64() function is used).

     > Offsets by definition are unsigned.  You are changing the
     > interface of the kernel.  This is absolutely unacceptable.

No. NFS directory offsets have never been signed. They never were in
2.2.x, and they aren't in 2.4.x.

What's new is that the getdents64 function has surfaced and it plays
games with sign extending 32-bit offsets to 64 bits. This is why the
problem has arisen in 2.4.x and not 2.2.x

Cheers,
  Trond


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]