From owner-p4-projects@FreeBSD.ORG Fri Aug 22 07:13:00 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AA4181065676; Fri, 22 Aug 2008 07:13:00 +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 53FA41065672 for ; Fri, 22 Aug 2008 07:13:00 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 418D88FC08 for ; Fri, 22 Aug 2008 07:13:00 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m7M7D0wl002026 for ; Fri, 22 Aug 2008 07:13:00 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m7M7D02L002024 for perforce@freebsd.org; Fri, 22 Aug 2008 07:13:00 GMT (envelope-from jb@freebsd.org) Date: Fri, 22 Aug 2008 07:13:00 GMT Message-Id: <200808220713.m7M7D02L002024@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 148086 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Aug 2008 07:13:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=148086 Change 148086 by jb@freebsd3 on 2008/08/22 07:12:17 MFC Affected files ... .. //depot/projects/dtrace7/src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#8 edit .. //depot/projects/dtrace7/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#5 edit .. //depot/projects/dtrace7/src/sys/cddl/dev/dtrace/dtrace_load.c#6 edit .. //depot/projects/dtrace7/src/sys/cddl/dev/dtrace/dtrace_unload.c#6 edit .. //depot/projects/dtrace7/src/sys/i386/linux/Makefile#2 edit .. //depot/projects/dtrace7/src/sys/i386/linux/syscalls.conf#2 edit .. //depot/projects/dtrace7/src/sys/kern/makesyscalls.sh#4 edit .. //depot/projects/dtrace7/src/sys/modules/dtrace/Makefile#7 edit .. //depot/projects/dtrace7/src/sys/modules/zfs/Makefile#7 edit Differences ... ==== //depot/projects/dtrace7/src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#8 (text) ==== @@ -13617,9 +13617,7 @@ if (state->dts_deadman != CYCLIC_NONE) cyclic_remove(state->dts_deadman); #else - callout_stop(&state->dts_cleaner); callout_drain(&state->dts_cleaner); - callout_stop(&state->dts_deadman); callout_drain(&state->dts_deadman); #endif @@ -15240,13 +15238,11 @@ #endif #if !defined(sun) -#if __FreeBSD_version >= 800039 static void dtrace_dtr(void *data __unused) { } #endif -#endif /*ARGSUSED*/ static int @@ -15273,24 +15269,6 @@ #else cred_t *cred_p = NULL; -#if __FreeBSD_version < 800039 - /* - * The first minor device is the one that is cloned so there is - * nothing more to do here. - */ - if (minor(dev) == 0) - return 0; - - /* - * Devices are cloned, so if the DTrace state has already - * been allocated, that means this device belongs to a - * different client. Each client should open '/dev/dtrace' - * to get a cloned device. - */ - if (dev->si_drv1 != NULL) - return (EBUSY); -#endif - cred_p = dev->si_cred; #endif @@ -15300,13 +15278,6 @@ */ dtrace_cred2priv(cred_p, &priv, &uid, &zoneid); if (priv == DTRACE_PRIV_NONE) { -#if !defined(sun) -#if __FreeBSD_version < 800039 - /* Destroy the cloned device. */ - destroy_dev(dev); -#endif -#endif - return (EACCES); } @@ -15337,12 +15308,8 @@ state = dtrace_state_create(devp, cred_p); #else state = dtrace_state_create(dev); -#if __FreeBSD_version < 800039 - dev->si_drv1 = state; -#else devfs_set_cdevpriv(state, dtrace_dtr); #endif -#endif mutex_exit(&cpu_lock); @@ -15354,12 +15321,6 @@ --dtrace_opens; #endif mutex_exit(&dtrace_lock); -#if !defined(sun) -#if __FreeBSD_version < 800039 - /* Destroy the cloned device. */ - destroy_dev(dev); -#endif -#endif return (EAGAIN); } @@ -15385,16 +15346,8 @@ state = ddi_get_soft_state(dtrace_softstate, minor); #else -#if __FreeBSD_version < 800039 - dtrace_state_t *state = dev->si_drv1; - - /* Check if this is not a cloned device. */ - if (minor(dev) == 0) - return (0); -#else dtrace_state_t *state; devfs_get_cdevpriv((void **) &state); -#endif #endif @@ -15414,12 +15367,8 @@ #if !defined(sun) kmem_free(state, 0); -#if __FreeBSD_version < 800039 - dev->si_drv1 = NULL; -#else devfs_clear_cdevpriv(); #endif -#endif } ASSERT(dtrace_opens > 0); @@ -15433,11 +15382,6 @@ mutex_exit(&dtrace_lock); mutex_exit(&cpu_lock); -#if __FreeBSD_version < 800039 - /* Schedule this cloned device to be destroyed. */ - destroy_dev_sched(dev); -#endif - return (0); } @@ -16470,20 +16414,14 @@ static d_ioctl_t dtrace_ioctl; static void dtrace_load(void *); static int dtrace_unload(void); -#if __FreeBSD_version < 800039 -static void dtrace_clone(void *, struct ucred *, char *, int , struct cdev **); -static struct clonedevs *dtrace_clones; /* Ptr to the array of cloned devices. */ -static eventhandler_tag eh_tag; /* Event handler tag. */ -#else static struct cdev *dtrace_dev; -#endif void dtrace_invop_init(void); void dtrace_invop_uninit(void); static struct cdevsw dtrace_cdevsw = { .d_version = D_VERSION, - .d_flags = D_TRACKCLOSE | D_NEEDMINOR, + .d_flags = D_TRACKCLOSE, .d_close = dtrace_close, .d_ioctl = dtrace_ioctl, .d_open = dtrace_open, @@ -16491,9 +16429,6 @@ }; #include -#if __FreeBSD_version < 800039 -#include -#endif #include #include #include ==== //depot/projects/dtrace7/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#5 (text+ko) ==== @@ -32,12 +32,8 @@ dtrace_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flags __unused, struct thread *td) { -#if __FreeBSD_version < 800039 - dtrace_state_t *state = dev->si_drv1; -#else dtrace_state_t *state; devfs_get_cdevpriv((void **) &state); -#endif int error = 0; if (state == NULL) return (EINVAL); ==== //depot/projects/dtrace7/src/sys/cddl/dev/dtrace/dtrace_load.c#6 (text+ko) ==== @@ -154,15 +154,7 @@ mutex_exit(&cpu_lock); -#if __FreeBSD_version < 800039 - /* Enable device cloning. */ - clone_setup(&dtrace_clones); - - /* Setup device cloning events. */ - eh_tag = EVENTHANDLER_REGISTER(dev_clone, dtrace_clone, 0, 1000); -#else dtrace_dev = make_dev(&dtrace_cdevsw, 0, UID_ROOT, GID_WHEEL, 0600, "dtrace/dtrace"); -#endif return; } ==== //depot/projects/dtrace7/src/sys/cddl/dev/dtrace/dtrace_unload.c#6 (text+ko) ==== @@ -28,22 +28,7 @@ dtrace_state_t *state; int error = 0; -#if __FreeBSD_version < 800039 - /* - * Check if there is still an event handler callback - * registered. - */ - if (eh_tag != 0) { - /* De-register the device cloning event handler. */ - EVENTHANDLER_DEREGISTER(dev_clone, eh_tag); - eh_tag = 0; - - /* Stop device cloning. */ - clone_cleanup(&dtrace_clones); - } -#else destroy_dev(dtrace_dev); -#endif mutex_enter(&dtrace_provider_lock); mutex_enter(&dtrace_lock); ==== //depot/projects/dtrace7/src/sys/i386/linux/Makefile#2 (text+ko) ==== @@ -12,4 +12,6 @@ -mv -f linux_sysent.c linux_sysent.c.bak -mv -f linux_syscall.h linux_syscall.h.bak -mv -f linux_proto.h linux_proto.h.bak + -mv -f linux_systrace.c linux_systrace.c.bak + -mv -f linux_syscallnames.c linux_syscallnames.c.bak sh ../../kern/makesyscalls.sh syscalls.master syscalls.conf ==== //depot/projects/dtrace7/src/sys/i386/linux/syscalls.conf#2 (text+ko) ==== @@ -1,5 +1,5 @@ # $FreeBSD: src/sys/i386/linux/syscalls.conf,v 1.7 2006/08/15 17:25:55 jhb Exp $ -sysnames="/dev/null" +sysnames="linux_syscallnames.c" sysproto="linux_proto.h" sysproto_h=_LINUX_SYSPROTO_H_ syshdr="linux_syscall.h" @@ -8,4 +8,4 @@ syscallprefix="LINUX_SYS_" switchname="linux_sysent" namesname="linux_syscallnames" -systrace="/dev/null" +systrace="linux_systrace.c" ==== //depot/projects/dtrace7/src/sys/kern/makesyscalls.sh#4 (text+ko) ==== @@ -1,6 +1,6 @@ #! /bin/sh - # @(#)makesyscalls.sh 8.1 (Berkeley) 6/10/93 -# $FreeBSD: src/sys/kern/makesyscalls.sh,v 1.68.2.1 2008/07/25 17:46:01 jhb Exp $ +# $FreeBSD: src/sys/kern/makesyscalls.sh,v 1.70 2008/03/27 01:53:44 jb Exp $ set -e @@ -328,7 +328,7 @@ printf("\t\tstruct %s *p = params;\n", argalias) > systrace for (i = 1; i <= argc; i++) { printf("\t\tcase %d:\n\t\t\tp = \"%s\";\n\t\t\tbreak;\n", i - 1, argtype[i]) > systracetmp - if (index(argtype[i], "*") > 0 || argtype[i] == "caddr_t") + if (index(argtype[i], "*") > 0 || argtype[i] == "caddr_t" || argtype[i] == "l_handler_t") printf("\t\tuarg[%d] = (intptr_t) p->%s; /* %s */\n", \ i - 1, \ argname[i], argtype[i]) > systrace ==== //depot/projects/dtrace7/src/sys/modules/dtrace/Makefile#7 (text+ko) ==== @@ -16,7 +16,6 @@ SUBDIR+= fbt .elif ${MACHINE_ARCH} == "i386" SUBDIR+= fbt -SUBDIR+= linsystrace .endif .include ==== //depot/projects/dtrace7/src/sys/modules/zfs/Makefile#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/modules/zfs/Makefile,v 1.6.2.2 2008/04/25 11:02:01 marius Exp $ +# $FreeBSD: src/sys/modules/zfs/Makefile,v 1.11 2008/04/11 22:59:33 marius Exp $ KMOD= zfs @@ -78,6 +78,7 @@ CFLAGS+=-I${SUNW}/common/zfs CFLAGS+=-I${SUNW}/common CFLAGS+=-I${.CURDIR}/../../../include +CFLAGS+=-DBUILDING_ZFS #CFLAGS+=-DDEBUG=1 #DEBUG_FLAGS=-g