[rrd-developers] bus error when disk is full, with mmap & sparse file

Richard Laager rlaager at wiktel.com
Thu Feb 2 08:11:05 CET 2012


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



More information about the rrd-developers mailing list