Module Name: src Committed By: jym Date: Fri Sep 30 22:08:20 UTC 2011
Modified Files: src/common/include/prop: prop_array.h prop_dictionary.h src/common/lib/libprop: prop_array.3 prop_dictionary.3 prop_kern.c prop_send_syscall.3 src/distrib/sets/lists/comp: mi src/lib/libprop: Makefile src/lib/libquota: getufsquota.c src/usr.bin/quota: getvfsquota.c src/usr.sbin/edquota: edquota.c src/usr.sbin/quotaon: quotaon.c src/usr.sbin/repquota: repquota.c Log Message: Fix an implementation inconsistency with the prop_*_send_syscall() and prop_*_recv_syscall() functions from proplib(3). They now share the same logic as the one from prop_*_send_ioctl() functions: - returns an int - 0 indicates "no error", otherwise returns the error number (and set errno) Many consumers of the prop_*_{ioctl, syscall} expect errno to be set on error and use err() to display the error message. As such, ensures that errno gets set before returning from these functions. prop_*_send_syscall() functions returned a boolean, and now return an int. Fix all call sites to use the new paradigm (only quota2 is affected in src). As the prop_*_{send,recv}_syscall() API appeared in -current and is only used by the recent quota2 code, I am not bumping the lib. The API change only affects the prop_*_send_syscall() function (recv_syscall()s were already used correctly), so ensure you are not mixing "old" -current quota binaries with a new proplib(3) (or the other way around). This change will be announced via a HEADS-UP and UPDATING. Does not affect the kernel part of proplib. Document the correct API in prop_array(3) and prop_dictionary(3). Thanks to Francois Tigeot for noticing the API inconsistency and reporting it on tech-kern@. ok bouyer@. To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/common/include/prop/prop_array.h cvs rdiff -u -r1.13 -r1.14 src/common/include/prop/prop_dictionary.h cvs rdiff -u -r1.12 -r1.13 src/common/lib/libprop/prop_array.3 cvs rdiff -u -r1.17 -r1.18 src/common/lib/libprop/prop_dictionary.3 cvs rdiff -u -r1.16 -r1.17 src/common/lib/libprop/prop_kern.c cvs rdiff -u -r1.4 -r1.5 src/common/lib/libprop/prop_send_syscall.3 cvs rdiff -u -r1.1682 -r1.1683 src/distrib/sets/lists/comp/mi cvs rdiff -u -r1.18 -r1.19 src/lib/libprop/Makefile cvs rdiff -u -r1.2 -r1.3 src/lib/libquota/getufsquota.c cvs rdiff -u -r1.7 -r1.8 src/usr.bin/quota/getvfsquota.c cvs rdiff -u -r1.35 -r1.36 src/usr.sbin/edquota/edquota.c cvs rdiff -u -r1.26 -r1.27 src/usr.sbin/quotaon/quotaon.c cvs rdiff -u -r1.31 -r1.32 src/usr.sbin/repquota/repquota.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.