posix_fallocate on ZFS
Alan Somers
asomers at freebsd.org
Sat Feb 10 19:21:54 UTC 2018
On Sat, Feb 10, 2018 at 11:50 AM, Willem Jan Withagen <wjw at digiware.nl>
wrote:
> On 10/02/2018 19:24, Alan Somers wrote:
>
>> On Sat, Feb 10, 2018 at 10:28 AM, Willem Jan Withagen <wjw at digiware.nl
>> <mailto:wjw at digiware.nl>> wrote:
>>
>> Hi,
>>
>> This has been disabled on ZFS since last November.
>> And I do understand the rationale on this.
>>
>> BUT
>>
>> I've now upgraded some of my HEAD Ceph test systems and they now
>> fail, since Ceph uses posix_fallocate() to allocate space for the
>> FileStore-journal.
>>
>> Is there any expectation that this is going to fixed in any near
>> future?
>>
>> --WjW
>>
>>
>> No. It's fundamentally impossible to support posix_fallocate on a COW
>> filesystem like ZFS. Ceph should be taught to ignore an EINVAL result,
>> since the system call is merely advisory.
>>
>
> Yup, that was what I'm going to do.
> But then I would like to know how to annotate it.
>
> And I guess that I'd get reactions submitting code to fix this, since the
> journal could run out of space.
> So I'd beter know what is going on.
>
> I seem to remember that on a pool level is is possible to reserve space
> whilest creating a filesystem? And then it could/should be fixed when
> building the disk-infra for an OSD.
>
Yes, you can easily reserve space for an entire filesystem. Just do for
example "zfs create -o reservation=64GB mypool/myfs" .
More information about the freebsd-current
mailing list