Date: Thu, 11 Jan 2007 18:02:43 GMT From: Marko Zec <zec@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 112779 for review Message-ID: <200701111802.l0BI2hws026170@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=112779 Change 112779 by zec@zec_tca51 on 2007/01/11 18:02:15 Convert virtualized sysctl handlers to use the new SYSCTL_RESOLVE_V_ARG1() macro. Affected files ... .. //depot/projects/vimage/src/sys/kern/kern_sysctl.c#3 edit Differences ... ==== //depot/projects/vimage/src/sys/kern/kern_sysctl.c#3 (text+ko) ==== @@ -833,32 +833,22 @@ sysctl_handle_v_int(SYSCTL_HANDLER_V_ARGS) { int error = 0; - void *ptr; + + SYSCTL_RESOLVE_V_ARG1(); /* * Attempt to get a coherent snapshot by making a copy of the data. */ - - switch (subs) { - case V_NET: - ptr = curthread->td_vimage->v_vnetb->mod_data[mod]; - ptr = (void *) ((int) ptr + (int) arg1); - break; - - default: - panic("unsupported module id %d", subs); - } + error = SYSCTL_OUT(req, arg1, sizeof(int)); - error = SYSCTL_OUT(req, ptr, sizeof(int)); - if (error || !req->newptr) return (error); - if (!ptr) + if (!arg1) error = EPERM; else - error = SYSCTL_IN(req, ptr, sizeof(int)); + error = SYSCTL_IN(req, arg1, sizeof(int)); return (error); } #endif @@ -1017,24 +1007,14 @@ int error, tries; u_int generation; struct sysctl_req req2; - void *ptr; - switch (subs) { - - case V_NET: - ptr = curthread->td_vimage->v_vnetb->mod_data[mod]; - ptr = (void *) ((int) ptr + (int) arg1); - break; - - default: - panic("unsupported module id %d", subs); - } + SYSCTL_RESOLVE_V_ARG1(); tries = 0; req2 = *req; retry: generation = curthread->td_generation; - error = SYSCTL_OUT(req, ptr, arg2); + error = SYSCTL_OUT(req, arg1, arg2); if (error) return (error); tries++; @@ -1043,7 +1023,7 @@ goto retry; } - error = SYSCTL_IN(req, ptr, arg2); + error = SYSCTL_IN(req, arg1, arg2); return (error); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200701111802.l0BI2hws026170>