Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <3ECF2615.4080108@lapo.it> Date: Sat, 24 May 2003 09:58:13 +0200 From: Lapo Luchini User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4b) Gecko/20030514 X-Accept-Language: it, en, fr, es MIME-Version: 1.0 To: Mailing List: CygWin Subject: Re: SPARSE files considered harmful - please revert References: <16072 DOT 6666 DOT 10124 DOT 338022 AT gargle DOT gargle DOT HOWL> <00f301c31e12$c29efdb0$6400a8c0 AT FoxtrotTech0001> <00be01c31e15$944d0d50$78d96f83 AT pomello> <005601c31e26$77671260$6400a8c0 AT FoxtrotTech0001> <20030519175913 DOT GA24066 AT redhat DOT com> <008001c31e5e$39c0c680$6400a8c0 AT FoxtrotTech0001> <20030520024151 DOT GA1812 AT redhat DOT com> In-Reply-To: X-Enigmail-Version: 0.75.0.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Rolf Campbell wrote: >> 3) What no one seems to be mentioning is that we are trying to emulate >> UNIX behavior here. If the above is an issue for Windows then it could >> also be an issue for UNIX. >> cgf > > And it is. e.g. from FreeBSD 4.8's "man mmap": WARNING! Extending a file with ftruncate(2), thus cre- ating a big hole, and then filling the hole by modify- ing a shared mmap() can lead to severe file fragmenta- tion. 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 ran- dom order. -- Lapo 'Raist' Luchini lapo AT lapo DOT it (PGP & X.509 keys available) http://www.lapo.it (ICQ UIN: 529796) -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/