Not sure if this is just me or not, but on a nanobsd i386 image, this breaks building the image. ---Mike --- all_subdir_geom_journal --- --- g_journal.o --- /usr/src/sys/modules/geom/geom_journal/../../../geom/journal/g_journal.c:136:1: error: incompatible pointer types initializing 'int *' with an expression of type 'u_long *' (aka 'unsigned long *') [-Werror,-Wincompatible-pointer-types] TUNABLE_INT("kern.geom.journal.cache.limit", &g_journal_cache_limit); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @/sys/kernel.h:287:3: note: expanded from macro 'TUNABLE_INT' (var), \ ^~~~~ /usr/src/sys/modules/geom/geom_journal/../../../geom/journal/g_journal.c:178:14: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare] if (cswitch < 0 || cswitch > 100) ~~~~~~~ ^ ~ 1 warning and 1 error generated. *** [g_journal.o] Error code 1 make[5]: stopped in /usr/src/sys/modules/geom/geom_journal --- all_subdir_hpt27xx --- A failure has been detected in another branch of the parallel make make[4]: stopped in /usr/src/sys/modules/hpt27xx *** [all_subdir_hpt27xx] Error code 2 make[3]: stopped in /usr/src/sys/modules --- all_subdir_geom --- --- all_subdir_geom_label --- A failure has been detected in another branch of the parallel make make[5]: stopped in /usr/src/sys/modules/geom/geom_label *** [all_subdir_geom_label] Error code 2 make[4]: stopped in /usr/src/sys/modules/geom --- all_subdir_drm2 --- A failure has been detected in another branch of the parallel make make[6]: stopped in /usr/src/sys/modules/drm2/radeonkmsfw/R700_rlc *** [all_subdir_R700_rlc] Error code 2 make[5]: stopped in /usr/src/sys/modules/drm2/radeonkmsfw 1 error make[5]: stopped in /usr/src/sys/modules/drm2/radeonkmsfw *** [all_subdir_radeonkmsfw] Error code 2 make[4]: stopped in /usr/src/sys/modules/drm2 1 error make[4]: stopped in /usr/src/sys/modules/drm2 *** [all_subdir_drm2] Error code 2 make[3]: stopped in /usr/src/sys/modules --- all_subdir_geom --- --- all_subdir_geom_gate --- A failure has been detected in another branch of the parallel make make[5]: stopped in /usr/src/sys/modules/geom/geom_gate *** [all_subdir_geom_gate] Error code 2 make[4]: stopped in /usr/src/sys/modules/geom --- all_subdir_geom_journal --- 1 error make[5]: stopped in /usr/src/sys/modules/geom/geom_journal *** [all_subdir_geom_journal] Error code 2 make[4]: stopped in /usr/src/sys/modules/geom --- all_subdir_geom_eli --- A failure has been detected in another branch of the parallel make make[5]: stopped in /usr/src/sys/modules/geom/geom_eli *** [all_subdir_geom_eli] Error code 2 make[4]: stopped in /usr/src/sys/modules/geom 4 errors make[4]: stopped in /usr/src/sys/modules/geom *** [all_subdir_geom] Error code 2 make[3]: stopped in /usr/src/sys/modules 3 errors make[3]: stopped in /usr/src/sys/modules *** [modules-all] Error code 2 make[2]: stopped in /usr/obj/nanobsd.alix2apu/usr/src/sys/apu64 1 error make[2]: stopped in /usr/obj/nanobsd.alix2apu/usr/src/sys/apu64 *** [buildkernel] Error code 2 make[1]: stopped in /usr/src 1 error make[1]: stopped in /usr/src *** [buildkernel] Error code 2 make: stopped in /usr/src 1 error On 8/14/2017 3:12 PM, Kirk McKusick wrote:> Author: mckusick > Date: Mon Aug 14 19:12:51 2017 > New Revision: 322513 > URL: https://svnweb.freebsd.org/changeset/base/322513 > > Log: > MFC of 322178: > > Bug 198500 reports bad sysctl values for gjournal cache limit. > > PR: 198500 > Submitted by: Dr. Andreas Longwitz <longwitz at incore.de> > Reported by: Eugene Grosbein > Discussed with: kib > Approved by: re (marius) > > Modified: > stable/10/sys/geom/journal/g_journal.c > Directory Properties: > stable/10/ (props changed) > > Modified: stable/10/sys/geom/journal/g_journal.c > =============================================================================> --- stable/10/sys/geom/journal/g_journal.c Mon Aug 14 19:03:55 2017 (r322512) > +++ stable/10/sys/geom/journal/g_journal.c Mon Aug 14 19:12:51 2017 (r322513) > @@ -131,28 +131,28 @@ SYSCTL_PROC(_kern_geom_journal, OID_AUTO, record_entri > SYSCTL_UINT(_kern_geom_journal, OID_AUTO, optimize, CTLFLAG_RW, > &g_journal_do_optimize, 0, "Try to combine bios on flush and copy"); > > -static u_int g_journal_cache_used = 0; > -static u_int g_journal_cache_limit = 64 * 1024 * 1024; > +static u_long g_journal_cache_used = 0; > +static u_long g_journal_cache_limit = 64 * 1024 * 1024; > TUNABLE_INT("kern.geom.journal.cache.limit", &g_journal_cache_limit); > static u_int g_journal_cache_divisor = 2; > TUNABLE_INT("kern.geom.journal.cache.divisor", &g_journal_cache_divisor); > static u_int g_journal_cache_switch = 90; > static u_int g_journal_cache_misses = 0; > static u_int g_journal_cache_alloc_failures = 0; > -static u_int g_journal_cache_low = 0; > +static u_long g_journal_cache_low = 0; > > static SYSCTL_NODE(_kern_geom_journal, OID_AUTO, cache, CTLFLAG_RW, 0, > "GEOM_JOURNAL cache"); > -SYSCTL_UINT(_kern_geom_journal_cache, OID_AUTO, used, CTLFLAG_RD, > +SYSCTL_ULONG(_kern_geom_journal_cache, OID_AUTO, used, CTLFLAG_RD, > &g_journal_cache_used, 0, "Number of allocated bytes"); > static int > g_journal_cache_limit_sysctl(SYSCTL_HANDLER_ARGS) > { > - u_int limit; > + u_long limit; > int error; > > limit = g_journal_cache_limit; > - error = sysctl_handle_int(oidp, &limit, 0, req); > + error = sysctl_handle_long(oidp, &limit, 0, req); > if (error != 0 || req->newptr == NULL) > return (error); > g_journal_cache_limit = limit; > @@ -160,7 +160,7 @@ g_journal_cache_limit_sysctl(SYSCTL_HANDLER_ARGS) > return (0); > } > SYSCTL_PROC(_kern_geom_journal_cache, OID_AUTO, limit, > - CTLTYPE_UINT | CTLFLAG_RW, NULL, 0, g_journal_cache_limit_sysctl, "I", > + CTLTYPE_ULONG | CTLFLAG_RW, NULL, 0, g_journal_cache_limit_sysctl, "I", > "Maximum number of allocated bytes"); > SYSCTL_UINT(_kern_geom_journal_cache, OID_AUTO, divisor, CTLFLAG_RDTUN, > &g_journal_cache_divisor, 0, > @@ -3059,9 +3059,9 @@ g_journal_switcher(void *arg) > kproc_exit(0); > } > if (error == 0 && g_journal_sync_requested == 0) { > - GJ_DEBUG(1, "Out of cache, force switch (used=%u " > - "limit=%u).", g_journal_cache_used, > - g_journal_cache_limit); > + GJ_DEBUG(1, "Out of cache, force switch (used=%jd " > + "limit=%jd).", (intmax_t)g_journal_cache_used, > + (intmax_t)g_journal_cache_limit); > } > GJ_TIMER_START(1, &bt); > g_journal_do_switch(mp); > _______________________________________________ > svn-src-stable-10 at freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10 > To unsubscribe, send any mail to "svn-src-stable-10-unsubscribe at freebsd.org" > >-- ------------------- Mike Tancsa, tel +1 519 651 3400 Sentex Communications, mike at sentex.net Providing Internet services since 1994 www.sentex.net Cambridge, Ontario Canada http://www.tancsa.com/
Konstantin Belousov
2017-Aug-15 21:05 UTC
svn commit: r322513 - stable/10/sys/geom/journal
On Tue, Aug 15, 2017 at 04:48:06PM -0400, Mike Tancsa wrote:> Not sure if this is just me or not, but on a nanobsd i386 image, this > breaks building the image. > > ---Mike > > --- all_subdir_geom_journal --- > --- g_journal.o --- > /usr/src/sys/modules/geom/geom_journal/../../../geom/journal/g_journal.c:136:1: > error: incompatible pointer types initializing 'int *' with an > expression of type 'u_long *' (aka 'unsigned long *') > [-Werror,-Wincompatible-pointer-types] > TUNABLE_INT("kern.geom.journal.cache.limit", &g_journal_cache_limit); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Try this on stable/10. Index: sys/geom/journal/g_journal.c ==================================================================--- sys/geom/journal/g_journal.c (revision 322542) +++ sys/geom/journal/g_journal.c (working copy) @@ -133,7 +133,7 @@ static u_long g_journal_cache_used = 0; static u_long g_journal_cache_limit = 64 * 1024 * 1024; -TUNABLE_INT("kern.geom.journal.cache.limit", &g_journal_cache_limit); +TUNABLE_LONG("kern.geom.journal.cache.limit", &g_journal_cache_limit); static u_int g_journal_cache_divisor = 2; TUNABLE_INT("kern.geom.journal.cache.divisor", &g_journal_cache_divisor); static u_int g_journal_cache_switch = 90;