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

Robert Watson rwatson at FreeBSD.org
Tue Feb 26 12:33:32 UTC 2008


On Mon, 25 Feb 2008, Dag-Erling Smørgrav wrote:

> No, it changes neither the API nor the ABI.  It replaces caddr_t (which is 
> 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 function 
pointer typedef.  Here's the test I had to add to Arla to detect the change 
with autoconf; without this autoconf mess and changed prototypes in the Arla 
nnpfs code, I can't build nnpfs on -CURRENT, and presumably now also on our 
-STABLE branches:

AC_DEFUN([AC_BSD_FUNC_VFS_QUOTACTL], [
AC_CACHE_CHECK(if VFS_QUOTACTL takes caddr_t argument, 
ac_cv_func_vfs_quotactl_caddr,
AC_TRY_COMPILE_KERNEL([
#ifdef HAVE_SYS_CDEFS_H
#include <sys/cdefs.h>
#endif
#include <sys/param.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/uio.h>
#include <sys/vnode.h>
#include <sys/mount.h>

vfs_quotactl_t foo_quotactl;

int
foo_quotactl(struct mount *mp, int cmds, uid_t uid, caddr_t arg,
     struct thread *td)
{

         return (0);
}
],[],
ac_cv_func_vfs_quotctl_caddr=yes,
ac_cv_func_vfs_quotactl_caddr=no))
if test "$ac_cv_func_vfs_quotactl_caddr" = yes; then
         AC_DEFINE(HAVE_VFS_QUOTACTL_CADDR, 1,
         [define if VFS_QUOTACTL takes a caddr_t argument])
fi
])


More information about the cvs-all mailing list