Message215408
Using truncate() to zero extend is not really portable: it is only guaranteed on XSI-compliant POSIX systems.
Also, the FreeBSD man page for mmap() has the following warning:
WARNING! Extending a file with ftruncate(2), thus creating a big
hole, and then filling the hole by modifying a shared mmap() can
lead to severe file fragmentation. In order to avoid such
fragmentation you should always pre-allocate the file's backing
store by write()ing zero's into the newly extended area prior to
modifying the area via your mmap(). The fragmentation problem is
especially sensitive to MAP_NOSYNC pages, because pages may be
flushed to disk in a totally random order. |
|
Date |
User |
Action |
Args |
2014-04-02 23:20:53 | sbt | set | recipients:
+ sbt, pitrou, neologix, mboquien |
2014-04-02 23:20:53 | sbt | set | messageid: <1396480853.06.0.555216825765.issue21116@psf.upfronthosting.co.za> |
2014-04-02 23:20:53 | sbt | link | issue21116 messages |
2014-04-02 23:20:52 | sbt | create | |
|