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/kern
vfs_default.c vfs_vnops.c src/sys/sys mount.h vnode.h
src/sys/ufs/ufs quota.h ufs_quota.c ufs_vfsops.c
Robert Watson
rwatson at FreeBSD.org
Tue Feb 26 18:25:53 UTC 2008
On Tue, 26 Feb 2008, David E. O'Brien wrote:
> Modified files: (Branch: RELENG_6)
> sys/fs/nullfs null_vfsops.c
> sys/fs/nwfs nwfs_vfsops.c
> sys/fs/smbfs smbfs_vfsops.c
> sys/kern vfs_default.c vfs_vnops.c
> sys/sys mount.h vnode.h
> sys/ufs/ufs quota.h ufs_quota.c ufs_vfsops.c
> Log:
> Back out MFC of "eradicate caddr_t".
> Turn's out Kris' suspisions were right - from a suttle code compatability
> point of view. Robert Watson found that ARLA code had something like this:
> typedef int (*foo_t)(caddr_t); ... foo_t fred;
> The compile gets all snarky when it finds int fred(void *) { .. }.
To be specific, it's about code on the order of the following -- in the
include file:
vfs_quotactl_t nnpfs_quotactl;
In the .c file here nnpfs_quotactl is implemented:
int
nnpfs_quotactl(struct mount *mp, int cmd, uid_t uid, caddr_t arg,
d_thread_t *p)
{
...
}
In another .c file where nnpfs_quotactl is used:
.vfs_quotactl = nnpfs_quotactl,
The compile keels over when it discovers that nnpfs_quotactl doesn't match the
implementation because it doesn't match the typedef. So it's actually our
typedef, not Arla's typedef.
In any case, thanks for backing this out -- while I like the change in
principle (and am glad it's in newer releases), this was a case of
compatibility problems outweighing benefits.
Robert N M Watson
Computer Laboratory
University of Cambridge
More information about the cvs-src
mailing list