From owner-svn-src-projects@FreeBSD.ORG Thu Jun 27 20:27:41 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 40C8BC64; Thu, 27 Jun 2013 20:27:41 +0000 (UTC) (envelope-from grehan@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 300971D2E; Thu, 27 Jun 2013 20:27:41 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r5RKRfVM067969; Thu, 27 Jun 2013 20:27:41 GMT (envelope-from grehan@svn.freebsd.org) Received: (from grehan@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r5RKRYZu067929; Thu, 27 Jun 2013 20:27:34 GMT (envelope-from grehan@svn.freebsd.org) Message-Id: <201306272027.r5RKRYZu067929@svn.freebsd.org> From: Peter Grehan Date: Thu, 27 Jun 2013 20:27:34 +0000 (UTC) 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... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Jun 2013 20:27:41 -0000 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 . * All rights reserved. * Copyright (c) 2012 Martin Matuska . 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 @@ 2008 2009 2010 + 2011 + 2012 + 2013 The &os; Documentation Project 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 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 +__FBSDID("$FreeBSD$"); + +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#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 +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#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 ***