Sub-optimal libc's read-ahead buffering behaviour
Andrey Chernov
ache at FreeBSD.ORG
Thu Aug 4 06:03:02 GMT 2005
On Wed, Aug 03, 2005 at 06:58:42PM +0300, Maxim Sobolev wrote:
> Checking the actual code confirm your point, thank you! However, I think
> that the current behaviour is at best inconsistent, since it in fact
> does buffering of character devices in some cases but does not in some
> others. In my example it reads 4096 bytes instead of requested 512 at
> each request, but when the program does fseek it rejects part of that
> buffer and does re-positioning and re-reading. Very confusing behaviour
> IMHO.
No surprize. Single read can be consider as sort of "atomic" operation.
But between read & seek character device itself can move its pointer in
anyplace.
--
http://ache.pp.ru/
More information about the freebsd-current
mailing list