posix_fallocate on ZFS
Willem Jan Withagen
wjw at digiware.nl
Sat Feb 10 23:20:23 UTC 2018
On 11/02/2018 00:10, Alan Somers wrote:
> On Sat, Feb 10, 2018 at 3:50 PM, Willem Jan Withagen <wjw at digiware.nl
> <mailto:wjw at digiware.nl>> wrote:
>
> On 10/02/2018 20:43, Ian Lepore wrote:
>
> On Sat, 2018-02-10 at 11:24 -0700, Alan Somers wrote:
>
> On Sat, Feb 10, 2018 at 10:28 AM, Willem Jan Withagen
> 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.
>
> -Alan
>
>
> Unfortunately, posix documents that the function returns EINVAL only
> due to bad input parameters, so ignoring that seems like a bad idea.
>
> Wouldn't it be better if we returned EOPNOTSUP if that's the actual
> situation? That could be safely ignored.
>
>
> I would probably help in my situation....
>
> And I've been looking at the manpage, but cannot seem to find any
> indication that EINVAL is returned on running it on FreeBSD.
>
>
> It's in the manpage, but only on head. It hasn't been in any stable
> release yet.
> https://svnweb.freebsd.org/base/head/lib/libc/sys/posix_fallocate.2?revision=325422&view=markup#l112
Right, it is. And it is even in the man-page were I looked. :(
Just plainly read over it.
To be honest I would expect it to have a bit more proza in the header of
the manpage. Because it is rather significant that it does not work on
certain FSes. And not just hide this in a single line in the explanation
of an error value...
--WjW
More information about the freebsd-current
mailing list