<div dir="ltr"><div>If you are still interested, this is the latest patch: <a href="https://reviews.llvm.org/D39464">https://reviews.llvm.org/D39464</a></div><div><br></div><div>With this patch, disk blocks are preallocated using fallocate (Linux), posix_fallocate (other Unices), or fcntl (macOS) before mmap'ing it. If an operating system or a filesystem don't support fallocate or equivalent, it uses an in-memory buffer instead so that a disk full error can be detected on FileOutputBuffer::commit().</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 6, 2017 at 10:03 AM, Ed Maste <span dir="ltr"><<a href="mailto:emaste@freebsd.org" target="_blank">emaste@freebsd.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 31 October 2017 at 11:02, Rui Ueyama <<a href="mailto:ruiu@google.com">ruiu@google.com</a>> wrote:<br>
> Does FreeBSD have fallocate(2) or equivalent?<br>
<br>
</span>FreeBSD has posix_fallocate; we do not have fallocate or fcntl(fd,<br>
F_PREALLOCATE, ...).<br>
</blockquote></div><br></div>