Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Jun 2013 20:27:34 +0000 (UTC)
From:      Peter Grehan <grehan@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r252316 - in projects/hyperv: . cddl/contrib/opensolaris/cmd/zpool cddl/contrib/opensolaris/lib/libzfs/common cddl/contrib/opensolaris/lib/libzfs_core/common contrib/gcc etc etc/default...
Message-ID:  <201306272027.r5RKRYZu067929@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: grehan
Date: Thu Jun 27 20:27:34 2013
New Revision: 252316
URL: http://svnweb.freebsd.org/changeset/base/252316

Log:
  IFC @ r252288

Added:
  projects/hyperv/etc/rc.d/swap
     - copied unchanged from r252310, head/etc/rc.d/swap
  projects/hyperv/etc/rc.d/swaplate
     - copied unchanged from r252310, head/etc/rc.d/swaplate
  projects/hyperv/sbin/nvmecontrol/devlist.c
     - copied unchanged from r252310, head/sbin/nvmecontrol/devlist.c
  projects/hyperv/sbin/nvmecontrol/firmware.c
     - copied unchanged from r252310, head/sbin/nvmecontrol/firmware.c
  projects/hyperv/sbin/nvmecontrol/identify.c
     - copied unchanged from r252310, head/sbin/nvmecontrol/identify.c
  projects/hyperv/sbin/nvmecontrol/logpage.c
     - copied unchanged from r252310, head/sbin/nvmecontrol/logpage.c
  projects/hyperv/sbin/nvmecontrol/nvmecontrol.h
     - copied unchanged from r252310, head/sbin/nvmecontrol/nvmecontrol.h
  projects/hyperv/sbin/nvmecontrol/perftest.c
     - copied unchanged from r252310, head/sbin/nvmecontrol/perftest.c
  projects/hyperv/sbin/nvmecontrol/reset.c
     - copied unchanged from r252310, head/sbin/nvmecontrol/reset.c
  projects/hyperv/share/man/man4/qlxge.4
     - copied unchanged from r252310, head/share/man/man4/qlxge.4
  projects/hyperv/sys/dev/qlxge/
     - copied from r252310, head/sys/dev/qlxge/
  projects/hyperv/sys/modules/qlxge/
     - copied from r252310, head/sys/modules/qlxge/
  projects/hyperv/usr.sbin/bsdconfig/share/media/http.subr
     - copied unchanged from r252310, head/usr.sbin/bsdconfig/share/media/http.subr
Deleted:
  projects/hyperv/etc/rc.d/encswap
  projects/hyperv/etc/rc.d/swap1
Modified:
  projects/hyperv/ObsoleteFiles.inc
  projects/hyperv/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c
  projects/hyperv/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
  projects/hyperv/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_status.c
  projects/hyperv/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c
  projects/hyperv/contrib/gcc/config.gcc
  projects/hyperv/contrib/gcc/gthr-posix95.h
  projects/hyperv/contrib/gcc/opts.c
  projects/hyperv/etc/defaults/rc.conf
  projects/hyperv/etc/devd/usb.conf
  projects/hyperv/etc/network.subr
  projects/hyperv/etc/periodic/daily/450.status-security
  projects/hyperv/etc/rc.d/Makefile
  projects/hyperv/etc/rc.d/addswap
  projects/hyperv/etc/rc.d/fsck
  projects/hyperv/etc/rc.d/hostapd
  projects/hyperv/etc/rc.d/mdconfig
  projects/hyperv/etc/rc.d/sshd
  projects/hyperv/gnu/lib/libdialog/Makefile
  projects/hyperv/include/paths.h
  projects/hyperv/lib/msun/src/s_fma.c
  projects/hyperv/lib/msun/src/s_fmal.c
  projects/hyperv/release/doc/en_US.ISO8859-1/relnotes/article.xml
  projects/hyperv/release/release.sh
  projects/hyperv/sbin/mdconfig/mdconfig.c
  projects/hyperv/sbin/nvmecontrol/Makefile
  projects/hyperv/sbin/nvmecontrol/nvmecontrol.8
  projects/hyperv/sbin/nvmecontrol/nvmecontrol.c
  projects/hyperv/sbin/swapon/swapon.8
  projects/hyperv/sbin/swapon/swapon.c
  projects/hyperv/share/man/man4/Makefile
  projects/hyperv/share/man/man4/axe.4
  projects/hyperv/share/man/man4/urtwn.4
  projects/hyperv/share/man/man5/fstab.5
  projects/hyperv/share/man/man5/rc.conf.5
  projects/hyperv/share/man/man9/Makefile
  projects/hyperv/share/man/man9/hhook.9
  projects/hyperv/share/man/man9/rmlock.9
  projects/hyperv/share/misc/committers-ports.dot
  projects/hyperv/share/mk/sys.mk
  projects/hyperv/sys/amd64/include/acpica_machdep.h
  projects/hyperv/sys/arm/ti/am335x/am335x_lcd.c
  projects/hyperv/sys/arm/ti/ti_scm.c
  projects/hyperv/sys/cam/scsi/scsi_all.c
  projects/hyperv/sys/cddl/compat/opensolaris/sys/mutex.h
  projects/hyperv/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c
  projects/hyperv/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_userhold.c
  projects/hyperv/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
  projects/hyperv/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c
  projects/hyperv/sys/conf/files
  projects/hyperv/sys/conf/files.amd64
  projects/hyperv/sys/conf/options
  projects/hyperv/sys/contrib/dev/acpica/acpica_prep.sh
  projects/hyperv/sys/contrib/dev/acpica/changes.txt   (contents, props changed)
  projects/hyperv/sys/contrib/dev/acpica/common/dmrestag.c
  projects/hyperv/sys/contrib/dev/acpica/common/dmtable.c
  projects/hyperv/sys/contrib/dev/acpica/common/dmtbdump.c
  projects/hyperv/sys/contrib/dev/acpica/common/dmtbinfo.c
  projects/hyperv/sys/contrib/dev/acpica/compiler/aslcompile.c
  projects/hyperv/sys/contrib/dev/acpica/compiler/aslmessages.h
  projects/hyperv/sys/contrib/dev/acpica/compiler/asltree.c
  projects/hyperv/sys/contrib/dev/acpica/compiler/aslutils.c
  projects/hyperv/sys/contrib/dev/acpica/compiler/dtfield.c
  projects/hyperv/sys/contrib/dev/acpica/compiler/dtio.c
  projects/hyperv/sys/contrib/dev/acpica/compiler/dttable.c
  projects/hyperv/sys/contrib/dev/acpica/compiler/dttemplate.h
  projects/hyperv/sys/contrib/dev/acpica/compiler/dtutils.c
  projects/hyperv/sys/contrib/dev/acpica/compiler/preprocess.h
  projects/hyperv/sys/contrib/dev/acpica/compiler/prscan.c
  projects/hyperv/sys/contrib/dev/acpica/components/debugger/dbcmds.c
  projects/hyperv/sys/contrib/dev/acpica/components/debugger/dbdisply.c
  projects/hyperv/sys/contrib/dev/acpica/components/debugger/dbinput.c
  projects/hyperv/sys/contrib/dev/acpica/components/debugger/dbnames.c
  projects/hyperv/sys/contrib/dev/acpica/components/disassembler/dmbuffer.c
  projects/hyperv/sys/contrib/dev/acpica/components/disassembler/dmopcode.c
  projects/hyperv/sys/contrib/dev/acpica/components/disassembler/dmresrcl.c
  projects/hyperv/sys/contrib/dev/acpica/components/disassembler/dmresrcl2.c
  projects/hyperv/sys/contrib/dev/acpica/components/events/evgpeinit.c
  projects/hyperv/sys/contrib/dev/acpica/components/executer/exdump.c
  projects/hyperv/sys/contrib/dev/acpica/components/namespace/nsdump.c
  projects/hyperv/sys/contrib/dev/acpica/components/namespace/nsrepair2.c
  projects/hyperv/sys/contrib/dev/acpica/components/namespace/nsxfname.c
  projects/hyperv/sys/contrib/dev/acpica/components/resources/rsdump.c
  projects/hyperv/sys/contrib/dev/acpica/components/resources/rsutils.c
  projects/hyperv/sys/contrib/dev/acpica/components/tables/tbxfroot.c
  projects/hyperv/sys/contrib/dev/acpica/components/utilities/uteval.c
  projects/hyperv/sys/contrib/dev/acpica/components/utilities/utstring.c
  projects/hyperv/sys/contrib/dev/acpica/include/acdisasm.h
  projects/hyperv/sys/contrib/dev/acpica/include/acpixf.h
  projects/hyperv/sys/contrib/dev/acpica/include/actables.h
  projects/hyperv/sys/contrib/dev/acpica/include/actypes.h
  projects/hyperv/sys/contrib/dev/acpica/include/acutils.h
  projects/hyperv/sys/contrib/dev/acpica/include/platform/acfreebsd.h
  projects/hyperv/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_attach.c
  projects/hyperv/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_freebsd.c
  projects/hyperv/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_freebsd_inc.h
  projects/hyperv/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_radio.c
  projects/hyperv/sys/dev/acpi_support/atk0110.c
  projects/hyperv/sys/dev/acpica/acpi_pcib_acpi.c
  projects/hyperv/sys/dev/ata/chipsets/ata-intel.c
  projects/hyperv/sys/dev/ath/ath_hal/ah.c
  projects/hyperv/sys/dev/ath/ath_hal/ah_internal.h
  projects/hyperv/sys/dev/ath/if_ath_ahb.c
  projects/hyperv/sys/dev/bge/if_bge.c
  projects/hyperv/sys/dev/isci/scil/sati_passthrough.c
  projects/hyperv/sys/dev/mpt/mpt_cam.c
  projects/hyperv/sys/dev/nvme/nvme.h
  projects/hyperv/sys/dev/nvme/nvme_ctrlr.c
  projects/hyperv/sys/dev/nvme/nvme_private.h
  projects/hyperv/sys/dev/nvme/nvme_qpair.c
  projects/hyperv/sys/dev/pci/pci.c
  projects/hyperv/sys/dev/usb/net/if_axe.c
  projects/hyperv/sys/dev/usb/serial/u3g.c
  projects/hyperv/sys/dev/usb/serial/umcs.h
  projects/hyperv/sys/dev/usb/usbdevs
  projects/hyperv/sys/dev/usb/wlan/if_urtwn.c
  projects/hyperv/sys/dev/xen/blkfront/blkfront.c
  projects/hyperv/sys/dev/xen/blkfront/block.h
  projects/hyperv/sys/fs/ext2fs/ext2_alloc.c
  projects/hyperv/sys/fs/ext2fs/ext2_balloc.c
  projects/hyperv/sys/fs/ext2fs/ext2_bmap.c
  projects/hyperv/sys/fs/ext2fs/ext2_extern.h
  projects/hyperv/sys/fs/ext2fs/ext2_subr.c
  projects/hyperv/sys/fs/ext2fs/fs.h
  projects/hyperv/sys/fs/ext2fs/inode.h
  projects/hyperv/sys/fs/nfsclient/nfs_clbio.c
  projects/hyperv/sys/fs/nfsclient/nfs_clstate.c
  projects/hyperv/sys/fs/nfsclient/nfs_clvfsops.c
  projects/hyperv/sys/fs/nfsclient/nfs_clvnops.c
  projects/hyperv/sys/i386/include/acpica_machdep.h
  projects/hyperv/sys/ia64/include/acpica_machdep.h
  projects/hyperv/sys/kern/kern_cpuset.c
  projects/hyperv/sys/kern/kern_lock.c
  projects/hyperv/sys/kern/kern_mutex.c
  projects/hyperv/sys/kern/kern_rmlock.c
  projects/hyperv/sys/kern/kern_rwlock.c
  projects/hyperv/sys/kern/kern_sx.c
  projects/hyperv/sys/kern/subr_lock.c
  projects/hyperv/sys/mips/conf/AR933X_BASE
  projects/hyperv/sys/mips/conf/AR933X_BASE.hints
  projects/hyperv/sys/mips/conf/CARAMBOLA2.hints
  projects/hyperv/sys/modules/Makefile
  projects/hyperv/sys/modules/runfw/Makefile
  projects/hyperv/sys/net/route.h
  projects/hyperv/sys/net/rtsock.c
  projects/hyperv/sys/netinet/ip_input.c
  projects/hyperv/sys/netinet/tcp_input.c
  projects/hyperv/sys/netinet6/nd6_rtr.c
  projects/hyperv/sys/powerpc/ofw/ofw_cpu.c
  projects/hyperv/sys/sys/_rmlock.h
  projects/hyperv/sys/sys/cpuset.h
  projects/hyperv/sys/sys/lock.h
  projects/hyperv/sys/sys/rmlock.h
  projects/hyperv/sys/vm/uma.h
  projects/hyperv/sys/vm/uma_core.c
  projects/hyperv/sys/vm/uma_int.h
  projects/hyperv/sys/vm/vm_page.c
  projects/hyperv/tools/build/mk/OptionalObsoleteFiles.inc
  projects/hyperv/tools/tools/ath/Makefile.inc
  projects/hyperv/usr.bin/calendar/calendars/calendar.freebsd
  projects/hyperv/usr.bin/sed/main.c
  projects/hyperv/usr.sbin/acpi/acpidb/acpidb.c
  projects/hyperv/usr.sbin/acpi/acpidump/acpi.c
  projects/hyperv/usr.sbin/bsdconfig/bsdconfig
  projects/hyperv/usr.sbin/bsdconfig/console/console
  projects/hyperv/usr.sbin/bsdconfig/console/font
  projects/hyperv/usr.sbin/bsdconfig/console/keymap
  projects/hyperv/usr.sbin/bsdconfig/console/repeat
  projects/hyperv/usr.sbin/bsdconfig/console/saver
  projects/hyperv/usr.sbin/bsdconfig/console/screenmap
  projects/hyperv/usr.sbin/bsdconfig/console/ttys
  projects/hyperv/usr.sbin/bsdconfig/diskmgmt/diskmgmt
  projects/hyperv/usr.sbin/bsdconfig/docsinstall/docsinstall
  projects/hyperv/usr.sbin/bsdconfig/dot/dot
  projects/hyperv/usr.sbin/bsdconfig/include/media.hlp
  projects/hyperv/usr.sbin/bsdconfig/include/messages.subr
  projects/hyperv/usr.sbin/bsdconfig/mouse/disable
  projects/hyperv/usr.sbin/bsdconfig/mouse/enable
  projects/hyperv/usr.sbin/bsdconfig/mouse/flags
  projects/hyperv/usr.sbin/bsdconfig/mouse/mouse
  projects/hyperv/usr.sbin/bsdconfig/mouse/port
  projects/hyperv/usr.sbin/bsdconfig/mouse/type
  projects/hyperv/usr.sbin/bsdconfig/networking/defaultrouter
  projects/hyperv/usr.sbin/bsdconfig/networking/devices
  projects/hyperv/usr.sbin/bsdconfig/networking/hostname
  projects/hyperv/usr.sbin/bsdconfig/networking/nameservers
  projects/hyperv/usr.sbin/bsdconfig/networking/networking
  projects/hyperv/usr.sbin/bsdconfig/networking/share/device.subr
  projects/hyperv/usr.sbin/bsdconfig/networking/share/hostname.subr
  projects/hyperv/usr.sbin/bsdconfig/networking/share/ipaddr.subr
  projects/hyperv/usr.sbin/bsdconfig/networking/share/media.subr
  projects/hyperv/usr.sbin/bsdconfig/networking/share/netmask.subr
  projects/hyperv/usr.sbin/bsdconfig/networking/share/resolv.subr
  projects/hyperv/usr.sbin/bsdconfig/networking/share/routing.subr
  projects/hyperv/usr.sbin/bsdconfig/packages/packages
  projects/hyperv/usr.sbin/bsdconfig/password/password
  projects/hyperv/usr.sbin/bsdconfig/security/kern_securelevel
  projects/hyperv/usr.sbin/bsdconfig/security/security
  projects/hyperv/usr.sbin/bsdconfig/share/common.subr
  projects/hyperv/usr.sbin/bsdconfig/share/device.subr
  projects/hyperv/usr.sbin/bsdconfig/share/dialog.subr
  projects/hyperv/usr.sbin/bsdconfig/share/media/Makefile
  projects/hyperv/usr.sbin/bsdconfig/share/media/any.subr
  projects/hyperv/usr.sbin/bsdconfig/share/media/cdrom.subr
  projects/hyperv/usr.sbin/bsdconfig/share/media/common.subr
  projects/hyperv/usr.sbin/bsdconfig/share/media/directory.subr
  projects/hyperv/usr.sbin/bsdconfig/share/media/dos.subr
  projects/hyperv/usr.sbin/bsdconfig/share/media/floppy.subr
  projects/hyperv/usr.sbin/bsdconfig/share/media/ftp.subr
  projects/hyperv/usr.sbin/bsdconfig/share/media/httpproxy.subr
  projects/hyperv/usr.sbin/bsdconfig/share/media/nfs.subr
  projects/hyperv/usr.sbin/bsdconfig/share/media/options.subr
  projects/hyperv/usr.sbin/bsdconfig/share/media/tcpip.subr
  projects/hyperv/usr.sbin/bsdconfig/share/media/ufs.subr
  projects/hyperv/usr.sbin/bsdconfig/share/media/usb.subr
  projects/hyperv/usr.sbin/bsdconfig/share/packages/packages.subr
  projects/hyperv/usr.sbin/bsdconfig/share/script.subr
  projects/hyperv/usr.sbin/bsdconfig/share/sysrc.subr
  projects/hyperv/usr.sbin/bsdconfig/share/variable.subr
  projects/hyperv/usr.sbin/bsdconfig/startup/misc
  projects/hyperv/usr.sbin/bsdconfig/startup/rcadd
  projects/hyperv/usr.sbin/bsdconfig/startup/rcconf
  projects/hyperv/usr.sbin/bsdconfig/startup/rcdelete
  projects/hyperv/usr.sbin/bsdconfig/startup/rcedit
  projects/hyperv/usr.sbin/bsdconfig/startup/rcvar
  projects/hyperv/usr.sbin/bsdconfig/startup/startup
  projects/hyperv/usr.sbin/bsdconfig/timezone/timezone
  projects/hyperv/usr.sbin/bsdconfig/ttys/ttys
  projects/hyperv/usr.sbin/bsdconfig/usermgmt/groupadd
  projects/hyperv/usr.sbin/bsdconfig/usermgmt/groupdel
  projects/hyperv/usr.sbin/bsdconfig/usermgmt/groupedit
  projects/hyperv/usr.sbin/bsdconfig/usermgmt/groupinput
  projects/hyperv/usr.sbin/bsdconfig/usermgmt/share/user_input.subr
  projects/hyperv/usr.sbin/bsdconfig/usermgmt/useradd
  projects/hyperv/usr.sbin/bsdconfig/usermgmt/userdel
  projects/hyperv/usr.sbin/bsdconfig/usermgmt/useredit
  projects/hyperv/usr.sbin/bsdconfig/usermgmt/userinput
  projects/hyperv/usr.sbin/bsdconfig/usermgmt/usermgmt
  projects/hyperv/usr.sbin/gssd/gssd.8
  projects/hyperv/usr.sbin/gssd/gssd.c
  projects/hyperv/usr.sbin/mergemaster/mergemaster.8
Directory Properties:
  projects/hyperv/   (props changed)
  projects/hyperv/cddl/   (props changed)
  projects/hyperv/cddl/contrib/opensolaris/   (props changed)
  projects/hyperv/cddl/contrib/opensolaris/lib/libzfs/   (props changed)
  projects/hyperv/contrib/gcc/   (props changed)
  projects/hyperv/gnu/lib/   (props changed)
  projects/hyperv/sbin/   (props changed)
  projects/hyperv/share/man/man4/   (props changed)
  projects/hyperv/sys/   (props changed)
  projects/hyperv/sys/cddl/contrib/opensolaris/   (props changed)
  projects/hyperv/sys/conf/   (props changed)
  projects/hyperv/sys/contrib/dev/acpica/   (props changed)
  projects/hyperv/sys/contrib/dev/acpica/common/   (props changed)
  projects/hyperv/sys/contrib/dev/acpica/compiler/   (props changed)
  projects/hyperv/sys/contrib/dev/acpica/components/debugger/   (props changed)
  projects/hyperv/sys/contrib/dev/acpica/components/disassembler/   (props changed)
  projects/hyperv/sys/contrib/dev/acpica/components/events/   (props changed)
  projects/hyperv/sys/contrib/dev/acpica/components/executer/   (props changed)
  projects/hyperv/sys/contrib/dev/acpica/components/namespace/   (props changed)
  projects/hyperv/sys/contrib/dev/acpica/components/resources/   (props changed)
  projects/hyperv/sys/contrib/dev/acpica/components/tables/   (props changed)
  projects/hyperv/sys/contrib/dev/acpica/components/utilities/   (props changed)
  projects/hyperv/sys/contrib/dev/acpica/include/   (props changed)
  projects/hyperv/sys/contrib/dev/acpica/os_specific/   (props changed)
  projects/hyperv/sys/dev/usb/serial/uark.c   (props changed)
  projects/hyperv/usr.bin/calendar/   (props changed)

Modified: projects/hyperv/ObsoleteFiles.inc
==============================================================================
--- projects/hyperv/ObsoleteFiles.inc	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/ObsoleteFiles.inc	Thu Jun 27 20:27:34 2013	(r252316)
@@ -38,6 +38,9 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20130623: dialog update from 1.1 to 1.2
+OLD_LIBS+=usr/lib/libdialog.so.7
+OLD_LIBS+=usr/lib32/libdialog.so.7
 # 20130616: vfs_mounted.9 removed
 OLD_FILES+=usr/share/man/man9/vfs_mount.9.gz
 # 20130614: remove CVS from base

Modified: projects/hyperv/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c
==============================================================================
--- projects/hyperv/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c	Thu Jun 27 20:27:34 2013	(r252316)
@@ -5344,10 +5344,9 @@ main(int argc, char **argv)
 		 * 'freeze' is a vile debugging abomination, so we treat
 		 * it as such.
 		 */
-		char buf[16384];
-		int fd = open(ZFS_DEV, O_RDWR);
-		(void) strcpy((void *)buf, argv[2]);
-		return (!!ioctl(fd, ZFS_IOC_POOL_FREEZE, buf));
+		zfs_cmd_t zc = { 0 };
+		(void) strlcpy(zc.zc_name, argv[2], sizeof (zc.zc_name));
+		return (!!zfs_ioctl(g_zfs, ZFS_IOC_POOL_FREEZE, &zc));
 	} else {
 		(void) fprintf(stderr, gettext("unrecognized "
 		    "command '%s'\n"), cmdname);

Modified: projects/hyperv/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
==============================================================================
--- projects/hyperv/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c	Thu Jun 27 20:27:34 2013	(r252316)
@@ -21,9 +21,9 @@
 
 /*
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2012 Nexenta Systems, Inc. All rights reserved.
- * Copyright (c) 2011 by Delphix. All rights reserved.
+ * Copyright (c) 2013 by Delphix. All rights reserved.
  * Copyright (c) 2012 DEY Storage Systems, Inc.  All rights reserved.
+ * Copyright 2012 Nexenta Systems, Inc. All rights reserved.
  * Copyright (c) 2011-2012 Pawel Jakub Dawidek <pawel@dawidek.net>.
  * All rights reserved.
  * Copyright (c) 2012 Martin Matuska <mm@FreeBSD.org>. All rights reserved.
@@ -4159,6 +4159,7 @@ struct holdarg {
 	const char *snapname;
 	const char *tag;
 	boolean_t recursive;
+	int error;
 };
 
 static int
@@ -4286,15 +4287,20 @@ zfs_release_one(zfs_handle_t *zhp, void 
 	struct holdarg *ha = arg;
 	char name[ZFS_MAXNAMELEN];
 	int rv = 0;
+	nvlist_t *existing_holds;
 
 	(void) snprintf(name, sizeof (name),
 	    "%s@%s", zhp->zfs_name, ha->snapname);
 
-	if (lzc_exists(name)) {
-		nvlist_t *holds = fnvlist_alloc();
-		fnvlist_add_boolean(holds, ha->tag);
-		fnvlist_add_nvlist(ha->nvl, name, holds);
-		fnvlist_free(holds);
+	if (lzc_get_holds(name, &existing_holds) != 0) {
+		ha->error = ENOENT;
+	} else if (!nvlist_exists(existing_holds, ha->tag)) {
+		ha->error = ESRCH;
+	} else {
+		nvlist_t *torelease = fnvlist_alloc();
+		fnvlist_add_boolean(torelease, ha->tag);
+		fnvlist_add_nvlist(ha->nvl, name, torelease);
+		fnvlist_free(torelease);
 	}
 
 	if (ha->recursive)
@@ -4318,16 +4324,21 @@ zfs_release(zfs_handle_t *zhp, const cha
 	ha.snapname = snapname;
 	ha.tag = tag;
 	ha.recursive = recursive;
+	ha.error = 0;
 	(void) zfs_release_one(zfs_handle_dup(zhp), &ha);
 
 	if (nvlist_empty(ha.nvl)) {
 		fnvlist_free(ha.nvl);
-		ret = ENOENT;
+		ret = ha.error;
 		(void) snprintf(errbuf, sizeof (errbuf),
 		    dgettext(TEXT_DOMAIN,
 		    "cannot release hold from snapshot '%s@%s'"),
 		    zhp->zfs_name, snapname);
-		(void) zfs_standard_error(hdl, ret, errbuf);
+		if (ret == ESRCH) {
+			(void) zfs_error(hdl, EZFS_REFTAG_RELE, errbuf);
+		} else {
+			(void) zfs_standard_error(hdl, ret, errbuf);
+		}
 		return (ret);
 	}
 

Modified: projects/hyperv/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_status.c
==============================================================================
--- projects/hyperv/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_status.c	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_status.c	Thu Jun 27 20:27:34 2013	(r252316)
@@ -22,6 +22,7 @@
 /*
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2012 by Delphix. All rights reserved.
+ * Copyright (c) 2013 Steven Hartland. All rights reserved.
  */
 
 /*

Modified: projects/hyperv/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c
==============================================================================
--- projects/hyperv/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c	Thu Jun 27 20:27:34 2013	(r252316)
@@ -302,11 +302,8 @@ lzc_snapshot(nvlist_t *snaps, nvlist_t *
  * marked for deferred destruction, and will be destroyed when the last hold
  * or clone is removed/destroyed.
  *
- * The return value will be ENOENT if none of the snapshots existed.
- *
  * The return value will be 0 if all snapshots were destroyed (or marked for
- * later destruction if 'defer' is set) or didn't exist to begin with and
- * at least one snapshot was destroyed.
+ * later destruction if 'defer' is set) or didn't exist to begin with.
  *
  * Otherwise the return value will be the errno of a (unspecified) snapshot
  * that failed, no snapshots will be destroyed, and the errlist will have an
@@ -397,15 +394,10 @@ lzc_exists(const char *dataset)
  * or imported.
  *
  * Holds for snapshots which don't exist will be skipped and have an entry
- * added to errlist, but will not cause an overall failure, except in the
- * case that all holds where skipped.
- *
- * The return value will be ENOENT if none of the snapshots for the requested
- * holds existed.
+ * added to errlist, but will not cause an overall failure.
  *
- * The return value will be 0 if the nvl holds was empty or all holds, for
- * snapshots that existed, were succesfully created and at least one hold
- * was created.
+ * The return value will be 0 if all holds, for snapshots that existed,
+ * were succesfully created.
  *
  * Otherwise the return value will be the errno of a (unspecified) hold that
  * failed and no holds will be created.
@@ -449,13 +441,10 @@ lzc_hold(nvlist_t *holds, int cleanup_fd
  * The value is a nvlist whose keys are the holds to remove.
  *
  * Holds which failed to release because they didn't exist will have an entry
- * added to errlist, but will not cause an overall failure, except in the
- * case that all releases where skipped.
- *
- * The return value will be ENOENT if none of the specified holds existed.
+ * added to errlist, but will not cause an overall failure.
  *
  * The return value will be 0 if the nvl holds was empty or all holds that
- * existed, were successfully removed and at least one hold was removed.
+ * existed, were successfully removed.
  *
  * Otherwise the return value will be the errno of a (unspecified) hold that
  * failed to release and no holds will be released.

Modified: projects/hyperv/contrib/gcc/config.gcc
==============================================================================
--- projects/hyperv/contrib/gcc/config.gcc	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/contrib/gcc/config.gcc	Thu Jun 27 20:27:34 2013	(r252316)
@@ -428,6 +428,10 @@ case ${target} in
       tm_defines="${tm_defines} FBSD_MAJOR=8" ;;
     *-*-freebsd9 | *-*-freebsd[9].*)
       tm_defines="${tm_defines} FBSD_MAJOR=9" ;;
+    *-*-freebsd10 | *-*-freebsd10.*)
+      tm_defines="${tm_defines} FBSD_MAJOR=10" ;;
+    *-*-freebsd11 | *-*-freebsd11.*)
+      tm_defines="${tm_defines} FBSD_MAJOR=11" ;;
     *)
       echo 'Please update *-*-freebsd* in gcc/config.gcc'
       exit 1

Modified: projects/hyperv/contrib/gcc/gthr-posix95.h
==============================================================================
--- projects/hyperv/contrib/gcc/gthr-posix95.h	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/contrib/gcc/gthr-posix95.h	Thu Jun 27 20:27:34 2013	(r252316)
@@ -115,9 +115,15 @@ __gthrw(pthread_setschedparam)
    it is passed so we cannot pretend that the interface is active if -pthreads
    is not specified.  On Solaris 2.5.1, the interface is not exposed at all so
    we need to play the usual game with weak symbols.  On Solaris 10 and up, a
-   working interface is always exposed.  */
+   working interface is always exposed. On FreeBSD 6 and later, libc also
+   exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up
+   to 9 does.  FreeBSD >= 700014 even provides a pthread_cancel stub in libc,
+   which means the alternate __gthread_active_p below cannot be used there.  */
 
-#if defined(__sun) && defined(__svr4__)
+
+ */
+
+#if defined(__FreeBSD__) || defined(__sun) && defined(__svr4__)
 
 static volatile int __gthread_active = -1;
 
@@ -160,7 +166,7 @@ __gthread_active_p (void)
   return __gthread_active_latest_value != 0;
 }
 
-#else /* not Solaris */
+#else /* neither FreeBSD nor Solaris */
 
 static inline int
 __gthread_active_p (void)
@@ -170,7 +176,7 @@ __gthread_active_p (void)
   return __gthread_active_ptr != 0;
 }
 
-#endif /* Solaris */
+#endif /* FreeBSD or Solaris */
 
 #else /* not SUPPORTS_WEAK */
 

Modified: projects/hyperv/contrib/gcc/opts.c
==============================================================================
--- projects/hyperv/contrib/gcc/opts.c	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/contrib/gcc/opts.c	Thu Jun 27 20:27:34 2013	(r252316)
@@ -504,7 +504,7 @@ decode_options (unsigned int argc, const
       /* XXX: some issues with ports have been traced to -ftree-vrp.
          So remove it from -O2 and above.  Note that jdk1{5,6} are affected
          and they build with w/-O3 - so we cannot just move it to -O3. */
-      // flag_tree_vrp = 1;
+      /* flag_tree_vrp = 1; // See GCC tree-optimization/33099 */
 
       if (!optimize_size)
 	{

Modified: projects/hyperv/etc/defaults/rc.conf
==============================================================================
--- projects/hyperv/etc/defaults/rc.conf	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/etc/defaults/rc.conf	Thu Jun 27 20:27:34 2013	(r252316)
@@ -32,8 +32,6 @@ early_late_divider="FILESYSTEMS"	# Scrip
 always_force_depends="NO"	# Set to check that indicated dependencies are
 				# running during boot (can increase boot time).
 
-swapfile="NO"		# Set to name of swapfile if aux swapfile desired.
-swapfile_mdunit="99"	# Swapfile md(4) unit number created by mdconfig(8).
 apm_enable="NO"		# Set to YES to enable APM BIOS functions (or NO).
 apmd_enable="NO"	# Run apmd to handle APM event from userland.
 apmd_flags=""		# Flags to apmd (if enabled).
@@ -85,9 +83,6 @@ geli_autodetach="YES"	# Automatically de
 #geli_da1_autodetach="NO"
 #geli_mirror_home_flags="-k /etc/geli/home.keys"
 
-geli_swap_flags="-e aes -l 256 -s 4096 -d"	# Options for GELI-encrypted
-						# swap partitions.
-
 root_rw_mount="YES"	# Set to NO to inhibit remounting root read-write.
 fsck_y_enable="NO"	# Set to YES to do fsck -y if the initial preen fails.
 fsck_y_flags=""		# Additional flags for fsck -y

Modified: projects/hyperv/etc/devd/usb.conf
==============================================================================
--- projects/hyperv/etc/devd/usb.conf	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/etc/devd/usb.conf	Thu Jun 27 20:27:34 2013	(r252316)
@@ -4299,7 +4299,7 @@ nomatch 32 {
 	match "bus" "uhub[0-9]+";
 	match "mode" "host";
 	match "vendor" "0x2001";
-	match "product" "(0x3307|0x3308|0x3309|0x330a)";
+	match "product" "(0x3307|0x3308|0x3309|0x330a|0x330d)";
 	action "kldload -n if_urtwn";
 };
 
@@ -4976,5 +4976,5 @@ nomatch 32 {
 	action "kldload -n umass";
 };
 
-# 2479 USB entries processed
+# 2480 USB entries processed
 

Modified: projects/hyperv/etc/network.subr
==============================================================================
--- projects/hyperv/etc/network.subr	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/etc/network.subr	Thu Jun 27 20:27:34 2013	(r252316)
@@ -171,6 +171,9 @@ ifconfig_up()
 	if wpaif $1; then
 		/etc/rc.d/wpa_supplicant start $1
 		_cfg=0		# XXX: not sure this should count
+	elif hostapif $1; then
+		/etc/rc.d/hostapd start $1
+		_cfg=0
 	fi
 
 	if dhcpif $1; then
@@ -198,6 +201,9 @@ ifconfig_down()
 	if wpaif $1; then
 		/etc/rc.d/wpa_supplicant stop $1
 		_cfg=0
+	elif hostapif $1; then
+		/etc/rc.d/hostapd stop $1
+		_cfg=0
 	fi
 
 	if dhcpif $1; then
@@ -276,6 +282,7 @@ ifconfig_getargs()
 		[Nn][Oo][Ss][Yy][Nn][Cc][Dd][Hh][Cc][Pp]) ;;
 		[Ss][Yy][Nn][Cc][Dd][Hh][Cc][Pp]) ;;
 		[Ww][Pp][Aa]) ;;
+		[Hh][Oo][Ss][Tt][Aa][Pp]) ;;
 		*)
 			_args="$_args $_arg"
 			;;
@@ -376,6 +383,24 @@ wpaif()
 	return 1
 }
 
+# hostapif if
+#	Returns 0 if the interface is a HOSTAP interface and 1 otherwise.
+hostapif()
+{
+	local _tmpargs _arg
+	_tmpargs=`_ifconfig_getargs $1`
+
+	for _arg in $_tmpargs; do
+		case $_arg in
+		[Hh][Oo][Ss][Tt][Aa][Pp])
+			return 0
+			;;
+		esac
+	done
+
+	return 1
+}
+
 # afexists af
 #	Returns 0 if the address family is enabled in the kernel
 #	1 otherwise.

Modified: projects/hyperv/etc/periodic/daily/450.status-security
==============================================================================
--- projects/hyperv/etc/periodic/daily/450.status-security	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/etc/periodic/daily/450.status-security	Thu Jun 27 20:27:34 2013	(r252316)
@@ -18,19 +18,19 @@ case "$daily_status_security_enable" in
 
 	case "$daily_status_security_inline" in
 	    [Yy][Ee][Ss])
-		export security_output="";;
+		daily_status_security_output="";;
+	esac
+
+	export security_output="${daily_status_security_output}"
+	case "${daily_status_security_output}" in
+	    "")
+		rc=3;;
+	    /*)
+		echo "    (output logged separately)"
+		rc=0;;
 	    *)
-		export security_output="${daily_status_security_output}"
-		case "${daily_status_security_output}" in
-		    "")
-			rc=3;;
-		    /*)
-			echo "    (output logged separately)"
-			rc=0;;
-		    *)
-			echo "    (output mailed separately)"
-			rc=0;;
-		esac;;
+		echo "    (output mailed separately)"
+		rc=0;;
 	esac
 
 	periodic security || rc=3;;

Modified: projects/hyperv/etc/rc.d/Makefile
==============================================================================
--- projects/hyperv/etc/rc.d/Makefile	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/etc/rc.d/Makefile	Thu Jun 27 20:27:34 2013	(r252316)
@@ -37,7 +37,6 @@ FILES=	DAEMON \
 	dhclient \
 	dmesg \
 	dumpon \
-	encswap \
 	faith \
 	fsck \
 	ftp-proxy \
@@ -139,7 +138,8 @@ FILES=	DAEMON \
 	static_arp \
 	static_ndp \
 	stf \
-	swap1 \
+	swap \
+	swaplate \
 	syscons \
 	sysctl \
 	syslogd \

Modified: projects/hyperv/etc/rc.d/addswap
==============================================================================
--- projects/hyperv/etc/rc.d/addswap	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/etc/rc.d/addswap	Thu Jun 27 20:27:34 2013	(r252316)
@@ -13,57 +13,12 @@
 . /etc/rc.subr
 
 name="addswap"
-start_cmd="addswap_start"
-stop_cmd="addswap_stop"
+start_cmd=":"
+stop_cmd=":"
+rcvar=
 
-addswap_start()
-{
-	case ${swapfile} in
-	[Nn][Oo] | '')
-		;;
-	*)
-		if [ -w "${swapfile}" ]; then
-			check_startmsgs && echo "Adding ${swapfile} as additional swap"
-
-			if [ -n "${swapfile_mdunit}" ]; then
-				mdev="/dev/md${swapfile_mdunit#md}"
-				mdconfig -a -t vnode -f "${swapfile}" -u ${swapfile_mdunit}
-			else
-				mdev="/dev/`mdconfig -a -t vnode -f "${swapfile}"`"
-			fi
-
-			if [ $? -eq 0 ]; then
-				swapon ${mdev}
-			else
-				echo "error creating swapfile device"
-			fi
-		fi
-		;;
-	esac
-}
-
-addswap_stop()
-{
-	case ${swapfile} in
-	[Nn][Oo] | '')
-		;;
-	*)
-		if [ -n "${swapfile_mdunit}" ]; then
-			mdev="/dev/md${swapfile_mdunit#md}"
-		else
-			mdev="/dev/`mdconfig -lv | grep "${swapfile}" | cut -f1`"
-			swapfile_mdunit=${mdev#md}
-		fi
-		if [ -n "${swapfile_mdunit}" ]; then
-			swapctl -l | grep -q ${mdev}
-			if [ $? -eq 0 ]; then
-				echo "Dismounting swapfile ${swapfile}"
-				swapoff ${mdev} && mdconfig -d -u ${swapfile_mdunit}
-			fi
-		fi
-		;;
-	esac
-}
+set_rcvar_obsolete swapfile
+set_rcvar_obsolete geli_swap_flags
 
 load_rc_config $name
 run_rc_command "$1"

Modified: projects/hyperv/etc/rc.d/fsck
==============================================================================
--- projects/hyperv/etc/rc.d/fsck	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/etc/rc.d/fsck	Thu Jun 27 20:27:34 2013	(r252316)
@@ -4,7 +4,7 @@
 #
 
 # PROVIDE: fsck
-# REQUIRE: localswap
+# REQUIRE: swap
 # KEYWORD: nojail
 
 . /etc/rc.subr

Modified: projects/hyperv/etc/rc.d/hostapd
==============================================================================
--- projects/hyperv/etc/rc.d/hostapd	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/etc/rc.d/hostapd	Thu Jun 27 20:27:34 2013	(r252316)
@@ -10,11 +10,18 @@
 . /etc/rc.subr
 
 name="hostapd"
-rcvar="hostapd_enable"
 command="/usr/sbin/${name}"
 
-conf_file="/etc/${name}.conf"
-pidfile="/var/run/${name}.pid"
+ifn="$2"
+if [ -z "$ifn" ]; then
+	rcvar="hostapd_enable"
+	conf_file="/etc/${name}.conf"
+	pidfile="/var/run/${name}.pid"
+else
+	rcvar=
+	conf_file="/etc/${name}-${ifn}.conf"
+	pidfile="/var/run/${name}-${ifn}.pid"
+fi
 
 command_args="-P ${pidfile} -B ${conf_file}"
 required_files="${conf_file}"

Modified: projects/hyperv/etc/rc.d/mdconfig
==============================================================================
--- projects/hyperv/etc/rc.d/mdconfig	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/etc/rc.d/mdconfig	Thu Jun 27 20:27:34 2013	(r252316)
@@ -28,7 +28,7 @@
 #
 
 # PROVIDE: mdconfig
-# REQUIRE: localswap root
+# REQUIRE: swap root
 
 . /etc/rc.subr
 

Modified: projects/hyperv/etc/rc.d/sshd
==============================================================================
--- projects/hyperv/etc/rc.d/sshd	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/etc/rc.d/sshd	Thu Jun 27 20:27:34 2013	(r252316)
@@ -14,8 +14,8 @@ rcvar="sshd_enable"
 command="/usr/sbin/${name}"
 keygen_cmd="sshd_keygen"
 start_precmd="sshd_precmd"
-reload_precmd="sshd_configtest"
-restart_precmd="sshd_configtest"
+reload_precmd="sshd_precmd"
+restart_precmd="sshd_precmd"
 configtest_cmd="sshd_configtest"
 pidfile="/var/run/${name}.pid"
 extra_commands="configtest keygen reload"

Copied: projects/hyperv/etc/rc.d/swap (from r252310, head/etc/rc.d/swap)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/hyperv/etc/rc.d/swap	Thu Jun 27 20:27:34 2013	(r252316, copy of r252310, head/etc/rc.d/swap)
@@ -0,0 +1,17 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: swap
+# REQUIRE: disks
+# KEYWORD: nojail shutdown
+
+. /etc/rc.subr
+
+name="swap"
+start_cmd='/sbin/swapon -aq'
+stop_cmd=':'
+
+load_rc_config $name
+run_rc_command "$1"

Copied: projects/hyperv/etc/rc.d/swaplate (from r252310, head/etc/rc.d/swaplate)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/hyperv/etc/rc.d/swaplate	Thu Jun 27 20:27:34 2013	(r252316, copy of r252310, head/etc/rc.d/swaplate)
@@ -0,0 +1,17 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: swaplate
+# REQUIRE: mountlate
+# KEYWORD: nojail shutdown
+
+. /etc/rc.subr
+
+name="swaplate"
+start_cmd='/sbin/swapon -aLq'
+stop_cmd='/sbin/swapoff -aq'
+
+load_rc_config swap
+run_rc_command "$1"

Modified: projects/hyperv/gnu/lib/libdialog/Makefile
==============================================================================
--- projects/hyperv/gnu/lib/libdialog/Makefile	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/gnu/lib/libdialog/Makefile	Thu Jun 27 20:27:34 2013	(r252316)
@@ -3,7 +3,7 @@
 DIALOG=		${.CURDIR}/../../../contrib/dialog
 
 LIB=		dialog
-SHLIB_MAJOR=	7
+SHLIB_MAJOR=	8
 SRCS=		argv.c arrows.c buildlist.c buttons.c calendar.c checklist.c \
 		columns.c dlg_keys.c editbox.c fselect.c formbox.c guage.c \
 		help.c inputbox.c inputstr.c menubox.c mixedform.c \

Modified: projects/hyperv/include/paths.h
==============================================================================
--- projects/hyperv/include/paths.h	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/include/paths.h	Thu Jun 27 20:27:34 2013	(r252316)
@@ -57,6 +57,8 @@
 #define	_PATH_ETC	"/etc"
 #define	_PATH_FTPUSERS	"/etc/ftpusers"
 #define	_PATH_FWMEM	"/dev/fwmem"
+#define	_PATH_GBDE	"/sbin/gbde"
+#define	_PATH_GELI	"/sbin/geli"
 #define	_PATH_HALT	"/sbin/halt"
 #ifdef COMPAT_32BIT
 #define	_PATH_I18NMODULE	"/usr/lib32/i18n"

Modified: projects/hyperv/lib/msun/src/s_fma.c
==============================================================================
--- projects/hyperv/lib/msun/src/s_fma.c	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/lib/msun/src/s_fma.c	Thu Jun 27 20:27:34 2013	(r252316)
@@ -117,7 +117,7 @@ add_and_denormalize(double a, double b, 
 	if (sum.lo != 0) {
 		EXTRACT_WORD64(hibits, sum.hi);
 		bits_lost = -((int)(hibits >> 52) & 0x7ff) - scale + 1;
-		if (bits_lost != 1 ^ (int)(hibits & 1)) {
+		if ((bits_lost != 1) ^ (int)(hibits & 1)) {
 			/* hibits += (int)copysign(1.0, sum.hi * sum.lo) */
 			EXTRACT_WORD64(lobits, sum.lo);
 			hibits += 1 - (((hibits ^ lobits) >> 62) & 2);

Modified: projects/hyperv/lib/msun/src/s_fmal.c
==============================================================================
--- projects/hyperv/lib/msun/src/s_fmal.c	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/lib/msun/src/s_fmal.c	Thu Jun 27 20:27:34 2013	(r252316)
@@ -113,7 +113,7 @@ add_and_denormalize(long double a, long 
 	if (sum.lo != 0) {
 		u.e = sum.hi;
 		bits_lost = -u.bits.exp - scale + 1;
-		if (bits_lost != 1 ^ (int)(u.bits.manl & 1))
+		if ((bits_lost != 1) ^ (int)(u.bits.manl & 1))
 			sum.hi = nextafterl(sum.hi, INFINITY * sum.lo);
 	}
 	return (ldexp(sum.hi, scale));

Modified: projects/hyperv/release/doc/en_US.ISO8859-1/relnotes/article.xml
==============================================================================
--- projects/hyperv/release/doc/en_US.ISO8859-1/relnotes/article.xml	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/release/doc/en_US.ISO8859-1/relnotes/article.xml	Thu Jun 27 20:27:34 2013	(r252316)
@@ -25,6 +25,9 @@
     <year>2008</year>
     <year>2009</year>
     <year>2010</year>
+    <year>2011</year>
+    <year>2012</year>
+    <year>2013</year>
     <holder role="mailto:doc@FreeBSD.org">The &os; Documentation Project</holder>
   </copyright>
 

Modified: projects/hyperv/release/release.sh
==============================================================================
--- projects/hyperv/release/release.sh	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/release/release.sh	Thu Jun 27 20:27:34 2013	(r252316)
@@ -171,6 +171,17 @@ build_doc_ports() {
 	fi
 }
 
+# If MAKE_CONF and/or SRC_CONF are set and not character devices (/dev/null),
+# copy them to the chroot.
+if [ -e ${MAKE_CONF} ] && [ ! -c ${MAKE_CONF} ]; then
+	mkdir -p ${CHROOTDIR}/$(dirname ${MAKE_CONF})
+	cp ${MAKE_CONF} ${CHROOTDIR}/${MAKE_CONF}
+fi
+if [ -e ${SRC_CONF} ] && [ ! -c ${SRC_CONF} ]; then
+	mkdir -p ${CHROOTDIR}/$(dirname ${SRC_CONF})
+	cp ${SRC_CONF} ${CHROOTDIR}/${SRC_CONF}
+fi
+
 if [ -d ${CHROOTDIR}/usr/ports ]; then
 	cp /etc/resolv.conf ${CHROOTDIR}/etc/resolv.conf
 	build_doc_ports ${CHROOTDIR}

Modified: projects/hyperv/sbin/mdconfig/mdconfig.c
==============================================================================
--- projects/hyperv/sbin/mdconfig/mdconfig.c	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/sbin/mdconfig/mdconfig.c	Thu Jun 27 20:27:34 2013	(r252316)
@@ -216,8 +216,8 @@ main(int argc, char **argv)
 				errx(1, "unknown suffix on -s argument");
 			break;
 		case 'u':
-			if (!strncmp(optarg, _PATH_DEV, 5))
-				optarg += 5;
+			if (!strncmp(optarg, _PATH_DEV, sizeof(_PATH_DEV) - 1))
+				optarg += sizeof(_PATH_DEV) - 1;
 			if (!strncmp(optarg, MD_NAME, sizeof(MD_NAME) - 1))
 				optarg += sizeof(MD_NAME) - 1;
 			uflag = optarg;
@@ -510,7 +510,7 @@ static int
 md_find(const char *list, const char *name)
 {
 	int ret;
-	char num[16];
+	char num[PATH_MAX];
 	char *ptr, *p, *u;
 
 	ret = 0;
@@ -518,10 +518,10 @@ md_find(const char *list, const char *na
 	if (ptr == NULL)
 		return (-1);
 	for (p = ptr; (u = strsep(&p, ",")) != NULL;) {
-		if (strncmp(u, _PATH_DEV, 5) == 0)
-			u += 5;
+		if (strncmp(u, _PATH_DEV, sizeof(_PATH_DEV) - 1) == 0)
+			u += sizeof(_PATH_DEV) - 1;
 		/* Just in case user specified number instead of full name */
-		snprintf(num, sizeof(num), "md%s", u);
+		snprintf(num, sizeof(num), "%s%s", MD_NAME, u);
 		if (strcmp(u, name) == 0 || strcmp(num, name) == 0) {
 			ret = 1;
 			break;

Modified: projects/hyperv/sbin/nvmecontrol/Makefile
==============================================================================
--- projects/hyperv/sbin/nvmecontrol/Makefile	Thu Jun 27 20:21:54 2013	(r252315)
+++ projects/hyperv/sbin/nvmecontrol/Makefile	Thu Jun 27 20:27:34 2013	(r252316)
@@ -1,6 +1,8 @@
 # $FreeBSD$
 
 PROG=	nvmecontrol
+SRCS=	nvmecontrol.c devlist.c firmware.c identify.c logpage.c	\
+	perftest.c reset.c
 MAN=	nvmecontrol.8
 
 .include <bsd.prog.mk>

Copied: projects/hyperv/sbin/nvmecontrol/devlist.c (from r252310, head/sbin/nvmecontrol/devlist.c)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/hyperv/sbin/nvmecontrol/devlist.c	Thu Jun 27 20:27:34 2013	(r252316, copy of r252310, head/sbin/nvmecontrol/devlist.c)
@@ -0,0 +1,115 @@
+/*-
+ * Copyright (C) 2012-2013 Intel Corporation
+ * 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 AUTHOR 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 AUTHOR 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.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+
+#include <errno.h>
+#include <fcntl.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sysexits.h>
+#include <unistd.h>
+
+#include "nvmecontrol.h"
+
+static void
+devlist_usage(void)
+{
+	fprintf(stderr, "usage:\n");
+	fprintf(stderr, DEVLIST_USAGE);
+	exit(EX_USAGE);
+}
+
+static inline uint32_t
+ns_get_sector_size(struct nvme_namespace_data *nsdata)
+{
+
+	return (1 << nsdata->lbaf[0].lbads);
+}
+
+void
+devlist(int argc, char *argv[])
+{
+	struct nvme_controller_data	cdata;
+	struct nvme_namespace_data	nsdata;
+	char				name[64];
+	uint32_t			i;
+	int				ch, ctrlr, exit_code, fd, found;
+
+	exit_code = EX_OK;
+
+	while ((ch = getopt(argc, argv, "")) != -1) {
+		switch ((char)ch) {
+		default:
+			devlist_usage();
+		}
+	}
+
+	ctrlr = -1;
+	found = 0;
+
+	while (1) {
+		ctrlr++;
+		sprintf(name, "%s%d", NVME_CTRLR_PREFIX, ctrlr);
+
+		exit_code = open_dev(name, &fd, 0, 0);
+
+		if (exit_code == EX_NOINPUT)
+			break;
+		else if (exit_code == EX_NOPERM) {
+			printf("Could not open /dev/%s, errno = %d (%s)\n",
+			    name, errno, strerror(errno));
+			continue;
+		}
+
+		found++;
+		read_controller_data(fd, &cdata);
+		printf("%6s: %s\n", name, cdata.mn);
+
+		for (i = 0; i < cdata.nn; i++) {
+			sprintf(name, "%s%d%s%d", NVME_CTRLR_PREFIX, ctrlr,
+			    NVME_NS_PREFIX, i+1);
+			read_namespace_data(fd, i+1, &nsdata);
+			printf("  %10s (%lldGB)\n",
+				name,
+				nsdata.nsze *
+				(long long)ns_get_sector_size(&nsdata) /
+				1024 / 1024 / 1024);
+		}
+
+		close(fd);
+	}
+
+	if (found == 0)
+		printf("No NVMe controllers found.\n");
+
+	exit(EX_OK);
+}

Copied: projects/hyperv/sbin/nvmecontrol/firmware.c (from r252310, head/sbin/nvmecontrol/firmware.c)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/hyperv/sbin/nvmecontrol/firmware.c	Thu Jun 27 20:27:34 2013	(r252316, copy of r252310, head/sbin/nvmecontrol/firmware.c)
@@ -0,0 +1,335 @@
+/*-
+ * Copyright (c) 2013 EMC Corp.
+ * All rights reserved.
+ *
+ * Copyright (C) 2012-2013 Intel Corporation
+ * 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 AUTHOR 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 AUTHOR 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.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+#include <sys/ioccom.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <stdbool.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sysexits.h>
+#include <unistd.h>
+
+#include "nvmecontrol.h"
+
+static int
+slot_has_valid_firmware(int fd, int slot)
+{
+	struct nvme_firmware_page	fw;
+	int				has_fw = false;
+
+	read_logpage(fd, NVME_LOG_FIRMWARE_SLOT,
+	    NVME_GLOBAL_NAMESPACE_TAG, &fw, sizeof(fw));
+
+	if (fw.revision[slot-1] != 0LLU)
+		has_fw = true;
+
+	return (has_fw);
+}
+
+static void
+read_image_file(char *path, void **buf, ssize_t *size)
+{
+	struct stat	sb;
+	int		fd;
+
+	*size = 0;
+	*buf = NULL;
+
+	if ((fd = open(path, O_RDONLY)) < 0) {
+		fprintf(stderr, "Unable to open '%s'.\n", path);
+		exit(EX_IOERR);
+	}
+	if (fstat(fd, &sb) < 0) {
+		fprintf(stderr, "Unable to stat '%s'.\n", path);
+		close(fd);
+		exit(EX_IOERR);
+	}
+	if ((*buf = malloc(sb.st_size)) == NULL) {
+		fprintf(stderr, "Unable to malloc %zd bytes.\n",
+		    sb.st_size);
+		close(fd);
+		exit(EX_IOERR);
+	}
+	if ((*size = read(fd, *buf, sb.st_size)) < 0) {
+		fprintf(stderr, "Error reading '%s', errno=%d (%s)\n",
+		    path, errno, strerror(errno));
+		close(fd);
+		exit(EX_IOERR);
+	}
+	if (*size != sb.st_size) {
+		fprintf(stderr, "Error reading '%s', "
+		    "read %zd bytes, requested %zd bytes\n",
+		    path, *size, sb.st_size);
+		close(fd);
+		exit(EX_IOERR);
+	}
+}
+
+static void
+update_firmware(int fd, uint8_t *payload, uint32_t payload_size)
+{
+	struct nvme_pt_command	pt;
+	size_t			size;
+	void			*chunk;
+	uint32_t		off, resid;
+	int			exit_code = EX_OK;
+
+	off = 0;
+	resid = payload_size;
+
+	if ((chunk = malloc((size_t)NVME_MAX_XFER_SIZE)) == NULL) {
+		printf("Unable to malloc %d bytes.\n", NVME_MAX_XFER_SIZE);
+		exit(EX_IOERR);
+	}
+
+	while (resid > 0) {
+		size = (resid >= NVME_MAX_XFER_SIZE) ?
+		    NVME_MAX_XFER_SIZE : resid;
+		memcpy(chunk, payload + off, size);
+
+		memset(&pt, 0, sizeof(pt));
+		pt.cmd.opc = NVME_OPC_FIRMWARE_IMAGE_DOWNLOAD;
+		pt.cmd.cdw10 = (size / sizeof(uint32_t)) - 1;
+		pt.cmd.cdw11 = (off / sizeof(uint32_t));
+		pt.buf = chunk;
+		pt.len = size;
+		pt.is_read = 0;
+
+		if (ioctl(fd, NVME_PASSTHROUGH_CMD, &pt) < 0) {
+			printf("Firmware image download request failed. "
+			    "errno=%d (%s)\n",
+			    errno, strerror(errno));
+			exit_code = EX_IOERR;
+			break;
+		}
+
+		if (nvme_completion_is_error(&pt.cpl)) {
+			printf("Passthrough command returned error.\n");
+			exit_code = EX_IOERR;
+			break;
+		}
+
+		resid -= size;
+		off += size;
+	}
+	
+	if (exit_code != EX_OK)
+		exit(exit_code);
+}
+
+static void
+activate_firmware(int fd, int slot, int activate_action)
+{
+	struct nvme_pt_command	pt;
+
+	memset(&pt, 0, sizeof(pt));
+	pt.cmd.opc = NVME_OPC_FIRMWARE_ACTIVATE;
+	pt.cmd.cdw10 = (activate_action << 3) | slot;
+	pt.is_read = 0;
+
+	if (ioctl(fd, NVME_PASSTHROUGH_CMD, &pt) < 0) {
+		printf("Firmware activate request failed. errno=%d (%s)\n",
+		    errno, strerror(errno));
+		exit(EX_IOERR);
+	}
+
+	if (nvme_completion_is_error(&pt.cpl)) {
+		printf("Passthrough command returned error.\n");
+		exit(EX_IOERR);
+	}
+}
+
+static void
+firmware_usage(void)
+{
+	fprintf(stderr, "usage:\n");
+	fprintf(stderr, FIRMWARE_USAGE);
+	exit(EX_USAGE);
+}
+
+void
+firmware(int argc, char *argv[])
+{
+	int				fd = -1, slot = 0;
+	int				a_flag, s_flag, f_flag;
+	char				ch, *p, *image = NULL;
+	char				*controller = NULL, prompt[64];
+	void				*buf = NULL;
+	ssize_t				size;
+	struct nvme_controller_data	cdata;
+
+	a_flag = s_flag = f_flag = false;
+
+	while ((ch = getopt(argc, argv, "af:s:")) != -1) {
+		switch (ch) {
+		case 'a':
+			a_flag = true;
+			break;
+		case 's':
+			slot = strtol(optarg, &p, 0);
+			if (p != NULL && *p != '\0') {
+				fprintf(stderr,
+				    "\"%s\" not valid slot.\n",
+				    optarg);
+				firmware_usage();
+			} else if (slot == 0) {
+				fprintf(stderr,
+				    "0 is not a valid slot number. "
+				    "Slot numbers start at 1.\n");
+				firmware_usage();
+			} else if (slot > 7) {
+				fprintf(stderr,
+				    "Slot number %s specified which is "
+				    "greater than max allowed slot number of "
+				    "7.\n", optarg);
+				firmware_usage();

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201306272027.r5RKRYZu067929>