From owner-svn-src-vendor@FreeBSD.ORG Tue Sep 4 21:38:32 2012 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7CC9C106564A; Tue, 4 Sep 2012 21:38:32 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 644DD8FC12; Tue, 4 Sep 2012 21:38:32 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q84LcWT4022845; Tue, 4 Sep 2012 21:38:32 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q84LcWFO022836; Tue, 4 Sep 2012 21:38:32 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201209042138.q84LcWFO022836@svn.freebsd.org> From: Martin Matuska Date: Tue, 4 Sep 2012 21:38:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240106 - in vendor/illumos/dist: cmd/dtrace/test/tst/common/drops cmd/dtrace/test/tst/common/pid cmd/dtrace/test/tst/common/usdt lib/libdtrace/common X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Sep 2012 21:38:32 -0000 Author: mm Date: Tue Sep 4 21:38:31 2012 New Revision: 240106 URL: http://svn.freebsd.org/changeset/base/240106 Log: Update vendor/illumos to illumos-gate 13788:0cb9e2232ae0 (dtrace changes, illumos issue #3123) Added: vendor/illumos/dist/cmd/dtrace/test/tst/common/usdt/lazyprobe.d vendor/illumos/dist/cmd/dtrace/test/tst/common/usdt/tst.lazyprobe.c vendor/illumos/dist/cmd/dtrace/test/tst/common/usdt/tst.lazyprobe1.ksh vendor/illumos/dist/cmd/dtrace/test/tst/common/usdt/tst.lazyprobe2.ksh vendor/illumos/dist/lib/libdtrace/common/dlink.h vendor/illumos/dist/lib/libdtrace/common/dlink_audit.c vendor/illumos/dist/lib/libdtrace/common/dlink_init.c Deleted: vendor/illumos/dist/lib/libdtrace/common/drti.c Modified: vendor/illumos/dist/cmd/dtrace/test/tst/common/drops/drp.DTRACEDROP_STKSTROVERFLOW.d vendor/illumos/dist/cmd/dtrace/test/tst/common/pid/tst.emptystack.exe Modified: vendor/illumos/dist/cmd/dtrace/test/tst/common/drops/drp.DTRACEDROP_STKSTROVERFLOW.d ============================================================================== --- vendor/illumos/dist/cmd/dtrace/test/tst/common/drops/drp.DTRACEDROP_STKSTROVERFLOW.d Tue Sep 4 21:06:53 2012 (r240105) +++ vendor/illumos/dist/cmd/dtrace/test/tst/common/drops/drp.DTRACEDROP_STKSTROVERFLOW.d Tue Sep 4 21:38:31 2012 (r240106) @@ -24,7 +24,9 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" +/* + * Copyright (c) 2012 by Delphix. All rights reserved. + */ #pragma D option destructive #pragma D option jstackstrsize=1 @@ -32,7 +34,13 @@ BEGIN { - system("java -version"); + /* + * Since some java versions are erroneously compiled with -xlazyload + * and therefore don't activate their ustack() helper by default, we + * use the DTrace helper audit library to activate it. + */ + system("LD_AUDIT_32=/usr/lib/dtrace/libdtrace_forceload.so %s", + "java -version"); } syscall:::entry Modified: vendor/illumos/dist/cmd/dtrace/test/tst/common/pid/tst.emptystack.exe ============================================================================== Binary file (source and/or target). No diff available. Added: vendor/illumos/dist/cmd/dtrace/test/tst/common/usdt/lazyprobe.d ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/illumos/dist/cmd/dtrace/test/tst/common/usdt/lazyprobe.d Tue Sep 4 21:38:31 2012 (r240106) @@ -0,0 +1,22 @@ +/* + * CDDL HEADER START + * + * This file and its contents are supplied under the terms of the + * Common Development and Distribution License ("CDDL"), version 1.0. + * You may only use this file in accordance with the terms of version + * 1.0 of the CDDL. + * + * A full copy of the text of the CDDL should have accompanied this + * source. A copy of the CDDL is also available via the Internet at + * http://www.illumos.org/license/CDDL. + * + * CDDL HEADER END + */ + +/* + * Copyright (c) 2012 by Delphix. All rights reserved. + */ + +provider lazyprobe { + probe fire(); +}; Added: vendor/illumos/dist/cmd/dtrace/test/tst/common/usdt/tst.lazyprobe.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/illumos/dist/cmd/dtrace/test/tst/common/usdt/tst.lazyprobe.c Tue Sep 4 21:38:31 2012 (r240106) @@ -0,0 +1,30 @@ +/* + * CDDL HEADER START + * + * This file and its contents are supplied under the terms of the + * Common Development and Distribution License ("CDDL"), version 1.0. + * You may only use this file in accordance with the terms of version + * 1.0 of the CDDL. + * + * A full copy of the text of the CDDL should have accompanied this + * source. A copy of the CDDL is also available via the Internet at + * http://www.illumos.org/license/CDDL. + * + * CDDL HEADER END + */ + +/* + * Copyright (c) 2012 by Delphix. All rights reserved. + */ + +#include "lazyprobe.h" + +int +main(int argc, char **argv) +{ + for (;;) { + LAZYPROBE_FIRE(); + } + + return (0); +} Added: vendor/illumos/dist/cmd/dtrace/test/tst/common/usdt/tst.lazyprobe1.ksh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/illumos/dist/cmd/dtrace/test/tst/common/usdt/tst.lazyprobe1.ksh Tue Sep 4 21:38:31 2012 (r240106) @@ -0,0 +1,63 @@ +#!/usr/bin/ksh +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Use is subject to license terms. +# + +# +# Copyright (c) 2012 by Delphix. All rights reserved. +# + +if [ $# != 1 ]; then + echo expected one argument: '<'dtrace-path'>' + exit 2 +fi + +dtrace=$1 + +# +# Verify that USDT objects built with -xlazyload don't fire by default. +# + +./tst.lazyprobe.exe & +id=$! + +ret=1 + +$dtrace -Z -s /dev/stdin <<-EOF + lazyprobe*:::fire + { + exit(1); + } + tick-10hz + /i++ > 20/ + { + exit(0); + } +EOF +ret=$? + +kill -9 $id + +exit $ret Added: vendor/illumos/dist/cmd/dtrace/test/tst/common/usdt/tst.lazyprobe2.ksh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/illumos/dist/cmd/dtrace/test/tst/common/usdt/tst.lazyprobe2.ksh Tue Sep 4 21:38:31 2012 (r240106) @@ -0,0 +1,64 @@ +#!/usr/bin/ksh +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Use is subject to license terms. +# + +# +# Copyright (c) 2012 by Delphix. All rights reserved. +# + +if [ $# != 1 ]; then + echo expected one argument: '<'dtrace-path'>' + exit 2 +fi + +dtrace=$1 + +# +# Verify that USDT objects built with -xlazyload fire by default when using +# the DTrace audit library. +# + +LD_AUDIT_32=/usr/lib/dtrace/libdtrace_forceload.so ./tst.lazyprobe.exe & +id=$! + +ret=1 + +$dtrace -Z -s /dev/stdin <<-EOF + lazyprobe*:::fire + { + exit(0); + } + tick-10hz + /i++ > 20/ + { + exit(1); + } +EOF +ret=$? + +kill -9 $id + +exit $ret Added: vendor/illumos/dist/lib/libdtrace/common/dlink.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/illumos/dist/lib/libdtrace/common/dlink.h Tue Sep 4 21:38:31 2012 (r240106) @@ -0,0 +1,40 @@ +/* + * CDDL HEADER START + * + * This file and its contents are supplied under the terms of the + * Common Development and Distribution License ("CDDL"), version 1.0. + * You may only use this file in accordance with the terms of version + * 1.0 of the CDDL. + * + * A full copy of the text of the CDDL should have accompanied this + * source. A copy of the CDDL is also available via the Internet at + * http://www.illumos.org/license/CDDL. + * + * CDDL HEADER END + */ + +/* + * Copyright (c) 2012 by Delphix. All rights reserved. + */ + +#ifndef _DLINK_H +#define _DLINK_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +extern const char *devname; + +extern void dprintf(int, const char *, ...); +extern void dtrace_link_init(void); +extern void dtrace_link_dof(dof_hdr_t *, Lmid_t, const char *, uintptr_t); + +#ifdef __cplusplus +} +#endif + +#endif /* _DLINK_H */ Added: vendor/illumos/dist/lib/libdtrace/common/dlink_audit.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/illumos/dist/lib/libdtrace/common/dlink_audit.c Tue Sep 4 21:38:31 2012 (r240106) @@ -0,0 +1,128 @@ +/* + * CDDL HEADER START + * + * This file and its contents are supplied under the terms of the + * Common Development and Distribution License ("CDDL"), version 1.0. + * You may only use this file in accordance with the terms of version + * 1.0 of the CDDL. + * + * A full copy of the text of the CDDL should have accompanied this + * source. A copy of the CDDL is also available via the Internet at + * http://www.illumos.org/license/CDDL. + * + * CDDL HEADER END + */ + +/* + * Copyright (c) 2012 by Delphix. All rights reserved. + */ + +/* + * This file implements an audit library that can be used to force the loading + * of helper providers. The default disposition for a helper provider -- USDT + * and ustack helpers -- is to load itself from it's containing object's .init + * section. In cases where startup time is deemed critical, USDT authors can + * use the -xlazyload option to dtrace(1M) to disable automatic loading (it's + * difficult to make the case for the utility of this feature for anything + * other than libc which, indeed, was the sole motivation). If a binary has + * been compiled with automatic loading disabled, this audit library may be + * used to force automatic loading: + * + * LD_AUDIT_32=/usr/lib/dtrace/libdaudit.so + * LD_AUDIT_64=/usr/lib/dtrace/64/libdaudit.so + */ + +#include +#include +#include +#include + +#include + +typedef struct obj_list { + struct obj_list *ol_next; + char *ol_name; + uintptr_t ol_addr; + Lmid_t ol_lmid; +} obj_list_t; + +static obj_list_t *list; + +#pragma init(dtrace_daudit_init) +static void +dtrace_daudit_init(void) +{ + dtrace_link_init(); +} + +/*ARGSUSED*/ +uint_t +la_version(uint_t version) +{ + return (LAV_CURRENT); +} + +/* + * Record objects into our linked list as they're loaded. + */ +/*ARGSUSED*/ +uint_t +la_objopen(Link_map *lmp, Lmid_t lmid, uintptr_t *cookie) +{ + obj_list_t *node; + + /* + * If we can't allocate the next node in our list, we'll try to emit a + * message, but it's possible that might fail as well. + */ + if ((node = malloc(sizeof (obj_list_t))) == NULL) { + dprintf(0, "libdaudit: failed to allocate"); + return (0); + } + node->ol_next = list; + node->ol_name = strdup(lmp->l_name); + node->ol_addr = lmp->l_addr; + node->ol_lmid = lmid; + list = node; + + return (0); +} + +/* + * Once the link maps have reached a consistent state, process the list of + * objects that were loaded. We need to use libproc to search for the + * ___SUNW_dof symbol rather than dlsym(3C) since the symbol is not in the + * dynamic (run-time) symbol table (though it is, of course, in the symtab). + * Once we find it, we ioctl(2) it to the kernel just as we would have from + * the .init section if automatic loading were enabled. + */ +/*ARGSUSED*/ +void +la_activity(uintptr_t *cookie, uint_t flags) +{ + struct ps_prochandle *P; + int err, ret; + GElf_Sym sym; + + if (flags != LA_ACT_CONSISTENT) + return; + + while (list != NULL) { + obj_list_t *node = list; + char *name = node->ol_name; + + list = node->ol_next; + + P = Pgrab(getpid(), PGRAB_RDONLY, &err); + ret = Plookup_by_name(P, name, "___SUNW_dof", &sym); + Prelease(P, 0); + + if (ret == 0) { + dtrace_link_dof((void *)(uintptr_t)sym.st_value, + node->ol_lmid, node->ol_name, node->ol_addr); + } + + free(node->ol_name); + free(node); + } +} Added: vendor/illumos/dist/lib/libdtrace/common/dlink_init.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/illumos/dist/lib/libdtrace/common/dlink_init.c Tue Sep 4 21:38:31 2012 (r240106) @@ -0,0 +1,85 @@ +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +/* + * Copyright (c) 2012 by Delphix. All rights reserved. + */ + +/* + * This is the basis for drti.o which dt_link.c links into the object file + * generated by dtrace(1M) -G by default (note that -xlazyload disables this). + */ + +#include +#include +#include +#include + +#include + +static int gen; /* DOF helper generation */ +extern dof_hdr_t __SUNW_dof; /* DOF defined in the .SUNW_dof section */ + +#pragma init(dtrace_drti_init) +static void +dtrace_drti_init(void) +{ + Link_map *lmp; + Lmid_t lmid; + + dtrace_link_init(); + + if (dlinfo(RTLD_SELF, RTLD_DI_LINKMAP, &lmp) == -1 || lmp == NULL) { + dprintf(1, "couldn't discover module name or address\n"); + return; + } + + if (dlinfo(RTLD_SELF, RTLD_DI_LMID, &lmid) == -1) { + dprintf(1, "couldn't discover link map ID\n"); + return; + } + + dtrace_link_dof(&__SUNW_dof, lmid, lmp->l_name, lmp->l_addr); +} + +#pragma fini(dtrace_drti_fini) +static void +dtrace_drti_fini(void) +{ + int fd; + + if ((fd = open64(devname, O_RDWR)) < 0) { + dprintf(1, "failed to open helper device %s", devname); + return; + } + + if ((gen = ioctl(fd, DTRACEHIOC_REMOVE, gen)) == -1) + dprintf(1, "DTrace ioctl failed to remove DOF (%d)\n", gen); + else + dprintf(1, "DTrace ioctl removed DOF (%d)\n", gen); + + (void) close(fd); +} From owner-svn-src-vendor@FreeBSD.ORG Tue Sep 4 21:58:23 2012 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 71B4A1065670; Tue, 4 Sep 2012 21:58:23 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 522A28FC14; Tue, 4 Sep 2012 21:58:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q84LwNJe025215; Tue, 4 Sep 2012 21:58:23 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q84LwNfO025200; Tue, 4 Sep 2012 21:58:23 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201209042158.q84LwNfO025200@svn.freebsd.org> From: Martin Matuska Date: Tue, 4 Sep 2012 21:58:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240110 - vendor-sys/illumos/dist/uts/common/fs/zfs vendor-sys/illumos/dist/uts/common/fs/zfs/sys vendor/illumos/dist/cmd/ztest vendor/illumos/dist/lib/libzpool/common/sys X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Sep 2012 21:58:23 -0000 Author: mm Date: Tue Sep 4 21:58:22 2012 New Revision: 240110 URL: http://svn.freebsd.org/changeset/base/240110 Log: Update vendor/illumos/dist and vendor/illumos-gate/dist to illumos-gate revision 13794:7c5e0e746b2c Obtained from: ssh://anonhg@hg.illumos.org/illumos-gate Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c vendor-sys/illumos/dist/uts/common/fs/zfs/bptree.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_traverse.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_tx.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dataset.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dir.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_synctask.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa_history.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa_misc.c vendor-sys/illumos/dist/uts/common/fs/zfs/sys/arc.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dnode.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_debug.h vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c vendor-sys/illumos/dist/uts/common/fs/zfs/zio.c Changes in other areas also in this revision: Modified: vendor/illumos/dist/cmd/ztest/ztest.c vendor/illumos/dist/lib/libzpool/common/sys/zfs_context.h Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c Tue Sep 4 21:56:16 2012 (r240109) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c Tue Sep 4 21:58:22 2012 (r240110) @@ -135,6 +135,12 @@ #include #include +#ifndef _KERNEL +/* set with ZFS_DEBUG=watch, to enable watchpoints on frozen buffers */ +boolean_t arc_watch = B_FALSE; +int arc_procfd; +#endif + static kmutex_t arc_reclaim_thr_lock; static kcondvar_t arc_reclaim_thr_cv; /* used to signal reclaim thr */ static uint8_t arc_thread_exit; @@ -474,6 +480,7 @@ static void arc_get_data_buf(arc_buf_t * static void arc_access(arc_buf_hdr_t *buf, kmutex_t *hash_lock); static int arc_evict_needed(arc_buf_contents_t type); static void arc_evict_ghost(arc_state_t *state, uint64_t spa, int64_t bytes); +static void arc_buf_watch(arc_buf_t *buf); static boolean_t l2arc_write_eligible(uint64_t spa_guid, arc_buf_hdr_t *ab); @@ -949,6 +956,50 @@ arc_cksum_compute(arc_buf_t *buf, boolea fletcher_2_native(buf->b_data, buf->b_hdr->b_size, buf->b_hdr->b_freeze_cksum); mutex_exit(&buf->b_hdr->b_freeze_lock); + arc_buf_watch(buf); +} + +#ifndef _KERNEL +typedef struct procctl { + long cmd; + prwatch_t prwatch; +} procctl_t; +#endif + +/* ARGSUSED */ +static void +arc_buf_unwatch(arc_buf_t *buf) +{ +#ifndef _KERNEL + if (arc_watch) { + int result; + procctl_t ctl; + ctl.cmd = PCWATCH; + ctl.prwatch.pr_vaddr = (uintptr_t)buf->b_data; + ctl.prwatch.pr_size = 0; + ctl.prwatch.pr_wflags = 0; + result = write(arc_procfd, &ctl, sizeof (ctl)); + ASSERT3U(result, ==, sizeof (ctl)); + } +#endif +} + +/* ARGSUSED */ +static void +arc_buf_watch(arc_buf_t *buf) +{ +#ifndef _KERNEL + if (arc_watch) { + int result; + procctl_t ctl; + ctl.cmd = PCWATCH; + ctl.prwatch.pr_vaddr = (uintptr_t)buf->b_data; + ctl.prwatch.pr_size = buf->b_hdr->b_size; + ctl.prwatch.pr_wflags = WA_WRITE; + result = write(arc_procfd, &ctl, sizeof (ctl)); + ASSERT3U(result, ==, sizeof (ctl)); + } +#endif } void @@ -975,6 +1026,8 @@ arc_buf_thaw(arc_buf_t *buf) } mutex_exit(&buf->b_hdr->b_freeze_lock); + + arc_buf_unwatch(buf); } void @@ -992,6 +1045,7 @@ arc_buf_freeze(arc_buf_t *buf) buf->b_hdr->b_state == arc_anon); arc_cksum_compute(buf, B_FALSE); mutex_exit(hash_lock); + } static void @@ -1348,21 +1402,22 @@ arc_buf_add_ref(arc_buf_t *buf, void* ta * the buffer is placed on l2arc_free_on_write to be freed later. */ static void -arc_buf_data_free(arc_buf_hdr_t *hdr, void (*free_func)(void *, size_t), - void *data, size_t size) +arc_buf_data_free(arc_buf_t *buf, void (*free_func)(void *, size_t)) { + arc_buf_hdr_t *hdr = buf->b_hdr; + if (HDR_L2_WRITING(hdr)) { l2arc_data_free_t *df; df = kmem_alloc(sizeof (l2arc_data_free_t), KM_SLEEP); - df->l2df_data = data; - df->l2df_size = size; + df->l2df_data = buf->b_data; + df->l2df_size = hdr->b_size; df->l2df_func = free_func; mutex_enter(&l2arc_free_on_write_mtx); list_insert_head(l2arc_free_on_write, df); mutex_exit(&l2arc_free_on_write_mtx); ARCSTAT_BUMP(arcstat_l2_free_on_write); } else { - free_func(data, size); + free_func(buf->b_data, hdr->b_size); } } @@ -1378,16 +1433,15 @@ arc_buf_destroy(arc_buf_t *buf, boolean_ arc_buf_contents_t type = buf->b_hdr->b_type; arc_cksum_verify(buf); + arc_buf_unwatch(buf); if (!recycle) { if (type == ARC_BUFC_METADATA) { - arc_buf_data_free(buf->b_hdr, zio_buf_free, - buf->b_data, size); + arc_buf_data_free(buf, zio_buf_free); arc_space_return(size, ARC_SPACE_DATA); } else { ASSERT(type == ARC_BUFC_DATA); - arc_buf_data_free(buf->b_hdr, - zio_data_buf_free, buf->b_data, size); + arc_buf_data_free(buf, zio_data_buf_free); ARCSTAT_INCR(arcstat_data_size, -size); atomic_add_64(&arc_size, -size); } @@ -2556,6 +2610,7 @@ arc_read_done(zio_t *zio) } arc_cksum_compute(buf, B_FALSE); + arc_buf_watch(buf); if (hash_lock && zio->io_error == 0 && hdr->b_state == arc_anon) { /* @@ -3113,6 +3168,7 @@ arc_release(arc_buf_t *buf, void *tag) } hdr->b_datacnt -= 1; arc_cksum_verify(buf); + arc_buf_unwatch(buf); mutex_exit(hash_lock); Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/bptree.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/bptree.c Tue Sep 4 21:56:16 2012 (r240109) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/bptree.c Tue Sep 4 21:58:22 2012 (r240110) @@ -189,7 +189,8 @@ bptree_iterate(objset_t *os, uint64_t ob break; err = traverse_dataset_destroyed(os->os_spa, &bte.be_bp, - bte.be_birth_txg, &bte.be_zb, TRAVERSE_POST, + bte.be_birth_txg, &bte.be_zb, + TRAVERSE_PREFETCH_METADATA | TRAVERSE_POST, bptree_visit_cb, &ba); if (free) { ASSERT(err == 0 || err == ERESTART); Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_traverse.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_traverse.c Tue Sep 4 21:56:16 2012 (r240109) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_traverse.c Tue Sep 4 21:58:22 2012 (r240110) @@ -63,6 +63,8 @@ typedef struct traverse_data { static int traverse_dnode(traverse_data_t *td, const dnode_phys_t *dnp, arc_buf_t *buf, uint64_t objset, uint64_t object); +static void prefetch_dnode_metadata(traverse_data_t *td, const dnode_phys_t *, + arc_buf_t *buf, uint64_t objset, uint64_t object); static int traverse_zil_block(zilog_t *zilog, blkptr_t *bp, void *arg, uint64_t claim_txg) @@ -178,9 +180,34 @@ traverse_pause(traverse_data_t *td, cons bcopy(zb, td->td_resume, sizeof (*td->td_resume)); } +static void +traverse_prefetch_metadata(traverse_data_t *td, + arc_buf_t *pbuf, const blkptr_t *bp, const zbookmark_t *zb) +{ + uint32_t flags = ARC_NOWAIT | ARC_PREFETCH; + + if (!(td->td_flags & TRAVERSE_PREFETCH_METADATA)) + return; + /* + * If we are in the process of resuming, don't prefetch, because + * some children will not be needed (and in fact may have already + * been freed). + */ + if (td->td_resume != NULL && !ZB_IS_ZERO(td->td_resume)) + return; + if (BP_IS_HOLE(bp) || bp->blk_birth <= td->td_min_txg) + return; + if (BP_GET_LEVEL(bp) == 0 && BP_GET_TYPE(bp) != DMU_OT_DNODE) + return; + + (void) arc_read(NULL, td->td_spa, bp, + pbuf, NULL, NULL, ZIO_PRIORITY_ASYNC_READ, + ZIO_FLAG_CANFAIL, &flags, zb); +} + static int traverse_visitbp(traverse_data_t *td, const dnode_phys_t *dnp, - arc_buf_t *pbuf, blkptr_t *bp, const zbookmark_t *zb) + arc_buf_t *pbuf, const blkptr_t *bp, const zbookmark_t *zb) { zbookmark_t czb; int err = 0, lasterr = 0; @@ -243,14 +270,21 @@ traverse_visitbp(traverse_data_t *td, co ZIO_PRIORITY_ASYNC_READ, ZIO_FLAG_CANFAIL, &flags, zb); if (err) return (err); + cbp = buf->b_data; + + for (i = 0; i < epb; i++) { + SET_BOOKMARK(&czb, zb->zb_objset, zb->zb_object, + zb->zb_level - 1, + zb->zb_blkid * epb + i); + traverse_prefetch_metadata(td, buf, &cbp[i], &czb); + } /* recursively visitbp() blocks below this */ - cbp = buf->b_data; - for (i = 0; i < epb; i++, cbp++) { + for (i = 0; i < epb; i++) { SET_BOOKMARK(&czb, zb->zb_objset, zb->zb_object, zb->zb_level - 1, zb->zb_blkid * epb + i); - err = traverse_visitbp(td, dnp, buf, cbp, &czb); + err = traverse_visitbp(td, dnp, buf, &cbp[i], &czb); if (err) { if (!hard) break; @@ -267,11 +301,16 @@ traverse_visitbp(traverse_data_t *td, co ZIO_PRIORITY_ASYNC_READ, ZIO_FLAG_CANFAIL, &flags, zb); if (err) return (err); + dnp = buf->b_data; + + for (i = 0; i < epb; i++) { + prefetch_dnode_metadata(td, &dnp[i], buf, zb->zb_objset, + zb->zb_blkid * epb + i); + } /* recursively visitbp() blocks below this */ - dnp = buf->b_data; - for (i = 0; i < epb; i++, dnp++) { - err = traverse_dnode(td, dnp, buf, zb->zb_objset, + for (i = 0; i < epb; i++) { + err = traverse_dnode(td, &dnp[i], buf, zb->zb_objset, zb->zb_blkid * epb + i); if (err) { if (!hard) @@ -292,6 +331,15 @@ traverse_visitbp(traverse_data_t *td, co osp = buf->b_data; dnp = &osp->os_meta_dnode; + prefetch_dnode_metadata(td, dnp, buf, zb->zb_objset, + DMU_META_DNODE_OBJECT); + if (arc_buf_size(buf) >= sizeof (objset_phys_t)) { + prefetch_dnode_metadata(td, &osp->os_userused_dnode, + buf, zb->zb_objset, DMU_USERUSED_OBJECT); + prefetch_dnode_metadata(td, &osp->os_groupused_dnode, + buf, zb->zb_objset, DMU_USERUSED_OBJECT); + } + err = traverse_dnode(td, dnp, buf, zb->zb_objset, DMU_META_DNODE_OBJECT); if (err && hard) { @@ -334,6 +382,24 @@ post: return (err != 0 ? err : lasterr); } +static void +prefetch_dnode_metadata(traverse_data_t *td, const dnode_phys_t *dnp, + arc_buf_t *buf, uint64_t objset, uint64_t object) +{ + int j; + zbookmark_t czb; + + for (j = 0; j < dnp->dn_nblkptr; j++) { + SET_BOOKMARK(&czb, objset, object, dnp->dn_nlevels - 1, j); + traverse_prefetch_metadata(td, buf, &dnp->dn_blkptr[j], &czb); + } + + if (dnp->dn_flags & DNODE_FLAG_SPILL_BLKPTR) { + SET_BOOKMARK(&czb, objset, object, 0, DMU_SPILL_BLKID); + traverse_prefetch_metadata(td, buf, &dnp->dn_spill, &czb); + } +} + static int traverse_dnode(traverse_data_t *td, const dnode_phys_t *dnp, arc_buf_t *buf, uint64_t objset, uint64_t object) @@ -344,8 +410,7 @@ traverse_dnode(traverse_data_t *td, cons for (j = 0; j < dnp->dn_nblkptr; j++) { SET_BOOKMARK(&czb, objset, object, dnp->dn_nlevels - 1, j); - err = traverse_visitbp(td, dnp, buf, - (blkptr_t *)&dnp->dn_blkptr[j], &czb); + err = traverse_visitbp(td, dnp, buf, &dnp->dn_blkptr[j], &czb); if (err) { if (!hard) break; @@ -354,10 +419,8 @@ traverse_dnode(traverse_data_t *td, cons } if (dnp->dn_flags & DNODE_FLAG_SPILL_BLKPTR) { - SET_BOOKMARK(&czb, objset, - object, 0, DMU_SPILL_BLKID); - err = traverse_visitbp(td, dnp, buf, - (blkptr_t *)&dnp->dn_spill, &czb); + SET_BOOKMARK(&czb, objset, object, 0, DMU_SPILL_BLKID); + err = traverse_visitbp(td, dnp, buf, &dnp->dn_spill, &czb); if (err) { if (!hard) return (err); @@ -438,6 +501,12 @@ traverse_impl(spa_t *spa, dsl_dataset_t ASSERT(ds == NULL || objset == ds->ds_object); ASSERT(!(flags & TRAVERSE_PRE) || !(flags & TRAVERSE_POST)); + /* + * The data prefetching mechanism (the prefetch thread) is incompatible + * with resuming from a bookmark. + */ + ASSERT(resume == NULL || !(flags & TRAVERSE_PREFETCH_DATA)); + td.td_spa = spa; td.td_objset = objset; td.td_rootbp = rootbp; @@ -464,7 +533,7 @@ traverse_impl(spa_t *spa, dsl_dataset_t traverse_zil(&td, &os->os_zil_header); } - if (!(flags & TRAVERSE_PREFETCH) || + if (!(flags & TRAVERSE_PREFETCH_DATA) || 0 == taskq_dispatch(system_taskq, traverse_prefetch_thread, &td, TQ_NOQUEUE)) pd.pd_exited = B_TRUE; Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_tx.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_tx.c Tue Sep 4 21:56:16 2012 (r240109) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_tx.c Tue Sep 4 21:58:22 2012 (r240110) @@ -429,6 +429,7 @@ dmu_tx_count_free(dmu_tx_hold_t *txh, ui dsl_dataset_t *ds = dn->dn_objset->os_dsl_dataset; spa_t *spa = txh->txh_tx->tx_pool->dp_spa; int epbs; + uint64_t l0span = 0, nl1blks = 0; if (dn->dn_nlevels == 0) return; @@ -461,6 +462,7 @@ dmu_tx_count_free(dmu_tx_hold_t *txh, ui nblks = dn->dn_maxblkid - blkid; } + l0span = nblks; /* save for later use to calc level > 1 overhead */ if (dn->dn_nlevels == 1) { int i; for (i = 0; i < nblks; i++) { @@ -473,24 +475,10 @@ dmu_tx_count_free(dmu_tx_hold_t *txh, ui } unref += BP_GET_ASIZE(bp); } + nl1blks = 1; nblks = 0; } - /* - * Add in memory requirements of higher-level indirects. - * This assumes a worst-possible scenario for dn_nlevels. - */ - { - uint64_t blkcnt = 1 + ((nblks >> epbs) >> epbs); - int level = (dn->dn_nlevels > 1) ? 2 : 1; - - while (level++ < DN_MAX_LEVELS) { - txh->txh_memory_tohold += blkcnt << dn->dn_indblkshift; - blkcnt = 1 + (blkcnt >> epbs); - } - ASSERT(blkcnt <= dn->dn_nblkptr); - } - lastblk = blkid + nblks - 1; while (nblks) { dmu_buf_impl_t *dbuf; @@ -561,11 +549,35 @@ dmu_tx_count_free(dmu_tx_hold_t *txh, ui } dbuf_rele(dbuf, FTAG); + ++nl1blks; blkid += tochk; nblks -= tochk; } rw_exit(&dn->dn_struct_rwlock); + /* + * Add in memory requirements of higher-level indirects. + * This assumes a worst-possible scenario for dn_nlevels and a + * worst-possible distribution of l1-blocks over the region to free. + */ + { + uint64_t blkcnt = 1 + ((l0span >> epbs) >> epbs); + int level = 2; + /* + * Here we don't use DN_MAX_LEVEL, but calculate it with the + * given datablkshift and indblkshift. This makes the + * difference between 19 and 8 on large files. + */ + int maxlevel = 2 + (DN_MAX_OFFSET_SHIFT - dn->dn_datablkshift) / + (dn->dn_indblkshift - SPA_BLKPTRSHIFT); + + while (level++ < maxlevel) { + txh->txh_memory_tohold += MIN(blkcnt, (nl1blks >> epbs)) + << dn->dn_indblkshift; + blkcnt = 1 + (blkcnt >> epbs); + } + } + /* account for new level 1 indirect blocks that might show up */ if (skipped > 0) { txh->txh_fudge += skipped << dn->dn_indblkshift; Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dataset.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dataset.c Tue Sep 4 21:56:16 2012 (r240109) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dataset.c Tue Sep 4 21:58:22 2012 (r240110) @@ -2302,7 +2302,6 @@ dsl_dataset_stats(dsl_dataset_t *ds, nvl } } } - } void Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dir.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dir.c Tue Sep 4 21:56:16 2012 (r240109) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dir.c Tue Sep 4 21:58:22 2012 (r240110) @@ -456,12 +456,14 @@ dsl_dir_destroy_check(void *arg1, void * /* * There should be exactly two holds, both from * dsl_dataset_destroy: one on the dd directory, and one on its - * head ds. Otherwise, someone is trying to lookup something - * inside this dir while we want to destroy it. The - * config_rwlock ensures that nobody else opens it after we - * check. + * head ds. If there are more holds, then a concurrent thread is + * performing a lookup inside this dir while we're trying to destroy + * it. To minimize this possibility, we perform this check only + * in syncing context and fail the operation if we encounter + * additional holds. The dp_config_rwlock ensures that nobody else + * opens it after we check. */ - if (dmu_buf_refcount(dd->dd_dbuf) > 2) + if (dmu_tx_is_syncing(tx) && dmu_buf_refcount(dd->dd_dbuf) > 2) return (EBUSY); err = zap_count(mos, dd->dd_phys->dd_child_dir_zapobj, &count); Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_synctask.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_synctask.c Tue Sep 4 21:56:16 2012 (r240109) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_synctask.c Tue Sep 4 21:58:22 2012 (r240110) @@ -230,12 +230,7 @@ dsl_sync_task_do_nowait(dsl_pool_t *dp, dsl_checkfunc_t *checkfunc, dsl_syncfunc_t *syncfunc, void *arg1, void *arg2, int blocks_modified, dmu_tx_t *tx) { - dsl_sync_task_group_t *dstg; - - if (!spa_writeable(dp->dp_spa)) - return; - - dstg = dsl_sync_task_group_create(dp); + dsl_sync_task_group_t *dstg = dsl_sync_task_group_create(dp); dsl_sync_task_create(dstg, checkfunc, syncfunc, arg1, arg2, blocks_modified); dsl_sync_task_group_nowait(dstg, tx); Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/spa_history.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/spa_history.c Tue Sep 4 21:56:16 2012 (r240109) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/spa_history.c Tue Sep 4 21:58:22 2012 (r240110) @@ -303,7 +303,7 @@ spa_history_log_nvl(spa_t *spa, nvlist_t dmu_tx_t *tx; nvlist_t *nvarg; - if (spa_version(spa) < SPA_VERSION_ZPOOL_HISTORY) + if (spa_version(spa) < SPA_VERSION_ZPOOL_HISTORY || !spa_writeable(spa)) return (EINVAL); tx = dmu_tx_create_dd(spa_get_dsl(spa)->dp_mos_dir); @@ -439,8 +439,9 @@ log_internal(nvlist_t *nvl, const char * /* * If this is part of creating a pool, not everything is * initialized yet, so don't bother logging the internal events. + * Likewise if the pool is not writeable. */ - if (tx->tx_txg == TXG_INITIAL) { + if (tx->tx_txg == TXG_INITIAL || !spa_writeable(spa)) { fnvlist_free(nvl); return; } Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/spa_misc.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/spa_misc.c Tue Sep 4 21:56:16 2012 (r240109) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/spa_misc.c Tue Sep 4 21:58:22 2012 (r240110) @@ -1600,6 +1600,18 @@ spa_init(int mode) spa_mode_global = mode; +#ifndef _KERNEL + if (spa_mode_global != FREAD && dprintf_find_string("watch")) { + arc_procfd = open("/proc/self/ctl", O_WRONLY); + if (arc_procfd == -1) { + perror("could not enable watchpoints: " + "opening /proc/self/ctl failed: "); + } else { + arc_watch = B_TRUE; + } + } +#endif + refcount_init(); unique_init(); zio_init(); Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/arc.h ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/sys/arc.h Tue Sep 4 21:56:16 2012 (r240109) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/sys/arc.h Tue Sep 4 21:58:22 2012 (r240110) @@ -20,6 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012 by Delphix. All rights reserved. */ #ifndef _SYS_ARC_H @@ -135,6 +136,11 @@ void l2arc_fini(void); void l2arc_start(void); void l2arc_stop(void); +#ifndef _KERNEL +extern boolean_t arc_watch; +extern int arc_procfd; +#endif + #ifdef __cplusplus } #endif Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dnode.h ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dnode.h Tue Sep 4 21:56:16 2012 (r240109) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dnode.h Tue Sep 4 21:58:22 2012 (r240110) @@ -20,6 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012 by Delphix. All rights reserved. */ #ifndef _SYS_DNODE_H @@ -276,7 +277,6 @@ void dnode_byteswap(dnode_phys_t *dnp); void dnode_buf_byteswap(void *buf, size_t size); void dnode_verify(dnode_t *dn); int dnode_set_blksz(dnode_t *dn, uint64_t size, int ibs, dmu_tx_t *tx); -uint64_t dnode_current_max_length(dnode_t *dn); void dnode_free_range(dnode_t *dn, uint64_t off, uint64_t len, dmu_tx_t *tx); void dnode_clear_range(dnode_t *dn, uint64_t blkid, uint64_t nblks, dmu_tx_t *tx); Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_debug.h ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_debug.h Tue Sep 4 21:56:16 2012 (r240109) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_debug.h Tue Sep 4 21:58:22 2012 (r240110) @@ -20,6 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012 by Delphix. All rights reserved. */ #ifndef _SYS_ZFS_DEBUG_H @@ -75,6 +76,10 @@ extern void zfs_dbgmsg_init(void); extern void zfs_dbgmsg_fini(void); extern void zfs_dbgmsg(const char *fmt, ...); +#ifndef _KERNEL +extern int dprintf_find_string(const char *string); +#endif + #ifdef __cplusplus } #endif Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c Tue Sep 4 21:56:16 2012 (r240109) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c Tue Sep 4 21:58:22 2012 (r240110) @@ -4335,7 +4335,17 @@ zfs_ioc_pool_reopen(zfs_cmd_t *zc) return (error); spa_vdev_state_enter(spa, SCL_NONE); + + /* + * If a resilver is already in progress then set the + * spa_scrub_reopen flag to B_TRUE so that we don't restart + * the scan as a side effect of the reopen. Otherwise, let + * vdev_open() decided if a resilver is required. + */ + spa->spa_scrub_reopen = dsl_scan_resilvering(spa->spa_dsl_pool); vdev_reopen(spa->spa_root_vdev); + spa->spa_scrub_reopen = B_FALSE; + (void) spa_vdev_state_exit(spa, NULL, 0); spa_close(spa, FTAG); return (0); Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/zio.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/zio.c Tue Sep 4 21:56:16 2012 (r240109) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/zio.c Tue Sep 4 21:58:22 2012 (r240110) @@ -125,11 +125,21 @@ zio_init(void) while (p2 & (p2 - 1)) p2 &= p2 - 1; +#ifndef _KERNEL + /* + * If we are using watchpoints, put each buffer on its own page, + * to eliminate the performance overhead of trapping to the + * kernel when modifying a non-watched buffer that shares the + * page with a watched buffer. + */ + if (arc_watch && !IS_P2ALIGNED(size, PAGESIZE)) + continue; +#endif if (size <= 4 * SPA_MINBLOCKSIZE) { align = SPA_MINBLOCKSIZE; - } else if (P2PHASE(size, PAGESIZE) == 0) { + } else if (IS_P2ALIGNED(size, PAGESIZE)) { align = PAGESIZE; - } else if (P2PHASE(size, p2 >> 2) == 0) { + } else if (IS_P2ALIGNED(size, p2 >> 2)) { align = p2 >> 2; } From owner-svn-src-vendor@FreeBSD.ORG Tue Sep 4 21:58:23 2012 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B7A541065673; Tue, 4 Sep 2012 21:58:23 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 87CDF8FC16; Tue, 4 Sep 2012 21:58:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q84LwN8O025223; Tue, 4 Sep 2012 21:58:23 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q84LwNOg025219; Tue, 4 Sep 2012 21:58:23 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201209042158.q84LwNOg025219@svn.freebsd.org> From: Martin Matuska Date: Tue, 4 Sep 2012 21:58:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240110 - vendor-sys/illumos/dist/uts/common/fs/zfs vendor-sys/illumos/dist/uts/common/fs/zfs/sys vendor/illumos/dist/cmd/ztest vendor/illumos/dist/lib/libzpool/common/sys X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Sep 2012 21:58:23 -0000 Author: mm Date: Tue Sep 4 21:58:22 2012 New Revision: 240110 URL: http://svn.freebsd.org/changeset/base/240110 Log: Update vendor/illumos/dist and vendor/illumos-gate/dist to illumos-gate revision 13794:7c5e0e746b2c Obtained from: ssh://anonhg@hg.illumos.org/illumos-gate Modified: vendor/illumos/dist/cmd/ztest/ztest.c vendor/illumos/dist/lib/libzpool/common/sys/zfs_context.h Changes in other areas also in this revision: Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c vendor-sys/illumos/dist/uts/common/fs/zfs/bptree.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_traverse.c vendor-sys/illumos/dist/uts/common/fs/zfs/dmu_tx.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dataset.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_dir.c vendor-sys/illumos/dist/uts/common/fs/zfs/dsl_synctask.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa_history.c vendor-sys/illumos/dist/uts/common/fs/zfs/spa_misc.c vendor-sys/illumos/dist/uts/common/fs/zfs/sys/arc.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/dnode.h vendor-sys/illumos/dist/uts/common/fs/zfs/sys/zfs_debug.h vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c vendor-sys/illumos/dist/uts/common/fs/zfs/zio.c Modified: vendor/illumos/dist/cmd/ztest/ztest.c ============================================================================== --- vendor/illumos/dist/cmd/ztest/ztest.c Tue Sep 4 21:56:16 2012 (r240109) +++ vendor/illumos/dist/cmd/ztest/ztest.c Tue Sep 4 21:58:22 2012 (r240110) @@ -5835,6 +5835,8 @@ main(int argc, char **argv) (void) setvbuf(stdout, NULL, _IOLBF, 0); + dprintf_setup(&argc, argv); + if (!ischild) { process_options(argc, argv); Modified: vendor/illumos/dist/lib/libzpool/common/sys/zfs_context.h ============================================================================== --- vendor/illumos/dist/lib/libzpool/common/sys/zfs_context.h Tue Sep 4 21:56:16 2012 (r240109) +++ vendor/illumos/dist/lib/libzpool/common/sys/zfs_context.h Tue Sep 4 21:58:22 2012 (r240110) @@ -61,6 +61,7 @@ extern "C" { #include #include #include +#include #include #include #include From owner-svn-src-vendor@FreeBSD.ORG Tue Sep 4 23:07:34 2012 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 79371106566C; Tue, 4 Sep 2012 23:07:34 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5FAFD8FC0C; Tue, 4 Sep 2012 23:07:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q84N7Y80033851; Tue, 4 Sep 2012 23:07:34 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q84N7YQ6033842; Tue, 4 Sep 2012 23:07:34 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201209042307.q84N7YQ6033842@svn.freebsd.org> From: Marcel Moolenaar Date: Tue, 4 Sep 2012 23:07:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240116 - in vendor/atf: . atf-0.16 atf-0.16/admin atf-0.16/atf-c atf-0.16/atf-c++ atf-0.16/atf-c++/detail atf-0.16/atf-c/detail atf-0.16/atf-config atf-0.16/atf-report atf-0.16/atf-run... X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Sep 2012 23:07:34 -0000 Author: marcel Date: Tue Sep 4 23:07:32 2012 New Revision: 240116 URL: http://svn.freebsd.org/changeset/base/240116 Log: Import ATF version 0,16 Discussed with: gibbs, gnn, keramida, mdf, mlaier, Discussed with: Garrett Cooper Added: vendor/atf/ vendor/atf/atf-0.16/ vendor/atf/atf-0.16/AUTHORS vendor/atf/atf-0.16/Atffile vendor/atf/atf-0.16/COPYING vendor/atf/atf-0.16/INSTALL vendor/atf/atf-0.16/Kyuafile vendor/atf/atf-0.16/Makefile.am vendor/atf/atf-0.16/Makefile.in vendor/atf/atf-0.16/NEWS vendor/atf/atf-0.16/README vendor/atf/atf-0.16/TODO vendor/atf/atf-0.16/aclocal.m4 vendor/atf/atf-0.16/admin/ vendor/atf/atf-0.16/admin/Makefile.am.inc vendor/atf/atf-0.16/admin/check-install.sh (contents, props changed) vendor/atf/atf-0.16/admin/check-style-c.awk vendor/atf/atf-0.16/admin/check-style-common.awk vendor/atf/atf-0.16/admin/check-style-cpp.awk vendor/atf/atf-0.16/admin/check-style-man.awk vendor/atf/atf-0.16/admin/check-style-shell.awk vendor/atf/atf-0.16/admin/check-style.sh (contents, props changed) vendor/atf/atf-0.16/admin/compile (contents, props changed) vendor/atf/atf-0.16/admin/config.guess (contents, props changed) vendor/atf/atf-0.16/admin/config.sub (contents, props changed) vendor/atf/atf-0.16/admin/depcomp (contents, props changed) vendor/atf/atf-0.16/admin/install-sh (contents, props changed) vendor/atf/atf-0.16/admin/ltmain.sh vendor/atf/atf-0.16/admin/missing (contents, props changed) vendor/atf/atf-0.16/atf-c/ vendor/atf/atf-0.16/atf-c++/ vendor/atf/atf-0.16/atf-c++.hpp vendor/atf/atf-0.16/atf-c++/Atffile vendor/atf/atf-0.16/atf-c++/Kyuafile vendor/atf/atf-0.16/atf-c++/Makefile.am.inc vendor/atf/atf-0.16/atf-c++/atf-c++-api.3 vendor/atf/atf-0.16/atf-c++/atf-c++.m4 vendor/atf/atf-0.16/atf-c++/atf-c++.pc.in vendor/atf/atf-0.16/atf-c++/atf_c++_test.cpp vendor/atf/atf-0.16/atf-c++/build.cpp vendor/atf/atf-0.16/atf-c++/build.hpp vendor/atf/atf-0.16/atf-c++/build_test.cpp vendor/atf/atf-0.16/atf-c++/check.cpp vendor/atf/atf-0.16/atf-c++/check.hpp vendor/atf/atf-0.16/atf-c++/check_test.cpp vendor/atf/atf-0.16/atf-c++/config.cpp vendor/atf/atf-0.16/atf-c++/config.hpp vendor/atf/atf-0.16/atf-c++/config_test.cpp vendor/atf/atf-0.16/atf-c++/detail/ vendor/atf/atf-0.16/atf-c++/detail/Atffile vendor/atf/atf-0.16/atf-c++/detail/Kyuafile vendor/atf/atf-0.16/atf-c++/detail/Makefile.am.inc vendor/atf/atf-0.16/atf-c++/detail/application.cpp vendor/atf/atf-0.16/atf-c++/detail/application.hpp vendor/atf/atf-0.16/atf-c++/detail/application_test.cpp vendor/atf/atf-0.16/atf-c++/detail/env.cpp vendor/atf/atf-0.16/atf-c++/detail/env.hpp vendor/atf/atf-0.16/atf-c++/detail/env_test.cpp vendor/atf/atf-0.16/atf-c++/detail/exceptions.cpp vendor/atf/atf-0.16/atf-c++/detail/exceptions.hpp vendor/atf/atf-0.16/atf-c++/detail/exceptions_test.cpp vendor/atf/atf-0.16/atf-c++/detail/expand.cpp vendor/atf/atf-0.16/atf-c++/detail/expand.hpp vendor/atf/atf-0.16/atf-c++/detail/expand_test.cpp vendor/atf/atf-0.16/atf-c++/detail/fs.cpp vendor/atf/atf-0.16/atf-c++/detail/fs.hpp vendor/atf/atf-0.16/atf-c++/detail/fs_test.cpp vendor/atf/atf-0.16/atf-c++/detail/parser.cpp vendor/atf/atf-0.16/atf-c++/detail/parser.hpp vendor/atf/atf-0.16/atf-c++/detail/parser_test.cpp vendor/atf/atf-0.16/atf-c++/detail/process.cpp vendor/atf/atf-0.16/atf-c++/detail/process.hpp vendor/atf/atf-0.16/atf-c++/detail/process_test.cpp vendor/atf/atf-0.16/atf-c++/detail/sanity.hpp vendor/atf/atf-0.16/atf-c++/detail/sanity_test.cpp vendor/atf/atf-0.16/atf-c++/detail/test_helpers.cpp vendor/atf/atf-0.16/atf-c++/detail/test_helpers.hpp vendor/atf/atf-0.16/atf-c++/detail/text.cpp vendor/atf/atf-0.16/atf-c++/detail/text.hpp vendor/atf/atf-0.16/atf-c++/detail/text_test.cpp vendor/atf/atf-0.16/atf-c++/detail/ui.cpp vendor/atf/atf-0.16/atf-c++/detail/ui.hpp vendor/atf/atf-0.16/atf-c++/detail/ui_test.cpp vendor/atf/atf-0.16/atf-c++/macros.hpp vendor/atf/atf-0.16/atf-c++/macros_hpp_test.cpp vendor/atf/atf-0.16/atf-c++/macros_test.cpp vendor/atf/atf-0.16/atf-c++/pkg_config_test.sh vendor/atf/atf-0.16/atf-c++/tests.cpp vendor/atf/atf-0.16/atf-c++/tests.hpp vendor/atf/atf-0.16/atf-c++/tests_test.cpp vendor/atf/atf-0.16/atf-c++/unused_test.cpp vendor/atf/atf-0.16/atf-c++/utils.hpp vendor/atf/atf-0.16/atf-c++/utils_test.cpp vendor/atf/atf-0.16/atf-c.h vendor/atf/atf-0.16/atf-c/Atffile vendor/atf/atf-0.16/atf-c/Kyuafile vendor/atf/atf-0.16/atf-c/Makefile.am.inc vendor/atf/atf-0.16/atf-c/atf-c-api.3 vendor/atf/atf-0.16/atf-c/atf-c.m4 vendor/atf/atf-0.16/atf-c/atf-c.pc.in vendor/atf/atf-0.16/atf-c/atf-common.m4 vendor/atf/atf-0.16/atf-c/atf_c_test.c vendor/atf/atf-0.16/atf-c/build.c vendor/atf/atf-0.16/atf-c/build.h vendor/atf/atf-0.16/atf-c/build_test.c vendor/atf/atf-0.16/atf-c/check.c vendor/atf/atf-0.16/atf-c/check.h vendor/atf/atf-0.16/atf-c/check_test.c vendor/atf/atf-0.16/atf-c/config.c vendor/atf/atf-0.16/atf-c/config.h vendor/atf/atf-0.16/atf-c/config_test.c vendor/atf/atf-0.16/atf-c/defs.h.in vendor/atf/atf-0.16/atf-c/detail/ vendor/atf/atf-0.16/atf-c/detail/Atffile vendor/atf/atf-0.16/atf-c/detail/Kyuafile vendor/atf/atf-0.16/atf-c/detail/Makefile.am.inc vendor/atf/atf-0.16/atf-c/detail/dynstr.c vendor/atf/atf-0.16/atf-c/detail/dynstr.h vendor/atf/atf-0.16/atf-c/detail/dynstr_test.c vendor/atf/atf-0.16/atf-c/detail/env.c vendor/atf/atf-0.16/atf-c/detail/env.h vendor/atf/atf-0.16/atf-c/detail/env_test.c vendor/atf/atf-0.16/atf-c/detail/fs.c vendor/atf/atf-0.16/atf-c/detail/fs.h vendor/atf/atf-0.16/atf-c/detail/fs_test.c vendor/atf/atf-0.16/atf-c/detail/list.c vendor/atf/atf-0.16/atf-c/detail/list.h vendor/atf/atf-0.16/atf-c/detail/list_test.c vendor/atf/atf-0.16/atf-c/detail/map.c vendor/atf/atf-0.16/atf-c/detail/map.h vendor/atf/atf-0.16/atf-c/detail/map_test.c vendor/atf/atf-0.16/atf-c/detail/process.c vendor/atf/atf-0.16/atf-c/detail/process.h vendor/atf/atf-0.16/atf-c/detail/process_helpers.c vendor/atf/atf-0.16/atf-c/detail/process_test.c vendor/atf/atf-0.16/atf-c/detail/sanity.c vendor/atf/atf-0.16/atf-c/detail/sanity.h vendor/atf/atf-0.16/atf-c/detail/sanity_test.c vendor/atf/atf-0.16/atf-c/detail/test_helpers.c vendor/atf/atf-0.16/atf-c/detail/test_helpers.h vendor/atf/atf-0.16/atf-c/detail/test_helpers_test.c vendor/atf/atf-0.16/atf-c/detail/text.c vendor/atf/atf-0.16/atf-c/detail/text.h vendor/atf/atf-0.16/atf-c/detail/text_test.c vendor/atf/atf-0.16/atf-c/detail/tp_main.c vendor/atf/atf-0.16/atf-c/detail/user.c vendor/atf/atf-0.16/atf-c/detail/user.h vendor/atf/atf-0.16/atf-c/detail/user_test.c vendor/atf/atf-0.16/atf-c/error.c vendor/atf/atf-0.16/atf-c/error.h vendor/atf/atf-0.16/atf-c/error_fwd.h vendor/atf/atf-0.16/atf-c/error_test.c vendor/atf/atf-0.16/atf-c/h_build.h vendor/atf/atf-0.16/atf-c/macros.h vendor/atf/atf-0.16/atf-c/macros_h_test.c vendor/atf/atf-0.16/atf-c/macros_test.c vendor/atf/atf-0.16/atf-c/pkg_config_test.sh vendor/atf/atf-0.16/atf-c/tc.c vendor/atf/atf-0.16/atf-c/tc.h vendor/atf/atf-0.16/atf-c/tc_test.c vendor/atf/atf-0.16/atf-c/tp.c vendor/atf/atf-0.16/atf-c/tp.h vendor/atf/atf-0.16/atf-c/tp_test.c vendor/atf/atf-0.16/atf-c/unused_test.c vendor/atf/atf-0.16/atf-c/utils.c vendor/atf/atf-0.16/atf-c/utils.h vendor/atf/atf-0.16/atf-c/utils_test.c vendor/atf/atf-0.16/atf-config/ vendor/atf/atf-0.16/atf-config/Atffile vendor/atf/atf-0.16/atf-config/Kyuafile vendor/atf/atf-0.16/atf-config/Makefile.am.inc vendor/atf/atf-0.16/atf-config/atf-config.1 vendor/atf/atf-0.16/atf-config/atf-config.cpp vendor/atf/atf-0.16/atf-config/integration_test.sh vendor/atf/atf-0.16/atf-report/ vendor/atf/atf-0.16/atf-report/Atffile vendor/atf/atf-0.16/atf-report/Kyuafile vendor/atf/atf-0.16/atf-report/Makefile.am.inc vendor/atf/atf-0.16/atf-report/atf-report.1 vendor/atf/atf-0.16/atf-report/atf-report.cpp vendor/atf/atf-0.16/atf-report/fail_helper.cpp vendor/atf/atf-0.16/atf-report/integration_test.sh vendor/atf/atf-0.16/atf-report/misc_helpers.cpp vendor/atf/atf-0.16/atf-report/pass_helper.cpp vendor/atf/atf-0.16/atf-report/reader.cpp vendor/atf/atf-0.16/atf-report/reader.hpp vendor/atf/atf-0.16/atf-report/reader_test.cpp vendor/atf/atf-0.16/atf-report/tests-results.css vendor/atf/atf-0.16/atf-report/tests-results.dtd vendor/atf/atf-0.16/atf-report/tests-results.xsl vendor/atf/atf-0.16/atf-run/ vendor/atf/atf-0.16/atf-run/Atffile vendor/atf/atf-0.16/atf-run/Kyuafile vendor/atf/atf-0.16/atf-run/Makefile.am.inc vendor/atf/atf-0.16/atf-run/atf-run.1 vendor/atf/atf-0.16/atf-run/atf-run.cpp vendor/atf/atf-0.16/atf-run/atffile.cpp vendor/atf/atf-0.16/atf-run/atffile.hpp vendor/atf/atf-0.16/atf-run/atffile_test.cpp vendor/atf/atf-0.16/atf-run/bad_metadata_helper.c vendor/atf/atf-0.16/atf-run/config.cpp vendor/atf/atf-0.16/atf-run/config.hpp vendor/atf/atf-0.16/atf-run/config_test.cpp vendor/atf/atf-0.16/atf-run/expect_helpers.c vendor/atf/atf-0.16/atf-run/fs.cpp vendor/atf/atf-0.16/atf-run/fs.hpp vendor/atf/atf-0.16/atf-run/fs_test.cpp vendor/atf/atf-0.16/atf-run/integration_test.sh vendor/atf/atf-0.16/atf-run/io.cpp vendor/atf/atf-0.16/atf-run/io.hpp vendor/atf/atf-0.16/atf-run/io_test.cpp vendor/atf/atf-0.16/atf-run/misc_helpers.cpp vendor/atf/atf-0.16/atf-run/pass_helper.cpp vendor/atf/atf-0.16/atf-run/requirements.cpp vendor/atf/atf-0.16/atf-run/requirements.hpp vendor/atf/atf-0.16/atf-run/requirements_test.cpp vendor/atf/atf-0.16/atf-run/sample/ vendor/atf/atf-0.16/atf-run/sample/atf-run.hooks vendor/atf/atf-0.16/atf-run/sample/common.conf vendor/atf/atf-0.16/atf-run/several_tcs_helper.c vendor/atf/atf-0.16/atf-run/share/ vendor/atf/atf-0.16/atf-run/share/atf-run.hooks vendor/atf/atf-0.16/atf-run/signals.cpp vendor/atf/atf-0.16/atf-run/signals.hpp vendor/atf/atf-0.16/atf-run/signals_test.cpp vendor/atf/atf-0.16/atf-run/test-program.cpp vendor/atf/atf-0.16/atf-run/test-program.hpp vendor/atf/atf-0.16/atf-run/test_program_test.cpp vendor/atf/atf-0.16/atf-run/timer.cpp vendor/atf/atf-0.16/atf-run/timer.hpp vendor/atf/atf-0.16/atf-run/user.cpp vendor/atf/atf-0.16/atf-run/user.hpp vendor/atf/atf-0.16/atf-run/user_test.cpp vendor/atf/atf-0.16/atf-run/zero_tcs_helper.c vendor/atf/atf-0.16/atf-sh/ vendor/atf/atf-0.16/atf-sh/Atffile vendor/atf/atf-0.16/atf-sh/Kyuafile vendor/atf/atf-0.16/atf-sh/Makefile.am.inc vendor/atf/atf-0.16/atf-sh/atf-check.1 vendor/atf/atf-0.16/atf-sh/atf-check.cpp vendor/atf/atf-0.16/atf-sh/atf-check_test.sh vendor/atf/atf-0.16/atf-sh/atf-sh-api.3 vendor/atf/atf-0.16/atf-sh/atf-sh.1 vendor/atf/atf-0.16/atf-sh/atf-sh.cpp vendor/atf/atf-0.16/atf-sh/atf-sh.m4 vendor/atf/atf-0.16/atf-sh/atf-sh.pc.in vendor/atf/atf-0.16/atf-sh/atf_check_test.sh vendor/atf/atf-0.16/atf-sh/config_test.sh vendor/atf/atf-0.16/atf-sh/integration_test.sh vendor/atf/atf-0.16/atf-sh/libatf-sh.subr vendor/atf/atf-0.16/atf-sh/misc_helpers.sh vendor/atf/atf-0.16/atf-sh/normalize_test.sh vendor/atf/atf-0.16/atf-sh/tc_test.sh vendor/atf/atf-0.16/atf-sh/tp_test.sh vendor/atf/atf-0.16/atf-version/ vendor/atf/atf-0.16/atf-version/Makefile.am.inc vendor/atf/atf-0.16/atf-version/atf-version.1 vendor/atf/atf-0.16/atf-version/atf-version.cpp vendor/atf/atf-0.16/atf-version/generate-revision.sh (contents, props changed) vendor/atf/atf-0.16/bconfig.h.in vendor/atf/atf-0.16/bootstrap/ vendor/atf/atf-0.16/bootstrap/Makefile.am.inc vendor/atf/atf-0.16/bootstrap/h_app_empty.cpp vendor/atf/atf-0.16/bootstrap/h_app_opts_args.cpp vendor/atf/atf-0.16/bootstrap/h_tp_atf_check_sh.sh vendor/atf/atf-0.16/bootstrap/h_tp_basic_c.c vendor/atf/atf-0.16/bootstrap/h_tp_basic_cpp.cpp vendor/atf/atf-0.16/bootstrap/h_tp_basic_sh.sh vendor/atf/atf-0.16/bootstrap/h_tp_fail.sh vendor/atf/atf-0.16/bootstrap/h_tp_pass.sh vendor/atf/atf-0.16/bootstrap/package.m4 vendor/atf/atf-0.16/bootstrap/t_application_help.at vendor/atf/atf-0.16/bootstrap/t_application_opts_args.at vendor/atf/atf-0.16/bootstrap/t_atf_config.at vendor/atf/atf-0.16/bootstrap/t_atf_run.at vendor/atf/atf-0.16/bootstrap/t_subr_atf_check.at vendor/atf/atf-0.16/bootstrap/t_test_program_compare.at vendor/atf/atf-0.16/bootstrap/t_test_program_filter.at vendor/atf/atf-0.16/bootstrap/t_test_program_list.at vendor/atf/atf-0.16/bootstrap/t_test_program_run.at vendor/atf/atf-0.16/bootstrap/testsuite (contents, props changed) vendor/atf/atf-0.16/bootstrap/testsuite.at vendor/atf/atf-0.16/configure (contents, props changed) vendor/atf/atf-0.16/configure.ac vendor/atf/atf-0.16/doc/ vendor/atf/atf-0.16/doc/Makefile.am.inc vendor/atf/atf-0.16/doc/atf-formats.5 vendor/atf/atf-0.16/doc/atf-test-case.4 vendor/atf/atf-0.16/doc/atf-test-program.1 vendor/atf/atf-0.16/doc/atf.7.in vendor/atf/atf-0.16/m4/ vendor/atf/atf-0.16/m4/compiler-flags.m4 vendor/atf/atf-0.16/m4/cxx-std-funcs.m4 vendor/atf/atf-0.16/m4/developer-mode.m4 vendor/atf/atf-0.16/m4/libtool.m4 vendor/atf/atf-0.16/m4/ltoptions.m4 vendor/atf/atf-0.16/m4/ltsugar.m4 vendor/atf/atf-0.16/m4/ltversion.m4 vendor/atf/atf-0.16/m4/lt~obsolete.m4 vendor/atf/atf-0.16/m4/module-application.m4 vendor/atf/atf-0.16/m4/module-defs.m4 vendor/atf/atf-0.16/m4/module-env.m4 vendor/atf/atf-0.16/m4/module-fs.m4 vendor/atf/atf-0.16/m4/module-sanity.m4 vendor/atf/atf-0.16/m4/module-signals.m4 vendor/atf/atf-0.16/m4/runtime-tool.m4 vendor/atf/atf-0.16/test-programs/ vendor/atf/atf-0.16/test-programs/Atffile vendor/atf/atf-0.16/test-programs/Kyuafile vendor/atf/atf-0.16/test-programs/Makefile.am.inc vendor/atf/atf-0.16/test-programs/c_helpers.c vendor/atf/atf-0.16/test-programs/common.sh vendor/atf/atf-0.16/test-programs/config_test.sh vendor/atf/atf-0.16/test-programs/cpp_helpers.cpp vendor/atf/atf-0.16/test-programs/expect_test.sh vendor/atf/atf-0.16/test-programs/fork_test.sh vendor/atf/atf-0.16/test-programs/meta_data_test.sh vendor/atf/atf-0.16/test-programs/result_test.sh vendor/atf/atf-0.16/test-programs/sh_helpers.sh vendor/atf/atf-0.16/test-programs/srcdir_test.sh Added: vendor/atf/atf-0.16/AUTHORS ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/atf/atf-0.16/AUTHORS Tue Sep 4 23:07:32 2012 (r240116) @@ -0,0 +1,30 @@ +Authors and contributors Automated Testing Framework +=========================================================================== + + +* Julio Merino + + Main developer. He started the work on this project when he took part in + the Google Summer of Code 2007 program as a student. + +* Martin Husemann + + Mentored this project during its development as part of the Google Summer + of Code 2007 program. + +* Lukasz Strzygowski + + Participant of the Google Summer of Code 2008 program. Mentored by The + NetBSD Foundation, he worked on the atfify NetBSD-SoC project and, as a + side-effect, he contributed to the ATF source code. He developed the + initial version of the atf-check utility and started the addition of the + ATF_REQUIRE family of macros in the C interface. + +* Paul Goyette + + Implemented timestamping of test programs and test cases so that + atf-report can provide timings for their execution. + + +=========================================================================== +vim: filetype=text:textwidth=75:expandtab:shiftwidth=2:softtabstop=2 Added: vendor/atf/atf-0.16/Atffile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/atf/atf-0.16/Atffile Tue Sep 4 23:07:32 2012 (r240116) @@ -0,0 +1,12 @@ +Content-Type: application/X-atf-atffile; version="1" + +prop: test-suite = atf + +tp: atf-c +tp: atf-c++ +tp: atf-sh +tp: test-programs + +tp-glob: atf-config* +tp-glob: atf-report* +tp-glob: atf-run* Added: vendor/atf/atf-0.16/COPYING ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/atf/atf-0.16/COPYING Tue Sep 4 23:07:32 2012 (r240116) @@ -0,0 +1,100 @@ +Redistribution terms Automated Testing Framework +=========================================================================== + + +License +******* + +Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012 The NetBSD Foundation, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +Copyright 2011, 2012 Google Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +* Neither the name of Google Inc. nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +Relicensed code +*************** + +The following code snippets have been taken from other projects. Even +though they were not originally licensed under the terms above, the +original authors have agreed to relicense their work so that this project +can be distributed under a single license. This section is put here just to +clarify this fact. + +* configure.ac, Makefile.am: The original versions were derived from the + ones in the XML Catalog Manager project, version 2.2. + + Author: Julio Merino + +* atf-c/ui.c: The format_paragraph and format_text functions were + derived form the ones in the Monotone project, revision + 3a0982da308228d796df35f98d787c5cff2bb5b6. + + Author: Julio Merino + +* atf-c++/detail/io.hpp, atf-c++/detail/io.cpp, atf-c++/detail/io_test.cpp: + These files were derived from the file_handle, systembuf, pipe and pistream + classes and tests found in the Boost.Process library. + + Author: Julio Merino + +* admin/check-style.sh, admin/check-style-common.awk, + admin/check-style-cpp.awk, admin/check-style-shell.awk: These files, + except the first one, were first implemented in the Buildtool project. + They were later adapted to be part of Boost.Process and, during that + process, the shell script was created. + + Author: Julio Merino + + +=========================================================================== +vim: filetype=text:textwidth=75:expandtab:shiftwidth=2:softtabstop=2 Added: vendor/atf/atf-0.16/INSTALL ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/atf/atf-0.16/INSTALL Tue Sep 4 23:07:32 2012 (r240116) @@ -0,0 +1,232 @@ +Installation instructions Automated Testing Framework +=========================================================================== + + +Introduction +************ + +ATF uses the GNU Automake, GNU Autoconf and GNU Libtool utilities as its +build system. These are used only when compiling the application from the +source code package. If you want to install ATF from a binary package, you +do not need to read this document. + +For the impatient: + + $ ./configure + $ make + Gain root privileges + # make install + Drop root privileges + $ make installcheck + +Or alternatively, install as a regular user into your home directory: + + $ ./configure --prefix ~/local + $ make + $ make install + $ make installcheck + + +Dependencies +************ + +To build and use ATF successfully you need: + +* A standards-compliant C/C++ complier. For example, GNU GCC 2.95 will not + work. + +* A POSIX shell interpreter. + +* A make(1) utility. + +If you are building ATF from the code on the repository, you will also need +the following tools. The versions listed here are the ones used to build +the files bundled in the last formal release, but these are not strictly +required. Newer ones will most likely work and, maybe, some slightly older +ones: + +* GNU autoconf 2.68 + +* GNU automake 1.11.3 + +* GNU libtool 2.4.2 + + +Regenerating the build system +***************************** + +If you are building ATF from code extracted from the repository, you must +first regenerate the files used by the build system. You will also need to +do this if you modify configure.ac, Makefile.am or any of the other build +system files. To do this, simply run: + + $ autoreconf -i -s + +For formal releases, no extra steps are needed. + + +General build procedure +*********************** + +To build and install the source package, you must follow these steps: + +1. Configure the sources to adapt to your operating system. This is done + using the 'configure' script located on the sources' top directory, + and it is usually invoked without arguments unless you want to change + the installation prefix. More details on this procedure are given on a + later section. + +2. Build the sources to generate the binaries and scripts. Simply run + 'make' on the sources' top directory after configuring them. No + problems should arise. + +3. Install the program by running 'make install'. You may need to become + root to issue this step. + +4. Issue any manual installation steps that may be required. These are + described later in their own section. + +5. Check that the installed programs work by running 'make installcheck'. + You do not need to be root to do this, even though some checks will not + be run otherwise. + + +Configuration flags +******************* + +The most common, standard flags given to 'configure' are: + +* --prefix=directory + Possible values: Any path + Default: /usr/local + + Specifies where the program (binaries and all associated files) will + be installed. + +* --sysconfdir=directory + Possible values: Any path + Default: /usr/local/etc + + Specifies where the installed programs will look for configuration files. + '/atf' will be appended to the given path unless ATF_CONFSUBDIR is + redefined as explained later on. + +* --help + Shows information about all available flags and exits immediately, + without running any configuration tasks. + +The following environment variables are specific to ATF's 'configure' +script: + +* ATF_BUILD_CC + Possible values: empty, a absolute or relative path to a C compiler. + Default: the value of CC as detected by the configure script. + + Specifies the C compiler that ATF will use at run time whenever the + build-time-specific checks are used. + +* ATF_BUILD_CFLAGS + Possible values: empty, a list of valid C compiler flags. + Default: the value of CFLAGS as detected by the configure script. + + Specifies the C compiler flags that ATF will use at run time whenever the + build-time-specific checks are used. + +* ATF_BUILD_CPP + Possible values: empty, a absolute or relative path to a C/C++ + preprocessor. + Default: the value of CPP as detected by the configure script. + + Specifies the C/C++ preprocessor that ATF will use at run time whenever + the build-time-specific checks are used. + +* ATF_BUILD_CPPFLAGS + Possible values: empty, a list of valid C/C++ preprocessor flags. + Default: the value of CPPFLAGS as detected by the configure script. + + Specifies the C/C++ preprocessor flags that ATF will use at run time + whenever the build-time-specific checks are used. + +* ATF_BUILD_CXX + Possible values: empty, a absolute or relative path to a C++ compiler. + Default: the value of CXX as detected by the configure script. + + Specifies the C++ compiler that ATF will use at run time whenever the + build-time-specific checks are used. + +* ATF_BUILD_CXXFLAGS + Possible values: empty, a list of valid C++ compiler flags. + Default: the value of CXXFLAGS as detected by the configure script. + + Specifies the C++ compiler flags that ATF will use at run time whenever + the build-time-specific checks are used. + +* ATF_CONFSUBDIR + Possible values: empty, a relative path. + Default: atf. + + Specifies the subdirectory of the configuration directory (given by the + --sysconfdir argument) under which ATF will search for its configuration + files. + +* ATF_SHELL + Possible values: empty, absolute path to a POSIX shell interpreter. + Default: empty. + + Specifies the POSIX shell interpreter that ATF will use at run time to + execute its scripts and the test programs written using the atf-sh + library. If empty, the configure script will try to find a suitable + interpreter for you. + +* ATF_WORKDIR + Possible values: empty, an absolute path. + Default: /tmp or /var/tmp, depending on availability. + + Specifies the directory that ATF will use to place its temporary files + and work directories for test cases. This is just a default and can be + overriden at run time. + +* GDB + Possible values: empty, absolute path to GNU GDB. + Default: empty. + + Specifies the path to the GNU GDB binary that atf-run will use to gather + a stack trace of a crashing test program. If empty, the configure script + will try to find a suitable binary for you. + +The following flags are specific to ATF's 'configure' script: + +* --enable-developer + Possible values: yes, no + Default: 'yes' in Git HEAD builds; 'no' in formal releases. + + Enables several features useful for development, such as the inclusion + of debugging symbols in all objects or the enforcement of compilation + warnings. + + The compiler will be executed with an exhaustive collection of warning + detection features regardless of the value of this flag. However, such + warnings are only fatal when --enable-developer is 'yes'. + +* --enable-tools + Possible values: yes, no + Default: no. + + Enables the build of the deprecated atf-config, atf-report, atf-run + and atf-version tools. atf-report and atf-run have been superseded by + Kyua, and atf-config and atf-version are unnecessary. + + +Post-installation steps +*********************** + +After installing ATF, you have to register the DTDs it provides into the +system-wide XML catalog. See the comments at the top of the files in +${datadir}/share/xml/atf to see the correct public identifiers. This +directory will typically be /usr/local/share/xml/atf or /usr/share/xml/atf. +Failure to do so will lead to further errors when processing the XML files +generated by atf-report. + + +=========================================================================== +vim: filetype=text:textwidth=75:expandtab:shiftwidth=2:softtabstop=2 Added: vendor/atf/atf-0.16/Kyuafile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/atf/atf-0.16/Kyuafile Tue Sep 4 23:07:32 2012 (r240116) @@ -0,0 +1,18 @@ +syntax("kyuafile", 1) + +test_suite("atf") + +include("atf-c/Kyuafile") +include("atf-c++/Kyuafile") +include("atf-sh/Kyuafile") +include("test-programs/Kyuafile") + +if fs.exists("atf-config/Kyuafile") then + include("atf-config/Kyuafile") +end +if fs.exists("atf-report/Kyuafile") then + include("atf-report/Kyuafile") +end +if fs.exists("atf-run/Kyuafile") then + include("atf-run/Kyuafile") +end Added: vendor/atf/atf-0.16/Makefile.am ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/atf/atf-0.16/Makefile.am Tue Sep 4 23:07:32 2012 (r240116) @@ -0,0 +1,151 @@ +# +# Automated Testing Framework (atf) +# +# Copyright (c) 2007 The NetBSD Foundation, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND +# CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +atf_aclocal_DATA = +BUILT_SOURCES = +CLEANFILES = +EXTRA_DIST = +bin_PROGRAMS = +dist_man_MANS = +include_HEADERS = +lib_LTLIBRARIES = +libexec_PROGRAMS = +man_MANS = +noinst_DATA = +noinst_LTLIBRARIES = +INSTALLCHECK_TARGETS = +PHONY_TARGETS = + +ACLOCAL_AMFLAGS = -I m4 +AM_DISTCHECK_CONFIGURE_FLAGS = --enable-tools + +include admin/Makefile.am.inc +include atf-c/Makefile.am.inc +include atf-c++/Makefile.am.inc +include atf-sh/Makefile.am.inc +include bootstrap/Makefile.am.inc +include doc/Makefile.am.inc +include test-programs/Makefile.am.inc + +if ENABLE_TOOLS +include atf-report/Makefile.am.inc +include atf-config/Makefile.am.inc +include atf-run/Makefile.am.inc +include atf-version/Makefile.am.inc +endif + +# +# Top-level distfile documents. +# + +doc_DATA = AUTHORS COPYING NEWS README +noinst_DATA += INSTALL README +EXTRA_DIST += $(doc_DATA) INSTALL README + +# +# Supporting logic to run our custom testsuite. +# + +TESTS_ENVIRONMENT = PATH=$(prefix)/bin:$${PATH} \ + PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig + +testsdir = $(exec_prefix)/tests +pkgtestsdir = $(testsdir)/$(PACKAGE) + +if ENABLE_TOOLS +INSTALLCHECK_TARGETS += installcheck-atf +PHONY_TARGETS += installcheck-atf +installcheck-atf: + logfile=$$(pwd)/installcheck.log; \ + fifofile=$$(pwd)/installcheck.fifo; \ + cd $(pkgtestsdir); \ + rm -f $${fifofile}; \ + mkfifo $${fifofile}; \ + cat $${fifofile} | tee $${logfile} | $(TESTS_ENVIRONMENT) atf-report & \ + $(TESTS_ENVIRONMENT) atf-run >>$${fifofile}; \ + res=$${?}; \ + wait; \ + rm $${fifofile}; \ + echo; \ + echo "The verbatim output of atf-run has been saved to" \ + "installcheck.log; exit was $${res}"; \ + test $${res} -eq 0 +CLEANFILES += installcheck.fifo installcheck.log +endif + +PHONY_TARGETS += installcheck-kyua +if HAVE_KYUA +installcheck-kyua: + cd $(pkgtestsdir) && $(TESTS_ENVIRONMENT) $(KYUA) test +endif + +installcheck-targets: $(INSTALLCHECK_TARGETS) + +pkgtests_DATA = Kyuafile +if ENABLE_TOOLS +pkgtests_DATA += Atffile +endif +EXTRA_DIST += $(pkgtests_DATA) + +BUILD_SH_TP = \ + echo "Creating $${dst}"; \ + echo "\#! $(bindir)/atf-sh" >$${dst}; \ + cat $${src} >>$${dst}; \ + chmod +x $${dst} + +# +# Custom targets. +# + +dist-hook: forbid-dist +if ENABLE_TOOLS +forbid-dist: + @true +else +forbid-dist: + @echo "Sorry; cannot make dist without the tools enabled." + @echo "Please reconfigure with --enable-tools." + @false +endif + +PHONY_TARGETS += clean-all +clean-all: + GIT="$(GIT)" $(SH) $(srcdir)/admin/clean-all.sh + +PHONY_TARGETS += release +release: + $(SH) $(srcdir)/admin/release.sh $(PACKAGE_VERSION) $(DIST_ARCHIVES) + +PHONY_TARGETS += release-test +release-test: + $(SH) $(srcdir)/admin/release-test.sh $(DIST_ARCHIVES) + +.PHONY: $(PHONY_TARGETS) + +# vim: syntax=make:noexpandtab:shiftwidth=8:softtabstop=8 Added: vendor/atf/atf-0.16/Makefile.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/atf/atf-0.16/Makefile.in Tue Sep 4 23:07:32 2012 (r240116) @@ -0,0 +1,5264 @@ +# Makefile.in generated by automake 1.11.3 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# +# Automated Testing Framework (atf) +# +# Copyright (c) 2007 The NetBSD Foundation, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND +# CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# +# Automated Testing Framework (atf) +# +# Copyright (c) 2007 The NetBSD Foundation, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND +# CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# +# Automated Testing Framework (atf) +# +# Copyright (c) 2007 The NetBSD Foundation, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND +# CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# +# Automated Testing Framework (atf) +# +# Copyright (c) 2007 The NetBSD Foundation, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND +# CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# +# Automated Testing Framework (atf) +# +# Copyright (c) 2007 The NetBSD Foundation, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND +# CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# +# Automated Testing Framework (atf) +# +# Copyright (c) 2007 The NetBSD Foundation, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND +# CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# +# Automated Testing Framework (atf) +# +# Copyright (c) 2007 The NetBSD Foundation, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND +# CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# +# Automated Testing Framework (atf) +# +# Copyright (c) 2007 The NetBSD Foundation, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND +# CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# +# Automated Testing Framework (atf) +# +# Copyright (c) 2007 The NetBSD Foundation, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND +# CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# +# Automated Testing Framework (atf) +# +# Copyright (c) 2007 The NetBSD Foundation, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND +# CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# +# Automated Testing Framework (atf) +# +# Copyright (c) 2007 The NetBSD Foundation, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND +# CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# +# Automated Testing Framework (atf) +# +# Copyright (c) 2007 The NetBSD Foundation, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND +# CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# +# Automated Testing Framework (atf) +# +# Copyright (c) 2007 The NetBSD Foundation, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND +# CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# +# Automated Testing Framework (atf) +# +# Copyright (c) 2007 The NetBSD Foundation, Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND +# CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + + + + + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@FreeBSD.ORG Tue Sep 4 23:08:53 2012 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 17B431065676; Tue, 4 Sep 2012 23:08:53 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DEDD58FC1A; Tue, 4 Sep 2012 23:08:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q84N8qra034032; Tue, 4 Sep 2012 23:08:52 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q84N8qPb034030; Tue, 4 Sep 2012 23:08:52 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201209042308.q84N8qPb034030@svn.freebsd.org> From: Marcel Moolenaar Date: Tue, 4 Sep 2012 23:08:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240117 - vendor/atf/dist X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Sep 2012 23:08:53 -0000 Author: marcel Date: Tue Sep 4 23:08:52 2012 New Revision: 240117 URL: http://svn.freebsd.org/changeset/base/240117 Log: Bootstrap dist directory from the initial import of ATF 0.16. Added: vendor/atf/dist/ - copied from r240116, vendor/atf/atf-0.16/ From owner-svn-src-vendor@FreeBSD.ORG Wed Sep 5 14:52:54 2012 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DD17A106566B; Wed, 5 Sep 2012 14:52:54 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AEAB88FC15; Wed, 5 Sep 2012 14:52:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q85EqslL056115; Wed, 5 Sep 2012 14:52:54 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q85EqsKd056114; Wed, 5 Sep 2012 14:52:54 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201209051452.q85EqsKd056114@svn.freebsd.org> From: Marcel Moolenaar Date: Wed, 5 Sep 2012 14:52:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240138 - vendor/NetBSD/atf X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Sep 2012 14:52:55 -0000 Author: marcel Date: Wed Sep 5 14:52:54 2012 New Revision: 240138 URL: http://svn.freebsd.org/changeset/base/240138 Log: Remove atf. We get it from the source, not from NetBSD. Deleted: vendor/NetBSD/atf/ From owner-svn-src-vendor@FreeBSD.ORG Wed Sep 5 15:58:40 2012 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9DD40106566B; Wed, 5 Sep 2012 15:58:40 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6D0548FC08; Wed, 5 Sep 2012 15:58:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q85FweRS064675; Wed, 5 Sep 2012 15:58:40 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q85FweQ1064673; Wed, 5 Sep 2012 15:58:40 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201209051558.q85FweQ1064673@svn.freebsd.org> From: Marcel Moolenaar Date: Wed, 5 Sep 2012 15:58:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240140 - in vendor/atf: . atf-0.16 atf-0.16/atf-c atf-0.16/atf-c++ atf-0.16/atf-sh atf-0.16/bootstrap atf-0.16/m4 dist dist/atf-c dist/atf-c++ dist/atf-sh dist/bootstrap dist/m4 X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Sep 2012 15:58:40 -0000 Author: marcel Date: Wed Sep 5 15:58:39 2012 New Revision: 240140 URL: http://svn.freebsd.org/changeset/base/240140 Log: 1. Add README.txt with upgrade instructions as well as license info and governance. 2. Add FREEBSD-Xlist to prune the distribution. 3. Remove files & directories not used by FreeBSD. Added: vendor/atf/FREEBSD-Xlist vendor/atf/README.txt Deleted: vendor/atf/atf-0.16/INSTALL vendor/atf/atf-0.16/TODO vendor/atf/atf-0.16/aclocal.m4 vendor/atf/atf-0.16/atf-c++/atf-c++.m4 vendor/atf/atf-0.16/atf-c++/atf-c++.pc.in vendor/atf/atf-0.16/atf-c/atf-c.m4 vendor/atf/atf-0.16/atf-c/atf-c.pc.in vendor/atf/atf-0.16/atf-c/atf-common.m4 vendor/atf/atf-0.16/atf-sh/atf-sh.m4 vendor/atf/atf-0.16/atf-sh/atf-sh.pc.in vendor/atf/atf-0.16/bootstrap/ vendor/atf/atf-0.16/m4/ vendor/atf/dist/INSTALL vendor/atf/dist/TODO vendor/atf/dist/aclocal.m4 vendor/atf/dist/atf-c++/atf-c++.m4 vendor/atf/dist/atf-c++/atf-c++.pc.in vendor/atf/dist/atf-c/atf-c.m4 vendor/atf/dist/atf-c/atf-c.pc.in vendor/atf/dist/atf-c/atf-common.m4 vendor/atf/dist/atf-sh/atf-sh.m4 vendor/atf/dist/atf-sh/atf-sh.pc.in vendor/atf/dist/bootstrap/ vendor/atf/dist/m4/ Added: vendor/atf/FREEBSD-Xlist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/atf/FREEBSD-Xlist Wed Sep 5 15:58:39 2012 (r240140) @@ -0,0 +1,7 @@ +bootstrap/ +m4/ +INSTALL +TODO +aclocal.m4 +atf-*/atf-*.m4 +atf-*/atf-*.pc.in Added: vendor/atf/README.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/atf/README.txt Wed Sep 5 15:58:39 2012 (r240140) @@ -0,0 +1,14 @@ +Import tree for ATF: the Automated Testing Framework. + +Governance: http://code.google.com/p/kyua/wiki/ATF +License: BSD (3-Clause) + +Upgrade instructions: +1. Download a newer version from the URL given above +2. Extract the tarball as per the guidelines +3. Run the following command to remove extraneous files: + sh -c 'for F in `cat FREEBSD-Xlist`; do rm -rf ./$F ; done' +4. Make sure to delete files that ere not present in the new version! +5. Commit vendor/atf (this should update dist and create a new 'tag') +6. Merge vendor/atf/dist to head/contrib/atf, and re-run configure +7. Commit head/contrib/atf