Re: posix_fallocate on ZFS

From: Garrett Wollman <wollman_at_hergotha.csail.mit.edu>
Date: Sat, 10 Feb 2018 13:46:33 -0500 (EST)
In article
<CAOtMX2jZr_kvJgOZWeiB-AZ3-7-uUu+UQ3P0nKhGZ0eNRzwMOQ_at_mail.gmail.com>,
asomers_at_freebsd.org writes:

>On Sat, Feb 10, 2018 at 10:28 AM, Willem Jan Withagen <wjw_at_digiware.nl>
>wrote:

>> Is there any expectation that this is going to fixed in any near future?

>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.

I don't think it's true that this is _fundamentally_ impossible.  What
the standard requires would in essence be a per-object refreservation.
ZFS supports refreservation, obviously, but not on a per-object basis.
Furthermore, there are mechanisms to preallocate blocks for things
like dumps.  So it *could* be done (as in, the concept is there), but
it may not be practical.  (And ultimately, there are ways in which the
administrator might manage the system that would defeat the desired
effect, but that's out of the standard's scope.)  Given the semantic
mismatch, though, I suspect it's unreasonable to expect anyone to
prioritize implementation of such a feature.

-GAWollman
Received on Sat Feb 10 2018 - 17:46:38 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:14 UTC