Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Feb 2008 13:29:57 +0000 (GMT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@des.no>
Cc:        cvs-src@FreeBSD.org, Kris Kennaway <kris@FreeBSD.org>, src-committers@FreeBSD.org, cvs-all@FreeBSD.org, "David E. O'Brien" <obrien@FreeBSD.org>
Subject:   Re: cvs commit: src/sys/fs/nullfs null_vfsops.c src/sys/fs/nwfs  nwfs_vfsops.c src/sys/fs/smbfs smbfs_vfsops.c src/sys/ufs/ufs     quota.h ufs_quota.c ufs_vfsops.c src/sys/kern vfs_default.c         vfs_vnops.c vnode_if.src src/sys/sys mount.h vnode.h
Message-ID:  <20080226132155.W90776@fledge.watson.org>
In-Reply-To: <86r6ezswnu.fsf@ds4.des.no>
References:  <200802250855.m1P8t3w6052042@repoman.freebsd.org> <47C29A07.2070908@FreeBSD.org> <86d4qli8a1.fsf@ds4.des.no> <20080226123107.N90776@fledge.watson.org> <86r6ezswnu.fsf@ds4.des.no>

next in thread | previous in thread | raw e-mail | index | archive | help
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--621616949-710383528-1204032597=:90776
Content-Type: TEXT/PLAIN; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: QUOTED-PRINTABLE


On Tue, 26 Feb 2008, Dag-Erling Sm=F8rgrav wrote:

> Robert Watson <rwatson@FreeBSD.org> writes:
>> Dag-Erling Sm=F8rgrav <des@des.no> writes:
>>> No, it changes neither the API nor the ABI.  It replaces caddr_t (which=
 is=20
>>> typedef'd to char *) with void *, and those two are compatible types.
>> I'm sorry, but I disagree.  The case you failed to test involves a funct=
ion=20
>> pointer typedef.
>
> Umm, OK, I didn't spot that.  It's unfortunate that David didn't change o=
ur=20
> own file system code to match (or even build LINT, which would have shown=
=20
> him the problem), so that RELENG_6 current doesn't build.
>
> Still, I would argue for fixing the code rather than reverting the change=
=2E
>
>> Here's the test I had to add to Arla to detect the change with autoconf;=
=20
>> without this autoconf mess and changed prototypes in the Arla nnpfs code=
, I=20
>> can't build nnpfs on -CURRENT, and presumably now also on our -STABLE=20
>> branches:
>
> Arguably, Arla has been broken for more than two years and you only just=
=20
> woke up and noticed.  If you had tried to build Arla on -CURRENT at any=
=20
> point since 2005/12/14, you would have noticed and presumably fixed it.

You're missing the point.  This isn't about Arla being broken on 7.x and 8.=
x=20
-- we knew that already, and hence my already having autoconf code to detec=
t=20
and adapt to the difference in the 7.x and 8.x KPIs.  What this is about is=
=20
the fact that Arla *did* work on 6.x before this change, and now it's broke=
n.=20
This is because the KPI has been broken, as our KPI definition is pretty=20
pragmatic (undocumented): third party kernel modules that implement the=20
quotactl vfsop may well no longer compile.  I couldn't tell you which those=
=20
are off-hand, but it wouldn't surprise me to hear that there are other thir=
d=20
party kernel modules that declare quotactl implementations.

I'm fine with us discussing how committed we are to VFS being a KPI we don'=
t=20
break in -STABLE branches, but I'm not fine with the claim that the KPI was=
n't=20
broken by this change.  If pushed on the breaking the KPI point, I would co=
me=20
down on the side that says 6.x is a pretty mature branch at this point, and=
=20
that breaking the KPI for purely cosmetic reasons (i.e., caddr_t -> void *)=
=20
doesn't cut it.  I would be more swayed by an argument involving a necessar=
y=20
KPI change to address a critical bugfix, such as a race condition that resu=
lts=20
from a poor existing interface.

Robert N M Watson
Computer Laboratory
University of Cambridge
--621616949-710383528-1204032597=:90776--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080226132155.W90776>