From owner-p4-projects@FreeBSD.ORG Mon Mar 7 22:30:56 2011 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EC1BE1065674; Mon, 7 Mar 2011 22:30:55 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AEC1B106566B for ; Mon, 7 Mar 2011 22:30:55 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:4f8:fff6::2d]) by mx1.freebsd.org (Postfix) with ESMTP id 806138FC13 for ; Mon, 7 Mar 2011 22:30:55 +0000 (UTC) Received: from skunkworks.freebsd.org (localhost [127.0.0.1]) by skunkworks.freebsd.org (8.14.4/8.14.4) with ESMTP id p27MUt08091489 for ; Mon, 7 Mar 2011 22:30:55 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.4/8.14.4/Submit) id p27MUt0E091486 for perforce@freebsd.org; Mon, 7 Mar 2011 22:30:55 GMT (envelope-from jhb@freebsd.org) Date: Mon, 7 Mar 2011 22:30:55 GMT Message-Id: <201103072230.p27MUt0E091486@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 189688 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2011 22:30:56 -0000 http://p4web.freebsd.org/@@189688?ac=10 Change 189688 by jhb@jhb_jhbbsd on 2011/03/07 22:30:28 Flesh out and compile. Affected files ... .. //depot/projects/pci/sys/modules/rman/rman.c#2 edit Differences ... ==== //depot/projects/pci/sys/modules/rman/rman.c#2 (text+ko) ==== @@ -2,6 +2,8 @@ * Regression tests for rman_adjust_resource(). */ +#include +#include #include #include #include @@ -24,6 +26,8 @@ SYSCTL_ULONG(_debug_rman, OID_AUTO, count, CTLFLAG_RW, &count_value, 0, "count parameter"); +static void unload(void); + static int sysctl_rman_alloc(SYSCTL_HANDLER_ARGS) { @@ -47,6 +51,45 @@ sysctl_rman_alloc, "I", "allocate a resource"); static int +sysctl_rman_adjust(SYSCTL_HANDLER_ARGS) +{ + int error, i = 0; + + error = sysctl_handle_int(oidp, &i, sizeof(i), req); + if (error || req->newptr == NULL || i == 0) + return (error); + if (r == NULL) + return (EINVAL); + error = rman_adjust_resource(r, start_value, end_value); + if (error) + printf("Failed to adjust resource\n"); + else + printf("Adjusted to (%lu, %lu)\n", rman_get_start(r), + rman_get_end(r)); + return (error); +} +SYSCTL_PROC(_debug_rman, OID_AUTO, adjust, CTLTYPE_INT | CTLFLAG_RW, 0, 0, + sysctl_rman_adjust, "I", "adjust a resource"); + +static int +sysctl_rman_release(SYSCTL_HANDLER_ARGS) +{ + int error, i = 0; + + error = sysctl_handle_int(oidp, &i, sizeof(i), req); + if (error || req->newptr == NULL || i == 0) + return (error); + if (r == NULL) + return (EINVAL); + error = rman_release_resource(r); + if (error == 0) + r = NULL; + return (error); +} +SYSCTL_PROC(_debug_rman, OID_AUTO, release, CTLTYPE_INT | CTLFLAG_RW, 0, 0, + sysctl_rman_release, "I", "release a resource"); + +static int load(void) { int error; @@ -80,15 +123,6 @@ printf("Failed to destroy rman: %d\n", error); } -static void -run_rman_tests(void) -{ - error = rman_adjust_resource(r, 10, 15); - if (error != EINVAL) { - printf("Hmm, adjust to (10, 15) should have failed\n"); - kdb_enter(KDB_W -} - static int mod_event(struct module *module, int cmd, void *arg) {