write(2) size is limited by INT_MAX on amd64 -- is it a bug or a
feature?
Artem Belevich
fbsdlist at src.cx
Fri Apr 2 18:53:11 UTC 2010
Hi,
I've ran into a problem on 8-stable/amd64 today. Basically any attempt
to pass 2GB chunk of data to write(2) returns EINVAL. It looks like
we're limiting amount of data to be written to INT_MAX which looks
rather restrictive on LP64 platforms. NetBSD/OpenBSD do use SSIZE_MAX
which does seem to be the limit specified by POSIX, if I'm looking at
the correct specification here
http://www.opengroup.org/onlinepubs/000095399/functions/write.html
A bit of googling shows that this issue was also recently mentioned on
svn-src-all:
http://www.mail-archive.com/svn-src-all@freebsd.org/msg18266.html
Was the INT_MAX limit in FreeBSD imposed intentionally, even on 64-bit
platforms or is it a bug that needs fixing?
Thanks,
--Artem
More information about the freebsd-hackers
mailing list