Artsize still not quite right in CURRENT

bill davidsen davidsen at tmr.com
Mon Apr 16 16:19:22 UTC 2001


In article <20010416162702.A7568 at opentransit.net>,
Fabien Tassin  <fta at sofaraway.org> wrote:

| I'm using the latest kernel (2.4.3) and glibc 2.1.3.
| According to the glibc 2.1.3 doc :
| 
|  - Function: ssize_t pread (int FILEDES, void *BUFFER, size_t SIZE,
|           off_t OFFSET)
| ...
|      When the source file is compiled with `_FILE_OFFSET_BITS == 64' the
|      `pread' function is in fact `pread64' and the type `off_t' has 64
|      bits which makes it possible to handle files up to 2^63 bytes in
|      length.
| 
| but it is not working. I haven't tested with glibc 2.2.* (the doc
| reads the same anyway) but reverting to lseek()+read() fixes the problem.

  I have to go look at the code, but the 20010222-CURRENT code works. If
that's the lseek+read code, we have an answer. But how could part of the
library be compiled with largefile support (lseek) and part not? COuld
it be that the library source is just wrong?

  In any case, if that's the problem, unless there's a huge gain in
{something} by using pread, perhaps we can revert the code, or put in a
conditional, or whatever.

  This makes good sense, since it works on Linux w/o largefile support,
and AIX with or without. Based on reports from others it works on
Solaris as well.

-- 
bill davidsen <davidsen at tmr.com>
  CTO, TMR Associates, Inc
Doing interesting things with little computers since 1979.


More information about the inn-workers mailing list