On Wed, 26 Mar 2008, Doug Rabson wrote:

dfr         2008-03-26 15:23:13 UTC

 FreeBSD src repository

 Modified files:
   lib/libc/sys         Symbol.map fcntl.2
     [ ... ]
   sys/sys              fcntl.h lockf.h
     [ ... ]
 Log:
 Add the new kernel-mode NFS Lock Manager. To use it instead of the
 user-mode lock manager, build a kernel with the NFSLOCKD option and
 add '-k' to 'rpc_lockd_flags' in rc.conf.

Sorry to notice this 1 year too late, but doesn't this
break ABI?  You have changed the size (increased) of
struct flock and haven't really provided a compat version
of fcntl() that will work with binaries built before
the change.

Is there any way that the new field can be accidentally
used by the kernel from a binary built against the older
struct flock?

Now that we have symbol versioning, the way this normally
should be handled is by adding a compat fcntl() for
FBSD_1.0 in libc, and placing the new fcntl() in FBSD_1.1.
And since libthr wraps fcntl() for cancellation points,
I believe it would also need the same compat functions.

--
DE
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to