This kinda gets handled by the fallocate on Linux, but we should do a proper check before we attempt to allocate. We should also look into fallocate equivalents for non-Linux platforms