Re: bus error when disk is full, with mmap & sparse file
Richard Laager <[email protected]> Thu, 02 Feb 2012 01:11:05 -0600
| Newsgroups | gmane.comp.db.rrdtool.devel |
|---|---|
| Message-ID | <1328166665.3572.15.camel__45192.1363398016$1328166692$gmane$org@watermelon.coderich.net> |
On Thu, 2012-02-02 at 07:22 +0100, Tobias Oetiker wrote: > * with the patch, we get performance and a sort of thin provisioning (files > with holes). fallocate() does not create holes. From fallocate(2), "After a successful call, subsequent writes into this range are guaranteed not to fail because of lack of disk space." fallocate() is Linux-specific. The portable equivalent is posix_fallocate(). On Linux, that does much the same thing as with this patch; it tries fallocate() first and then falls back to zero-filling. I'm not sure if that zero filling code performs better or worse than your mmap() code. -- Richard