posix_fallocate on ZFS
Ian Lepore
ian at freebsd.org
Sat Feb 10 19:47:55 UTC 2018
On Sat, 2018-02-10 at 12:45 -0700, Alan Somers wrote:
> On Sat, Feb 10, 2018 at 12:43 PM, Ian Lepore <ian at freebsd.org> 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'm afraid you are mistaken. Posix _should've_ required EOPNOTSUP in this,
> but it actually requires EINVAL.
>
> http://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_fallocate.html
Oops, I apparently was looking at the prior version of the spec.
Nevermind. :)
-- Ian
More information about the freebsd-current
mailing list