svn commit: r289559 - in user/alc/PQ_LAUNDRY: . bin/dd bin/dd/tests bin/ps bin/test/tests cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/cmd/zpool cddl/contrib/opensolaris/lib/libzfs/com...

Alan Cox alc at FreeBSD.org
Mon Oct 19 04:39:31 UTC 2015


Author: alc
Date: Mon Oct 19 04:39:27 2015
New Revision: 289559
URL: https://svnweb.freebsd.org/changeset/base/289559

Log:
  MFH r289558

Added:
  user/alc/PQ_LAUNDRY/bin/dd/tests/
     - copied from r289558, head/bin/dd/tests/
  user/alc/PQ_LAUNDRY/contrib/llvm/patches/patch-09-clang-r250657-openmp.diff
     - copied unchanged from r289558, head/contrib/llvm/patches/patch-09-clang-r250657-openmp.diff
  user/alc/PQ_LAUNDRY/contrib/wpa/patches/openssl-0.9.8zf-tls-extensions.patch
     - copied unchanged from r289558, head/contrib/wpa/patches/openssl-0.9.8zf-tls-extensions.patch
  user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/sha384-prf.c
     - copied unchanged from r289558, head/contrib/wpa/src/crypto/sha384-prf.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/fst/
     - copied from r289558, head/contrib/wpa/src/fst/
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/eapol_test.py
     - copied unchanged from r289558, head/contrib/wpa/wpa_supplicant/eapol_test.py
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/p2p_supplicant_sd.c
     - copied unchanged from r289558, head/contrib/wpa/wpa_supplicant/p2p_supplicant_sd.c
  user/alc/PQ_LAUNDRY/etc/ntp/
     - copied from r289558, head/etc/ntp/
  user/alc/PQ_LAUNDRY/share/man/man9/bitset.9
     - copied unchanged from r289558, head/share/man/man9/bitset.9
  user/alc/PQ_LAUNDRY/sys/arm/arm/intrng.c
     - copied unchanged from r289558, head/sys/arm/arm/intrng.c
  user/alc/PQ_LAUNDRY/sys/arm/arm/pic_if.m
     - copied unchanged from r289558, head/sys/arm/arm/pic_if.m
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/edonr_zfs.c
     - copied unchanged from r289558, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/edonr_zfs.c
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/skein_zfs.c
     - copied unchanged from r289558, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/skein_zfs.c
  user/alc/PQ_LAUNDRY/sys/dev/vnic/
     - copied from r289558, head/sys/dev/vnic/
  user/alc/PQ_LAUNDRY/tests/sys/acl/
     - copied from r289558, head/tests/sys/acl/
  user/alc/PQ_LAUNDRY/tests/sys/posixshm/
     - copied from r289558, head/tests/sys/posixshm/
Deleted:
  user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/crypto_cryptoapi.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/tls_schannel.c
  user/alc/PQ_LAUNDRY/tools/regression/acltools/
  user/alc/PQ_LAUNDRY/tools/regression/posixshm/
  user/alc/PQ_LAUNDRY/tools/test/posixshm/
Modified:
  user/alc/PQ_LAUNDRY/Makefile
  user/alc/PQ_LAUNDRY/Makefile.inc1
  user/alc/PQ_LAUNDRY/UPDATING
  user/alc/PQ_LAUNDRY/bin/dd/Makefile
  user/alc/PQ_LAUNDRY/bin/ps/Makefile
  user/alc/PQ_LAUNDRY/bin/test/tests/legacy_test.sh
  user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zfs/zfs.8
  user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
  user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c
  user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h
  user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
  user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c
  user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c
  user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c
  user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c
  user/alc/PQ_LAUNDRY/contrib/llvm/tools/clang/lib/Driver/Tools.cpp
  user/alc/PQ_LAUNDRY/contrib/netbsd-tests/bin/dd/t_dd.sh
  user/alc/PQ_LAUNDRY/contrib/wpa/hostapd/ChangeLog
  user/alc/PQ_LAUNDRY/contrib/wpa/hostapd/config_file.c
  user/alc/PQ_LAUNDRY/contrib/wpa/hostapd/config_file.h
  user/alc/PQ_LAUNDRY/contrib/wpa/hostapd/ctrl_iface.c
  user/alc/PQ_LAUNDRY/contrib/wpa/hostapd/defconfig
  user/alc/PQ_LAUNDRY/contrib/wpa/hostapd/hlr_auc_gw.c
  user/alc/PQ_LAUNDRY/contrib/wpa/hostapd/hlr_auc_gw.milenage_db
  user/alc/PQ_LAUNDRY/contrib/wpa/hostapd/hostapd.conf
  user/alc/PQ_LAUNDRY/contrib/wpa/hostapd/hostapd_cli.c
  user/alc/PQ_LAUNDRY/contrib/wpa/hostapd/main.c
  user/alc/PQ_LAUNDRY/contrib/wpa/hs20/client/Makefile
  user/alc/PQ_LAUNDRY/contrib/wpa/hs20/client/osu_client.c
  user/alc/PQ_LAUNDRY/contrib/wpa/hs20/client/spp_client.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/accounting.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/acs.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ap_config.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ap_config.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ap_drv_ops.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ap_drv_ops.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ap_list.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ap_list.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/authsrv.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/beacon.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/beacon.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ctrl_iface_ap.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/dfs.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/drv_callbacks.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/eap_user_db.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/hostapd.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/hostapd.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/hw_features.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/hw_features.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ieee802_11.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ieee802_11.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ieee802_11_auth.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ieee802_11_auth.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ieee802_11_ht.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ieee802_11_vht.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ieee802_1x.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ieee802_1x.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ndisc_snoop.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/sta_info.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/sta_info.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/utils.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/vlan_init.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/vlan_init.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/vlan_util.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/wmm.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/wpa_auth.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/wpa_auth.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/wpa_auth_ft.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/wpa_auth_glue.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/wpa_auth_i.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/wpa_auth_ie.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/wps_hostapd.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/x_snoop.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/common/common_module_tests.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/common/defs.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/common/hw_features_common.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/common/hw_features_common.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/common/ieee802_11_common.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/common/ieee802_11_common.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/common/ieee802_11_defs.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/common/privsep_commands.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/common/qca-vendor.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/common/sae.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/common/sae.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/common/version.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/common/wpa_common.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/common/wpa_common.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/common/wpa_ctrl.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/common/wpa_ctrl.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/crypto.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/crypto_module_tests.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/crypto_openssl.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/dh_groups.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/fips_prf_openssl.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/ms_funcs.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/ms_funcs.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/random.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/sha1-tlsprf.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/sha1-tprf.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/sha256-kdf.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/sha384.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/tls.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/tls_gnutls.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/tls_internal.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/tls_none.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/tls_openssl.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/drivers/driver.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/drivers/driver_bsd.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/drivers/driver_ndis.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/drivers/driver_nl80211.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/drivers/driver_nl80211_android.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/drivers/driver_nl80211_capa.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/drivers/driver_nl80211_event.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/drivers/driver_nl80211_scan.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/drivers/driver_privsep.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/drivers/drivers.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_common/eap_common.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_common/eap_fast_common.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_common/eap_pwd_common.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_common/eap_pwd_common.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_common/eap_sake_common.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_common/ikev2_common.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_aka.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_eke.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_fast.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_gpsk.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_i.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_mschapv2.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_pax.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_peap.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_pwd.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_sake.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_sim.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_tls.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_tls_common.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_tls_common.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_ttls.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_wsc.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap_i.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap_server.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap_server_eke.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap_server_fast.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap_server_mschapv2.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap_server_peap.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap_server_pwd.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap_server_tls.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap_server_tls_common.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap_server_ttls.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap_tls_common.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eapol_auth/eapol_auth_sm.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eapol_auth/eapol_auth_sm.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/eapol_supp/eapol_supp_sm.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/p2p/p2p.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/p2p/p2p.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/p2p/p2p_build.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/p2p/p2p_dev_disc.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/p2p/p2p_go_neg.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/p2p/p2p_group.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/p2p/p2p_i.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/p2p/p2p_invitation.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/p2p/p2p_parse.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/p2p/p2p_pd.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/p2p/p2p_utils.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/radius/radius.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/radius/radius_das.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/radius/radius_server.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/radius/radius_server.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/rsn_supp/tdls.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/rsn_supp/wpa.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/rsn_supp/wpa_ft.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/rsn_supp/wpa_ie.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/rsn_supp/wpa_ie.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/tls/libtommath.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/tls/tlsv1_client.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/tls/tlsv1_client.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/tls/tlsv1_server.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/tls/tlsv1_server.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/tls/x509v3.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/browser-wpadebug.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/common.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/common.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/eloop.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/http_curl.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/includes.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/os.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/os_internal.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/os_none.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/os_unix.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/os_win32.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/radiotap.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/utils_module_tests.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/wpa_debug.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/wpa_debug.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/wpabuf.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/http_client.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/http_server.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/httpread.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/ndef.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_attr_parse.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_attr_parse.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_common.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_defs.h
  user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_enrollee.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_er.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_er_ssdp.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_module_tests.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_registrar.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_upnp.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_upnp_ap.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_upnp_event.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_upnp_ssdp.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_upnp_web.c
  user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_validate.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/ChangeLog
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/ap.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/ap.h
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/bss.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/bss.h
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/config.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/config.h
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/config_file.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/config_ssid.h
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/ctrl_iface.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/ctrl_iface_named_pipe.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/ctrl_iface_udp.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/ctrl_iface_unix.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/dbus/dbus_new.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/dbus/dbus_new.h
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/dbus/dbus_new_handlers.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/dbus/dbus_new_handlers.h
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/dbus/dbus_new_handlers_p2p.h
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/dbus/dbus_new_handlers_wps.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/dbus/dbus_new_helpers.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/dbus/dbus_new_introspect.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/dbus/dbus_old.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/dbus/dbus_old_handlers.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/defconfig
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/driver_i.h
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/eapol_test.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/events.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/hs20_supplicant.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/ibss_rsn.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/interworking.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/main.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/mesh.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/mesh_mpm.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/mesh_rsn.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/notify.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/notify.h
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/p2p_supplicant.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/p2p_supplicant.h
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/preauth_test.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/scan.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/sme.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/wpa_cli.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/wpa_priv.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/wpa_supplicant.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/wpa_supplicant.conf
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/wpa_supplicant_i.h
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/wpas_glue.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/wpas_glue.h
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/wps_supplicant.c
  user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/wps_supplicant.h
  user/alc/PQ_LAUNDRY/etc/Makefile
  user/alc/PQ_LAUNDRY/etc/mtree/BSD.tests.dist
  user/alc/PQ_LAUNDRY/etc/mtree/BSD.var.dist
  user/alc/PQ_LAUNDRY/etc/ntp.conf
  user/alc/PQ_LAUNDRY/lib/clang/clang.build.mk
  user/alc/PQ_LAUNDRY/lib/clang/include/clang/Config/config.h
  user/alc/PQ_LAUNDRY/lib/clang/include/llvm/Config/config.h
  user/alc/PQ_LAUNDRY/lib/libc/string/ffs.3
  user/alc/PQ_LAUNDRY/lib/libcam/camlib.c
  user/alc/PQ_LAUNDRY/lib/libfetch/file.c
  user/alc/PQ_LAUNDRY/lib/libfetch/http.c
  user/alc/PQ_LAUNDRY/lib/libxo/Makefile
  user/alc/PQ_LAUNDRY/lib/libxo/tests/Makefile
  user/alc/PQ_LAUNDRY/lib/libxo/tests/encoder/Makefile
  user/alc/PQ_LAUNDRY/rescue/rescue/Makefile
  user/alc/PQ_LAUNDRY/sbin/mount/mount.conf.8
  user/alc/PQ_LAUNDRY/sbin/newfs_msdos/mkfs_msdos.c
  user/alc/PQ_LAUNDRY/sbin/savecore/Makefile
  user/alc/PQ_LAUNDRY/share/man/man3/bitstring.3
  user/alc/PQ_LAUNDRY/share/man/man9/Makefile
  user/alc/PQ_LAUNDRY/share/mk/bsd.sys.mk
  user/alc/PQ_LAUNDRY/share/mk/src.libnames.mk
  user/alc/PQ_LAUNDRY/share/mk/sys.mk
  user/alc/PQ_LAUNDRY/share/zoneinfo/Makefile
  user/alc/PQ_LAUNDRY/sys/arm/allwinner/a20/a20_mp.c
  user/alc/PQ_LAUNDRY/sys/arm/altera/socfpga/socfpga_mp.c
  user/alc/PQ_LAUNDRY/sys/arm/amlogic/aml8726/aml8726_mp.c
  user/alc/PQ_LAUNDRY/sys/arm/annapurna/alpine/alpine_machdep_mp.c
  user/alc/PQ_LAUNDRY/sys/arm/annapurna/alpine/common.c
  user/alc/PQ_LAUNDRY/sys/arm/arm/gic.c
  user/alc/PQ_LAUNDRY/sys/arm/arm/mp_machdep.c
  user/alc/PQ_LAUNDRY/sys/arm/arm/nexus.c
  user/alc/PQ_LAUNDRY/sys/arm/conf/BEAGLEBONE
  user/alc/PQ_LAUNDRY/sys/arm/conf/IMX6
  user/alc/PQ_LAUNDRY/sys/arm/conf/PANDABOARD
  user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx6_machdep.c
  user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx6_mp.c
  user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx_gpio.c
  user/alc/PQ_LAUNDRY/sys/arm/include/fdt.h
  user/alc/PQ_LAUNDRY/sys/arm/include/intr.h
  user/alc/PQ_LAUNDRY/sys/arm/include/smp.h
  user/alc/PQ_LAUNDRY/sys/arm/mv/std-pj4b.mv
  user/alc/PQ_LAUNDRY/sys/arm/qemu/virt_common.c
  user/alc/PQ_LAUNDRY/sys/arm/qemu/virt_mp.c
  user/alc/PQ_LAUNDRY/sys/arm/rockchip/rk30xx_mp.c
  user/alc/PQ_LAUNDRY/sys/arm/samsung/exynos/exynos5_mp.c
  user/alc/PQ_LAUNDRY/sys/arm/ti/omap4/omap4_mp.c
  user/alc/PQ_LAUNDRY/sys/arm/ti/omap4/std.omap4
  user/alc/PQ_LAUNDRY/sys/arm/ti/ti_common.c
  user/alc/PQ_LAUNDRY/sys/arm/xilinx/zy7_mp.c
  user/alc/PQ_LAUNDRY/sys/arm64/arm64/copyinout.S
  user/alc/PQ_LAUNDRY/sys/arm64/arm64/genassym.c
  user/alc/PQ_LAUNDRY/sys/arm64/arm64/locore.S
  user/alc/PQ_LAUNDRY/sys/arm64/arm64/machdep.c
  user/alc/PQ_LAUNDRY/sys/arm64/arm64/support.S
  user/alc/PQ_LAUNDRY/sys/arm64/conf/GENERIC
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/common/zfs/zfs_fletcher.c
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/common/zfs/zfs_fletcher.h
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.c
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/ddt.c
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sha256.c
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_checksum.h
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_checksum.c
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/sys/debug.h
  user/alc/PQ_LAUNDRY/sys/conf/dtb.mk
  user/alc/PQ_LAUNDRY/sys/conf/files.arm
  user/alc/PQ_LAUNDRY/sys/conf/files.arm64
  user/alc/PQ_LAUNDRY/sys/conf/kern.post.mk
  user/alc/PQ_LAUNDRY/sys/conf/kmod.mk
  user/alc/PQ_LAUNDRY/sys/conf/options.arm
  user/alc/PQ_LAUNDRY/sys/contrib/ipfilter/netinet/ip_state.c
  user/alc/PQ_LAUNDRY/sys/dev/drm2/i915/intel_dp.c
  user/alc/PQ_LAUNDRY/sys/dev/drm2/i915/intel_iic.c
  user/alc/PQ_LAUNDRY/sys/dev/mpr/mpr.c
  user/alc/PQ_LAUNDRY/sys/dev/mpr/mprvar.h
  user/alc/PQ_LAUNDRY/sys/dev/mps/mps.c
  user/alc/PQ_LAUNDRY/sys/dev/mps/mpsvar.h
  user/alc/PQ_LAUNDRY/sys/dev/ntb/if_ntb/if_ntb.c
  user/alc/PQ_LAUNDRY/sys/dev/ntb/ntb_hw/ntb_hw.c
  user/alc/PQ_LAUNDRY/sys/dev/ntb/ntb_hw/ntb_hw.h
  user/alc/PQ_LAUNDRY/sys/dev/ntb/ntb_hw/ntb_regs.h
  user/alc/PQ_LAUNDRY/sys/dev/otus/if_otus.c
  user/alc/PQ_LAUNDRY/sys/dev/pci/pci.c
  user/alc/PQ_LAUNDRY/sys/dev/pci/pci_pci.c
  user/alc/PQ_LAUNDRY/sys/dev/pci/pcib_if.m
  user/alc/PQ_LAUNDRY/sys/kern/kern_fork.c
  user/alc/PQ_LAUNDRY/sys/kern/vfs_mountroot.c
  user/alc/PQ_LAUNDRY/sys/mips/atheros/if_arge.c
  user/alc/PQ_LAUNDRY/sys/mips/atheros/if_argevar.h
  user/alc/PQ_LAUNDRY/sys/mips/conf/AR933X_BASE
  user/alc/PQ_LAUNDRY/sys/mips/conf/TP-MR3020
  user/alc/PQ_LAUNDRY/sys/mips/conf/TP-MR3020.hints
  user/alc/PQ_LAUNDRY/sys/modules/cloudabi64/Makefile
  user/alc/PQ_LAUNDRY/sys/net/route.c
  user/alc/PQ_LAUNDRY/sys/net/route.h
  user/alc/PQ_LAUNDRY/sys/netinet/in.c
  user/alc/PQ_LAUNDRY/sys/netinet/in_rmx.c
  user/alc/PQ_LAUNDRY/sys/netinet/in_var.h
  user/alc/PQ_LAUNDRY/sys/sys/mbuf.h
  user/alc/PQ_LAUNDRY/sys/sys/param.h
  user/alc/PQ_LAUNDRY/sys/vm/vm_pageout.c
  user/alc/PQ_LAUNDRY/sys/x86/x86/busdma_bounce.c
  user/alc/PQ_LAUNDRY/tests/sys/Makefile
  user/alc/PQ_LAUNDRY/usr.bin/iscsictl/Makefile
  user/alc/PQ_LAUNDRY/usr.bin/iscsictl/iscsictl.8
  user/alc/PQ_LAUNDRY/usr.bin/iscsictl/iscsictl.c
  user/alc/PQ_LAUNDRY/usr.bin/ldd/ldd.c
  user/alc/PQ_LAUNDRY/usr.bin/wc/Makefile
  user/alc/PQ_LAUNDRY/usr.bin/xo/Makefile
  user/alc/PQ_LAUNDRY/usr.sbin/wpa/Makefile.crypto
  user/alc/PQ_LAUNDRY/usr.sbin/wpa/hostapd/Makefile
  user/alc/PQ_LAUNDRY/usr.sbin/wpa/wpa_supplicant/Makefile
Directory Properties:
  user/alc/PQ_LAUNDRY/   (props changed)
  user/alc/PQ_LAUNDRY/cddl/   (props changed)
  user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/   (props changed)
  user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zfs/   (props changed)
  user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/   (props changed)
  user/alc/PQ_LAUNDRY/contrib/llvm/   (props changed)
  user/alc/PQ_LAUNDRY/contrib/llvm/tools/clang/   (props changed)
  user/alc/PQ_LAUNDRY/contrib/wpa/   (props changed)
  user/alc/PQ_LAUNDRY/lib/libc/   (props changed)
  user/alc/PQ_LAUNDRY/sbin/   (props changed)
  user/alc/PQ_LAUNDRY/share/   (props changed)
  user/alc/PQ_LAUNDRY/share/zoneinfo/   (props changed)
  user/alc/PQ_LAUNDRY/sys/   (props changed)
  user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/   (props changed)
  user/alc/PQ_LAUNDRY/sys/conf/   (props changed)
  user/alc/PQ_LAUNDRY/sys/contrib/ipfilter/   (props changed)

Modified: user/alc/PQ_LAUNDRY/Makefile
==============================================================================
--- user/alc/PQ_LAUNDRY/Makefile	Mon Oct 19 04:33:18 2015	(r289558)
+++ user/alc/PQ_LAUNDRY/Makefile	Mon Oct 19 04:39:27 2015	(r289559)
@@ -243,14 +243,8 @@ cleanworld:
 # Handle the user-driven targets, using the source relative mk files.
 #
 
-.if !(!empty(.MAKEFLAGS:M-n) && ${.MAKEFLAGS:M-n} == "-n")
-# skip this for -n to avoid changing previous behavior of 
-# 'make -n buildworld' etc.  Using -n -n will run it.
-${TGTS}: .MAKE
 tinderbox toolchains kernel-toolchains: .MAKE
-.endif
-
-${TGTS}: .PHONY
+${TGTS}: .PHONY .MAKE
 	${_+_}@cd ${.CURDIR}; ${_MAKE} ${.TARGET}
 
 # The historic default "all" target creates files which may cause stale
@@ -261,7 +255,7 @@ ${TGTS}: .PHONY
 
 _guard: .PHONY
 	@echo
-	@echo "Explicit target required.  Likely \"buildworld\" is wanted.  See build(7)."
+	@echo "Explicit target required.  Likely \"${SUBDIR_OVERRIDE:Dall:Ubuildworld}\" is wanted.  See build(7)."
 	@echo
 	@false
 

Modified: user/alc/PQ_LAUNDRY/Makefile.inc1
==============================================================================
--- user/alc/PQ_LAUNDRY/Makefile.inc1	Mon Oct 19 04:33:18 2015	(r289558)
+++ user/alc/PQ_LAUNDRY/Makefile.inc1	Mon Oct 19 04:39:27 2015	(r289559)
@@ -50,16 +50,23 @@
 .include <bsd.arch.inc.mk>
 .include <bsd.compiler.mk>
 
-# We must do lib/ and libexec/ before bin/, because if installworld
-# installs a new /bin/sh, the 'make' command will *immediately*
-# use that new version.  And the new (dynamically-linked) /bin/sh
-# will expect to find appropriate libraries in /lib and /libexec.
-#
+# We must do lib/ and libexec/ before bin/ in case of a mid-install error to
+# keep the users system reasonably usable.  For static->dynamic root upgrades,
+# we don't want to install a dynamic binary without rtld and the needed
+# libraries.  More commonly, for dynamic root, we don't want to install a
+# binary that requires a newer library version that hasn't been installed yet.
+# This ordering is not a guarantee though.  The only guarantee of a working
+# system here would require fine-grained ordering of all components based
+# on their dependencies.
 SRCDIR?=	${.CURDIR}
 .if defined(SUBDIR_OVERRIDE)
 SUBDIR=	${SUBDIR_OVERRIDE}
 .else
 SUBDIR=	lib libexec
+.if make(install*)
+# Ensure libraries are installed before progressing.
+SUBDIR+=.WAIT
+.endif
 SUBDIR+=bin
 .if ${MK_CDDL} != "no"
 SUBDIR+=cddl
@@ -85,10 +92,6 @@ SUBDIR+=	tests
 .if ${MK_OFED} != "no"
 SUBDIR+=contrib/ofed
 .endif
-#
-# We must do etc/ last for install/distribute to work.
-#
-SUBDIR+=etc
 
 # Local directories are last, since it is nice to at least get the base
 # system rebuilt before you do them.
@@ -112,6 +115,15 @@ SUBDIR+=	${_DIR}
 .endfor
 .endif
 
+# We must do etc/ last as it hooks into building the man whatis file
+# by calling 'makedb' in share/man.  This is only relevant for
+# install/distribute so they build the whatis file after every manpage is
+# installed.
+.if make(install*)
+SUBDIR+=.WAIT
+.endif
+SUBDIR+=etc
+
 .if defined(NOCLEAN)
 NO_CLEAN=	${NOCLEAN}
 .endif
@@ -136,14 +148,17 @@ OSRELDATE!=	awk '/^\#define[[:space:]]*_
 .else
 OSRELDATE=	0
 .endif
+.export OSRELDATE
 .endif
 
+# Set VERSION for CTFMERGE to use via the default CTFFLAGS=-L VERSION.
 .if !defined(VERSION)
 REVISION!=	${MAKE} -C ${SRCDIR}/release -V REVISION
 BRANCH!=	${MAKE} -C ${SRCDIR}/release -V BRANCH
 SRCRELDATE!=	awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \
 		${SRCDIR}/sys/sys/param.h
 VERSION=	FreeBSD ${REVISION}-${BRANCH:C/-p[0-9]+$//} ${TARGET_ARCH} ${SRCRELDATE}
+.export VERSION
 .endif
 
 KNOWN_ARCHES?=	aarch64/arm64 amd64 arm armeb/arm armv6/arm armv6hf/arm i386 i386/pc98 mips mipsel/mips mips64el/mips mips64/mips mipsn32el/mips mipsn32/mips powerpc powerpc64/powerpc sparc64
@@ -252,7 +267,6 @@ CROSSENV+=	${TARGET_CFLAGS}
 BMAKEENV=	INSTALL="sh ${.CURDIR}/tools/install.sh" \
 		PATH=${BPATH}:${PATH} \
 		WORLDTMP=${WORLDTMP} \
-		VERSION="${VERSION}" \
 		MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}"
 # need to keep this in sync with targets/pseudo/bootstrap-tools/Makefile
 BSARGS= 	DESTDIR= \
@@ -289,8 +303,7 @@ XMAKE=		TOOLS_PREFIX=${WORLDTMP} ${BMAKE
 # kernel-tools stage
 KTMAKEENV=	INSTALL="sh ${.CURDIR}/tools/install.sh" \
 		PATH=${BPATH}:${PATH} \
-		WORLDTMP=${WORLDTMP} \
-		VERSION="${VERSION}"
+		WORLDTMP=${WORLDTMP}
 KTMAKE=		TOOLS_PREFIX=${WORLDTMP} MAKEOBJDIRPREFIX=${WORLDTMP} \
 		${KTMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \
 		DESTDIR= \
@@ -303,7 +316,6 @@ KTMAKE=		TOOLS_PREFIX=${WORLDTMP} MAKEOB
 # world stage
 WMAKEENV=	${CROSSENV} \
 		_LDSCRIPTROOT= \
-		VERSION="${VERSION}" \
 		INSTALL="sh ${.CURDIR}/tools/install.sh" \
 		PATH=${TMPPATH}
 
@@ -313,10 +325,6 @@ HMAKE=		PATH=${TMPPATH} ${MAKE} LOCAL_MT
 HMAKE+=		PATH=${TMPPATH} METALOG=${METALOG} -DNO_ROOT
 .endif
 
-.if ${MK_CDDL} == "no"
-WMAKEENV+=	MK_CTF=no
-.endif
-
 .if defined(CROSS_TOOLCHAIN)
 LOCALBASE?=	/usr/local
 .include "${LOCALBASE}/share/toolchains/${CROSS_TOOLCHAIN}.mk"
@@ -446,7 +454,6 @@ LIB32FLAGS+=		--sysroot=${WORLDTMP}
 # Yes, the flags are redundant.
 LIB32WMAKEENV+=	MAKEOBJDIRPREFIX=${LIB32_OBJTREE} \
 		_LDSCRIPTROOT=${LIB32TMP} \
-		VERSION="${VERSION}" \
 		INSTALL="sh ${.CURDIR}/tools/install.sh" \
 		PATH=${TMPPATH} \
 		LIBDIR=/usr/lib32 \
@@ -584,9 +591,9 @@ _cleanobj:
 	@echo "--------------------------------------------------------------"
 	@echo ">>> stage 2.1: cleaning up the object tree"
 	@echo "--------------------------------------------------------------"
-	${_+_}cd ${.CURDIR}; ${WMAKE} ${CLEANDIR:S/^/par-/}
+	${_+_}cd ${.CURDIR}; ${WMAKE} ${CLEANDIR}
 .if defined(LIB32TMP)
-	${_+_}cd ${.CURDIR}; ${LIB32WMAKE} -f Makefile.inc1 ${CLEANDIR:S/^/par-/}
+	${_+_}cd ${.CURDIR}; ${LIB32WMAKE} -f Makefile.inc1 ${CLEANDIR}
 .endif
 .endif
 _obj:
@@ -594,7 +601,7 @@ _obj:
 	@echo "--------------------------------------------------------------"
 	@echo ">>> stage 2.2: rebuilding the object tree"
 	@echo "--------------------------------------------------------------"
-	${_+_}cd ${.CURDIR}; ${WMAKE} par-obj
+	${_+_}cd ${.CURDIR}; ${WMAKE} obj
 _build-tools:
 	@echo
 	@echo "--------------------------------------------------------------"
@@ -613,7 +620,8 @@ _includes:
 	@echo "--------------------------------------------------------------"
 	@echo ">>> stage 4.1: building includes"
 	@echo "--------------------------------------------------------------"
-	${_+_}cd ${.CURDIR}; ${WMAKE} SHARED=symlinks par-includes
+	${_+_}cd ${.CURDIR}; ${WMAKE} SHARED=symlinks buildincludes
+	${_+_}cd ${.CURDIR}; ${WMAKE} SHARED=symlinks installincludes
 _libraries:
 	@echo
 	@echo "--------------------------------------------------------------"
@@ -627,7 +635,7 @@ _depend:
 	@echo "--------------------------------------------------------------"
 	@echo ">>> stage 4.3: make dependencies"
 	@echo "--------------------------------------------------------------"
-	${_+_}cd ${.CURDIR}; ${WMAKE} par-depend
+	${_+_}cd ${.CURDIR}; ${WMAKE} depend
 everything:
 	@echo
 	@echo "--------------------------------------------------------------"
@@ -736,7 +744,7 @@ buildworld_epilogue:
 # to quote multiword values.
 #
 buildenvvars:
-	@echo ${WMAKEENV:Q}
+	@echo ${WMAKEENV:Q} ${.MAKE.EXPORTED:@v@$v=\"${$v}\"@}
 
 .if ${.TARGETS:Mbuildenv}
 .if ${.MAKEFLAGS:M-j}
@@ -820,7 +828,7 @@ _zoneinfo=	zic tzsetup
 
 ITOOLS=	[ awk cap_mkdb cat chflags chmod chown cmp cp \
 	date echo egrep find grep id install ${_install-info} \
-	ln lockf make mkdir mtree mv pwd_mkdb \
+	ln make mkdir mtree mv pwd_mkdb \
 	rm sed services_mkdb sh strip sysctl test true uname wc ${_zoneinfo} \
 	${LOCAL_ITOOLS}
 
@@ -1063,7 +1071,7 @@ INSTALLKERNEL= ${_kernel}
 .endif
 .endfor
 
-buildkernel ${WMAKE_TGTS:N_worldtmp} ${.ALLTARGETS:M_*:N_worldtmp}: .MAKE .PHONY
+buildkernel ${WMAKE_TGTS:N_worldtmp:Nbuild32} ${.ALLTARGETS:M_*:N_worldtmp}: .MAKE .PHONY
 
 #
 # buildkernel
@@ -1493,7 +1501,7 @@ build-tools: .MAKE
 #
 # kernel-tools: Build kernel-building tools
 #
-kernel-tools: .MAKE
+kernel-tools:
 	mkdir -p ${MAKEOBJDIRPREFIX}/usr
 	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
 	    -p ${MAKEOBJDIRPREFIX}/usr >/dev/null
@@ -1574,7 +1582,6 @@ cross-tools: .MAKE
 
 NXBENV=		MAKEOBJDIRPREFIX=${OBJTREE}/nxb \
 		INSTALL="sh ${.CURDIR}/tools/install.sh" \
-		VERSION="${VERSION}" \
 		PATH=${PATH}:${OBJTREE}/gperf_for_gcc/usr/bin
 NXBMAKE=	${NXBENV} ${MAKE} \
 		TBLGEN=${OBJTREE}/nxb-bin/usr/bin/tblgen \
@@ -1593,7 +1600,7 @@ NXBMAKE=	${NXBENV} ${MAKE} \
 # For non-clang enabled targets that are still using the in tree gcc
 # we must build a gperf binary for one instance of its Makefiles.  On
 # clang-enabled systems, the gperf binary is obsolete.
-native-xtools: .MAKE
+native-xtools:
 .if ${MK_GCC_BOOTSTRAP} != "no"
 	mkdir -p ${OBJTREE}/gperf_for_gcc/usr/bin
 	${_+_}@${ECHODIR} "===> ${_gperf} (obj,depend,all,install)"; \
@@ -1939,22 +1946,18 @@ _startup_libs: ${_startup_libs:S/$/__L/}
 _prebuild_libs: ${_prebuild_libs:S/$/__L/}
 _generic_libs: ${_generic_libs:S/$/__L/}
 
-.for __target in all clean cleandepend cleandir depend includes obj
-.for entry in ${SUBDIR}
-${entry}.${__target}__D: .PHONY .MAKE
-	${_+_}@set -e; if test -d ${.CURDIR}/${entry}.${MACHINE_ARCH}; then \
-		${ECHODIR} "===> ${DIRPRFX}${entry}.${MACHINE_ARCH} (${__target})"; \
-		edir=${entry}.${MACHINE_ARCH}; \
-		cd ${.CURDIR}/$${edir}; \
-	else \
-		${ECHODIR} "===> ${DIRPRFX}${entry} (${__target})"; \
-		edir=${entry}; \
-		cd ${.CURDIR}/$${edir}; \
-	fi; \
-	${MAKE} ${__target} DIRPRFX=${DIRPRFX}$${edir}/
-.endfor
-par-${__target}: ${SUBDIR:S/$/.${__target}__D/}
-.endfor
+# Enable SUBDIR_PARALLEL when not calling 'make all', unless called as
+# 'par-all'.  This is because it is unlikely that running 'make all' from
+# the top-level, especially with a SUBDIR_OVERRIDE or LOCAL_DIRS set,
+# will have a reliable build if SUBDIRs are built in parallel.  This is
+# safe for the world stage of buildworld though since it has already
+# built libraries in a proper order and installed includes into WORLDTMP.
+# Special handling is done for SUBDIR ordering for 'install*' to avoid
+# trashing a system if it crashes mid-install.
+par-all: all .PHONY
+.if !make(all)
+SUBDIR_PARALLEL=
+.endif
 
 .include <bsd.subdir.mk>
 
@@ -2262,7 +2265,9 @@ _xi-cross-tools:
 .endfor
 
 _xi-includes:
-	${_+_}cd ${.CURDIR}; ${CD2MAKE} -f Makefile.inc1 par-includes \
+	${_+_}cd ${.CURDIR}; ${CD2MAKE} -f Makefile.inc1 buildincludes \
+		DESTDIR=${XDDESTDIR}
+	${_+_}cd ${.CURDIR}; ${CD2MAKE} -f Makefile.inc1 installincludes \
 		DESTDIR=${XDDESTDIR}
 
 _xi-libraries:

Modified: user/alc/PQ_LAUNDRY/UPDATING
==============================================================================
--- user/alc/PQ_LAUNDRY/UPDATING	Mon Oct 19 04:33:18 2015	(r289558)
+++ user/alc/PQ_LAUNDRY/UPDATING	Mon Oct 19 04:39:27 2015	(r289559)
@@ -31,6 +31,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
 	disable the most expensive debugging functionality run
 	"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20151017:
+	The build previously allowed using 'make -n' to not recurse into
+	sub-directories while showing what commands would be executed, and
+	'make -n -n' to recursively show commands.  Now 'make -n' will recurse
+	and 'make -N' will not.
+
 20151012:
 	If you specify SENDMAIL_MC or SENDMAIL_CF in make.conf, mergemaster
 	and etcupdate will now use this file. A custom sendmail.cf is now

Modified: user/alc/PQ_LAUNDRY/bin/dd/Makefile
==============================================================================
--- user/alc/PQ_LAUNDRY/bin/dd/Makefile	Mon Oct 19 04:33:18 2015	(r289558)
+++ user/alc/PQ_LAUNDRY/bin/dd/Makefile	Mon Oct 19 04:39:27 2015	(r289559)
@@ -1,6 +1,8 @@
 #	@(#)Makefile	8.1 (Berkeley) 5/31/93
 # $FreeBSD$
 
+.include <src.opts.mk>
+
 PROG=	dd
 SRCS=	args.c conv.c conv_tab.c dd.c misc.c position.c
 
@@ -24,4 +26,8 @@ test: ${PROG} gen
 .endfor
 	@rm -f gen
 
+.if ${MK_TESTS} != "no"
+SUBDIR+=	tests
+.endif
+
 .include <bsd.prog.mk>

Modified: user/alc/PQ_LAUNDRY/bin/ps/Makefile
==============================================================================
--- user/alc/PQ_LAUNDRY/bin/ps/Makefile	Mon Oct 19 04:33:18 2015	(r289558)
+++ user/alc/PQ_LAUNDRY/bin/ps/Makefile	Mon Oct 19 04:39:27 2015	(r289559)
@@ -11,6 +11,6 @@ SRCS=	fmt.c keyword.c nlist.c print.c ps
 # on large systems.
 #
 CFLAGS+=-DLAZY_PS
-LIBADD=	m kvm jail xo util
+LIBADD=	m kvm jail xo
 
 .include <bsd.prog.mk>

Modified: user/alc/PQ_LAUNDRY/bin/test/tests/legacy_test.sh
==============================================================================
--- user/alc/PQ_LAUNDRY/bin/test/tests/legacy_test.sh	Mon Oct 19 04:33:18 2015	(r289558)
+++ user/alc/PQ_LAUNDRY/bin/test/tests/legacy_test.sh	Mon Oct 19 04:39:27 2015	(r289559)
@@ -2,7 +2,7 @@
 
 #-
 # Copyright (c) June 1996 Wolfram Schneider <wosch at FreeBSD.org>. Berlin.
-# All rights reserved. 
+# All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions
@@ -31,7 +31,7 @@
 # $FreeBSD$
 
 # force a specified test program, e.g. `env test=/bin/test sh regress.sh'
-: ${test=test}		
+: ${test=test}
 
 t ()
 {
@@ -54,13 +54,13 @@ t ()
 count=0
 echo "1..130"
 
-t 0 'b = b' 
-t 0 'b == b' 
-t 1 'b != b' 
-t 0 '\( b = b \)' 
-t 0 '\( b == b \)' 
-t 1 '! \( b = b \)' 
-t 1 '! \( b == b \)' 
+t 0 'b = b'
+t 0 'b == b'
+t 1 'b != b'
+t 0 '\( b = b \)'
+t 0 '\( b == b \)'
+t 1 '! \( b = b \)'
+t 1 '! \( b == b \)'
 t 1 '! -f /etc/passwd'
 
 t 0 '-h = -h'

Modified: user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zfs/zfs.8
==============================================================================
--- user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zfs/zfs.8	Mon Oct 19 04:33:18 2015	(r289558)
+++ user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zfs/zfs.8	Mon Oct 19 04:39:27 2015	(r289559)
@@ -18,7 +18,7 @@
 .\" information: Portions Copyright [yyyy] [name of copyright owner]
 .\"
 .\" Copyright (c) 2010, Sun Microsystems, Inc. All Rights Reserved.
-.\" Copyright (c) 2014 by Delphix. All rights reserved.
+.\" Copyright (c) 2011, 2014 by Delphix. All rights reserved.
 .\" Copyright (c) 2011, Pawel Jakub Dawidek <pjd at FreeBSD.org>
 .\" Copyright (c) 2012, Glen Barber <gjb at FreeBSD.org>
 .\" Copyright (c) 2012, Bryan Drewery <bdrewery at FreeBSD.org>
@@ -117,7 +117,7 @@
 .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot
 .Nm
 .Cm set
-.Ar property Ns = Ns Ar value
+.Ar property Ns = Ns Ar value Oc ...
 .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns ...
 .Nm
 .Cm get
@@ -2121,14 +2121,14 @@ option, but sorts by property in descend
 .It Xo
 .Nm
 .Cm set
-.Ar property Ns = Ns Ar value
+.Ar property Ns = Ns Ar value Oc ...
 .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot
 .Xc
 .Pp
-Sets the property to the given value for each dataset. Only some properties can
-be edited. See the "Properties" section for more information on what properties
-can be set and acceptable values. Numeric values can be specified as exact
-values, or in a human-readable form with a suffix of
+Sets the property or list of properties to the given value(s) for each dataset.
+Only some properties can be edited. See the "Properties" section for more
+information on what properties can be set and acceptable values. Numeric values
+can be specified as exact values, or in a human-readable form with a suffix of
 .Sy B , K , M , G , T , P , E , Z
 (for bytes, kilobytes, megabytes, gigabytes, terabytes, petabytes, exabytes, or
 zettabytes, respectively). User properties can be set on snapshots. For more

Modified: user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
==============================================================================
--- user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c	Mon Oct 19 04:33:18 2015	(r289558)
+++ user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c	Mon Oct 19 04:39:27 2015	(r289559)
@@ -21,7 +21,7 @@
 
 /*
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2011, 2014 by Delphix. All rights reserved.
+ * Copyright (c) 2011, 2015 by Delphix. All rights reserved.
  * Copyright 2012 Milan Jurik. All rights reserved.
  * Copyright (c) 2012, Joyent, Inc. All rights reserved.
  * Copyright (c) 2011-2012 Pawel Jakub Dawidek <pawel at dawidek.net>.
@@ -283,7 +283,7 @@ get_usage(zfs_help_t idx)
 		    "<filesystem|volume|snapshot>\n"
 		    "\tsend [-nvPe] -t <receive_resume_token>\n"));
 	case HELP_SET:
-		return (gettext("\tset <property=value> "
+		return (gettext("\tset <property=value> ... "
 		    "<filesystem|volume|snapshot> ...\n"));
 	case HELP_SHARE:
 		return (gettext("\tshare <-a | filesystem>\n"));
@@ -498,6 +498,10 @@ usage(boolean_t requested)
 	exit(requested ? 0 : 2);
 }
 
+/*
+ * Take a property=value argument string and add it to the given nvlist.
+ * Modifies the argument inplace.
+ */
 static int
 parseprop(nvlist_t *props, char *propname)
 {
@@ -505,7 +509,7 @@ parseprop(nvlist_t *props, char *propnam
 
 	if ((propval = strchr(propname, '=')) == NULL) {
 		(void) fprintf(stderr, gettext("missing "
-		    "'=' for -o option\n"));
+		    "'=' for property=value argument\n"));
 		return (-1);
 	}
 	*propval = '\0';
@@ -632,7 +636,7 @@ zfs_do_clone(int argc, char **argv)
 	while ((c = getopt(argc, argv, "o:p")) != -1) {
 		switch (c) {
 		case 'o':
-			if (parseprop(props, optarg))
+			if (parseprop(props, optarg) != 0)
 				return (1);
 			break;
 		case 'p':
@@ -841,10 +845,12 @@ zfs_do_create(int argc, char **argv)
 
 	if (type == ZFS_TYPE_VOLUME && !noreserve) {
 		zpool_handle_t *zpool_handle;
+		nvlist_t *real_props;
 		uint64_t spa_version;
 		char *p;
 		zfs_prop_t resv_prop;
 		char *strval;
+		char msg[1024];
 
 		if (p = strchr(argv[0], '/'))
 			*p = '\0';
@@ -855,12 +861,22 @@ zfs_do_create(int argc, char **argv)
 			goto error;
 		spa_version = zpool_get_prop_int(zpool_handle,
 		    ZPOOL_PROP_VERSION, NULL);
-		zpool_close(zpool_handle);
 		if (spa_version >= SPA_VERSION_REFRESERVATION)
 			resv_prop = ZFS_PROP_REFRESERVATION;
 		else
 			resv_prop = ZFS_PROP_RESERVATION;
-		volsize = zvol_volsize_to_reservation(volsize, props);
+
+		(void) snprintf(msg, sizeof (msg),
+		    gettext("cannot create '%s'"), argv[0]);
+		if (props && (real_props = zfs_valid_proplist(g_zfs, type,
+		    props, 0, NULL, zpool_handle, msg)) == NULL) {
+			zpool_close(zpool_handle);
+			goto error;
+		}
+		zpool_close(zpool_handle);
+
+		volsize = zvol_volsize_to_reservation(volsize, real_props);
+		nvlist_free(real_props);
 
 		if (nvlist_lookup_string(props, zfs_prop_to_name(resv_prop),
 		    &strval) != 0) {
@@ -3532,21 +3548,17 @@ out:
 }
 
 /*
- * zfs set property=value { fs | snap | vol } ...
+ * zfs set property=value ... { fs | snap | vol } ...
  *
- * Sets the given property for all datasets specified on the command line.
+ * Sets the given properties for all datasets specified on the command line.
  */
-typedef struct set_cbdata {
-	char		*cb_propname;
-	char		*cb_value;
-} set_cbdata_t;
 
 static int
 set_callback(zfs_handle_t *zhp, void *data)
 {
-	set_cbdata_t *cbp = data;
+	nvlist_t *props = data;
 
-	if (zfs_prop_set(zhp, cbp->cb_propname, cbp->cb_value) != 0) {
+	if (zfs_prop_set_list(zhp, props) != 0) {
 		switch (libzfs_errno(g_zfs)) {
 		case EZFS_MOUNTFAILED:
 			(void) fprintf(stderr, gettext("property may be set "
@@ -3565,7 +3577,8 @@ set_callback(zfs_handle_t *zhp, void *da
 static int
 zfs_do_set(int argc, char **argv)
 {
-	set_cbdata_t cb;
+	nvlist_t *props = NULL;
+	int ds_start = -1; /* argv idx of first dataset arg */
 	int ret = 0;
 
 	/* check for options */
@@ -3577,36 +3590,51 @@ zfs_do_set(int argc, char **argv)
 
 	/* check number of arguments */
 	if (argc < 2) {
-		(void) fprintf(stderr, gettext("missing property=value "
-		    "argument\n"));
+		(void) fprintf(stderr, gettext("missing arguments\n"));
 		usage(B_FALSE);
 	}
 	if (argc < 3) {
-		(void) fprintf(stderr, gettext("missing dataset name\n"));
+		if (strchr(argv[1], '=') == NULL) {
+			(void) fprintf(stderr, gettext("missing property=value "
+			    "argument(s)\n"));
+		} else {
+			(void) fprintf(stderr, gettext("missing dataset "
+			    "name(s)\n"));
+		}
 		usage(B_FALSE);
 	}
 
-	/* validate property=value argument */
-	cb.cb_propname = argv[1];
-	if (((cb.cb_value = strchr(cb.cb_propname, '=')) == NULL) ||
-	    (cb.cb_value[1] == '\0')) {
-		(void) fprintf(stderr, gettext("missing value in "
-		    "property=value argument\n"));
+	/* validate argument order:  prop=val args followed by dataset args */
+	for (int i = 1; i < argc; i++) {
+		if (strchr(argv[i], '=') != NULL) {
+			if (ds_start > 0) {
+				/* out-of-order prop=val argument */
+				(void) fprintf(stderr, gettext("invalid "
+				    "argument order\n"), i);
+				usage(B_FALSE);
+			}
+		} else if (ds_start < 0) {
+			ds_start = i;
+		}
+	}
+	if (ds_start < 0) {
+		(void) fprintf(stderr, gettext("missing dataset name(s)\n"));
 		usage(B_FALSE);
 	}
 
-	*cb.cb_value = '\0';
-	cb.cb_value++;
-
-	if (*cb.cb_propname == '\0') {
-		(void) fprintf(stderr,
-		    gettext("missing property in property=value argument\n"));
-		usage(B_FALSE);
+	/* Populate a list of property settings */
+	if (nvlist_alloc(&props, NV_UNIQUE_NAME, 0) != 0)
+		nomem();
+	for (int i = 1; i < ds_start; i++) {
+		if ((ret = parseprop(props, argv[i])) != 0)
+			goto error;
 	}
 
-	ret = zfs_for_each(argc - 2, argv + 2, 0,
-	    ZFS_TYPE_DATASET, NULL, NULL, 0, set_callback, &cb);
+	ret = zfs_for_each(argc - ds_start, argv + ds_start, 0,
+	    ZFS_TYPE_DATASET, NULL, NULL, 0, set_callback, props);
 
+error:
+	nvlist_free(props);
 	return (ret);
 }
 

Modified: user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c
==============================================================================
--- user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c	Mon Oct 19 04:33:18 2015	(r289558)
+++ user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c	Mon Oct 19 04:39:27 2015	(r289559)
@@ -2940,6 +2940,9 @@ print_list_stats(zpool_handle_t *zhp, co
 	uint_t c, children;
 	char *vname;
 	boolean_t scripted = cb->cb_scripted;
+	uint64_t islog = B_FALSE;
+	boolean_t haslog = B_FALSE;
+	char *dashes = "%-*s      -      -      -         -      -      -\n";
 
 	verify(nvlist_lookup_uint64_array(nv, ZPOOL_CONFIG_VDEV_STATS,
 	    (uint64_t **)&vs, &c) == 0);
@@ -2990,24 +2993,47 @@ print_list_stats(zpool_handle_t *zhp, co
 		    ZPOOL_CONFIG_IS_HOLE, &ishole) == 0 && ishole)
 			continue;
 
+		if (nvlist_lookup_uint64(child[c],
+		    ZPOOL_CONFIG_IS_LOG, &islog) == 0 && islog) {
+			haslog = B_TRUE;
+			continue;
+		}
+
 		vname = zpool_vdev_name(g_zfs, zhp, child[c], B_FALSE);
 		print_list_stats(zhp, vname, child[c], cb, depth + 2);
 		free(vname);
 	}
 
-	/*
-	 * Include level 2 ARC devices in iostat output
-	 */
+	if (haslog == B_TRUE) {
+		/* LINTED E_SEC_PRINTF_VAR_FMT */
+		(void) printf(dashes, cb->cb_namewidth, "log");
+		for (c = 0; c < children; c++) {
+			if (nvlist_lookup_uint64(child[c], ZPOOL_CONFIG_IS_LOG,
+			    &islog) != 0 || !islog)
+				continue;
+			vname = zpool_vdev_name(g_zfs, zhp, child[c], B_FALSE);
+			print_list_stats(zhp, vname, child[c], cb, depth + 2);
+			free(vname);
+		}
+	}
+
 	if (nvlist_lookup_nvlist_array(nv, ZPOOL_CONFIG_L2CACHE,
-	    &child, &children) != 0)
-		return;
+	    &child, &children) == 0 && children > 0) {
+		/* LINTED E_SEC_PRINTF_VAR_FMT */
+		(void) printf(dashes, cb->cb_namewidth, "cache");
+		for (c = 0; c < children; c++) {
+			vname = zpool_vdev_name(g_zfs, zhp, child[c], B_FALSE);
+			print_list_stats(zhp, vname, child[c], cb, depth + 2);
+			free(vname);
+		}
+	}
 
-	if (children > 0) {
-		(void) printf("%-*s      -      -      -      -      -      "
-		    "-\n", cb->cb_namewidth, "cache");
+	if (nvlist_lookup_nvlist_array(nv, ZPOOL_CONFIG_SPARES, &child,
+	    &children) == 0 && children > 0) {
+		/* LINTED E_SEC_PRINTF_VAR_FMT */
+		(void) printf(dashes, cb->cb_namewidth, "spare");
 		for (c = 0; c < children; c++) {
-			vname = zpool_vdev_name(g_zfs, zhp, child[c],
-			    B_FALSE);
+			vname = zpool_vdev_name(g_zfs, zhp, child[c], B_FALSE);
 			print_list_stats(zhp, vname, child[c], cb, depth + 2);
 			free(vname);
 		}

Modified: user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h
==============================================================================
--- user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h	Mon Oct 19 04:33:18 2015	(r289558)
+++ user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h	Mon Oct 19 04:39:27 2015	(r289559)
@@ -23,7 +23,7 @@
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2011 Pawel Jakub Dawidek <pawel at dawidek.net>.
  * All rights reserved.
- * Copyright (c) 2013 by Delphix. All rights reserved.
+ * Copyright (c) 2011, 2015 by Delphix. All rights reserved.
  * Copyright (c) 2012, Joyent, Inc. All rights reserved.
  * Copyright (c) 2012 Martin Matuska <mm at FreeBSD.org>. All rights reserved.
  * Copyright (c) 2013 Steven Hartland. All rights reserved.
@@ -426,10 +426,11 @@ extern const char *zfs_prop_column_name(
 extern boolean_t zfs_prop_align_right(zfs_prop_t);
 
 extern nvlist_t *zfs_valid_proplist(libzfs_handle_t *, zfs_type_t,
-    nvlist_t *, uint64_t, zfs_handle_t *, const char *);
+    nvlist_t *, uint64_t, zfs_handle_t *, zpool_handle_t *, const char *);
 
 extern const char *zfs_prop_to_name(zfs_prop_t);
 extern int zfs_prop_set(zfs_handle_t *, const char *, const char *);
+extern int zfs_prop_set_list(zfs_handle_t *, nvlist_t *);
 extern int zfs_prop_get(zfs_handle_t *, zfs_prop_t, char *, size_t,
     zprop_source_t *, char *, size_t, boolean_t);
 extern int zfs_prop_get_recvd(zfs_handle_t *, const char *, char *, size_t,

Modified: user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
==============================================================================
--- user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c	Mon Oct 19 04:33:18 2015	(r289558)
+++ user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c	Mon Oct 19 04:39:27 2015	(r289559)
@@ -22,7 +22,7 @@
 /*
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2013, Joyent, Inc. All rights reserved.
- * Copyright (c) 2011, 2014 by Delphix. All rights reserved.
+ * Copyright (c) 2011, 2015 by Delphix. All rights reserved.
  * Copyright (c) 2012 DEY Storage Systems, Inc.  All rights reserved.
  * Copyright (c) 2011-2012 Pawel Jakub Dawidek <pawel at dawidek.net>.
  * All rights reserved.
@@ -890,7 +890,8 @@ zfs_which_resv_prop(zfs_handle_t *zhp, z
  */
 nvlist_t *
 zfs_valid_proplist(libzfs_handle_t *hdl, zfs_type_t type, nvlist_t *nvl,
-    uint64_t zoned, zfs_handle_t *zhp, const char *errbuf)
+    uint64_t zoned, zfs_handle_t *zhp, zpool_handle_t *zpool_hdl,
+    const char *errbuf)
 {
 	nvpair_t *elem;
 	uint64_t intval;
@@ -1084,8 +1085,8 @@ zfs_valid_proplist(libzfs_handle_t *hdl,
 		case ZFS_PROP_RECORDSIZE:
 		{
 			int maxbs = SPA_MAXBLOCKSIZE;
-			if (zhp != NULL) {
-				maxbs = zpool_get_prop_int(zhp->zpool_hdl,
+			if (zpool_hdl != NULL) {
+				maxbs = zpool_get_prop_int(zpool_hdl,
 				    ZPOOL_PROP_MAXBLOCKSIZE, NULL);
 			}
 			/*
@@ -1403,6 +1404,7 @@ zfs_add_synthetic_resv(zfs_handle_t *zhp
 	uint64_t old_reservation;
 	uint64_t new_reservation;
 	zfs_prop_t resv_prop;
+	nvlist_t *props;
 
 	/*
 	 * If this is an existing volume, and someone is setting the volsize,
@@ -1412,16 +1414,25 @@ zfs_add_synthetic_resv(zfs_handle_t *zhp
 	if (zfs_which_resv_prop(zhp, &resv_prop) < 0)
 		return (-1);
 	old_reservation = zfs_prop_get_int(zhp, resv_prop);
-	if ((zvol_volsize_to_reservation(old_volsize, zhp->zfs_props) !=
-	    old_reservation) || nvlist_lookup_uint64(nvl,
-	    zfs_prop_to_name(resv_prop), &new_reservation) != ENOENT) {
+
+	props = fnvlist_alloc();
+	fnvlist_add_uint64(props, zfs_prop_to_name(ZFS_PROP_VOLBLOCKSIZE),
+	    zfs_prop_get_int(zhp, ZFS_PROP_VOLBLOCKSIZE));
+
+	if ((zvol_volsize_to_reservation(old_volsize, props) !=
+	    old_reservation) || nvlist_exists(nvl,
+	    zfs_prop_to_name(resv_prop))) {
+		fnvlist_free(props);
 		return (0);
 	}
 	if (nvlist_lookup_uint64(nvl, zfs_prop_to_name(ZFS_PROP_VOLSIZE),
-	    &new_volsize) != 0)
+	    &new_volsize) != 0) {
+		fnvlist_free(props);
 		return (-1);
-	new_reservation = zvol_volsize_to_reservation(new_volsize,
-	    zhp->zfs_props);
+	}
+	new_reservation = zvol_volsize_to_reservation(new_volsize, props);
+	fnvlist_free(props);
+
 	if (nvlist_add_uint64(nvl, zfs_prop_to_name(resv_prop),
 	    new_reservation) != 0) {
 		(void) no_memory(zhp->zfs_hdl);
@@ -1493,6 +1504,12 @@ zfs_setprop_error(libzfs_handle_t *hdl, 
 			    "property setting is not allowed on "
 			    "bootable datasets"));
 			(void) zfs_error(hdl, EZFS_NOTSUP, errbuf);
+		} else if (prop == ZFS_PROP_CHECKSUM ||
+		    prop == ZFS_PROP_DEDUP) {
+			(void) zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
+			    "property setting is not allowed on "
+			    "root pools"));
+			(void) zfs_error(hdl, EZFS_NOTSUP, errbuf);
 		} else {
 			(void) zfs_standard_error(hdl, err, errbuf);
 		}
@@ -1528,15 +1545,10 @@ zfs_setprop_error(libzfs_handle_t *hdl, 
 int
 zfs_prop_set(zfs_handle_t *zhp, const char *propname, const char *propval)
 {
-	zfs_cmd_t zc = { 0 };
 	int ret = -1;
-	prop_changelist_t *cl = NULL;
 	char errbuf[1024];
 	libzfs_handle_t *hdl = zhp->zfs_hdl;
-	nvlist_t *nvl = NULL, *realprops;
-	zfs_prop_t prop;
-	boolean_t do_prefix = B_TRUE;
-	int added_resv;
+	nvlist_t *nvl = NULL;
 
 	(void) snprintf(errbuf, sizeof (errbuf),
 	    dgettext(TEXT_DOMAIN, "cannot set property for '%s'"),
@@ -1548,79 +1560,149 @@ zfs_prop_set(zfs_handle_t *zhp, const ch
 		goto error;
 	}
 
-	if ((realprops = zfs_valid_proplist(hdl, zhp->zfs_type, nvl,
-	    zfs_prop_get_int(zhp, ZFS_PROP_ZONED), zhp, errbuf)) == NULL)
-		goto error;
+	ret = zfs_prop_set_list(zhp, nvl);
 
+error:
 	nvlist_free(nvl);
-	nvl = realprops;
+	return (ret);
+}
 
-	prop = zfs_name_to_prop(propname);
 
-	/* We don't support those properties on FreeBSD. */
-	switch (prop) {
-	case ZFS_PROP_DEVICES:
-	case ZFS_PROP_ISCSIOPTIONS:
-	case ZFS_PROP_XATTR:
-	case ZFS_PROP_VSCAN:
-	case ZFS_PROP_NBMAND:
-	case ZFS_PROP_MLSLABEL:
-		(void) snprintf(errbuf, sizeof (errbuf),
-		    "property '%s' not supported on FreeBSD", propname);
-		ret = zfs_error(hdl, EZFS_PERM, errbuf);
-		goto error;
-	}
 
-	if (prop == ZFS_PROP_VOLSIZE) {
-		if ((added_resv = zfs_add_synthetic_resv(zhp, nvl)) == -1)
-			goto error;
-	}
+/*
+ * Given an nvlist of property names and values, set the properties for the
+ * given dataset.
+ */
+int
+zfs_prop_set_list(zfs_handle_t *zhp, nvlist_t *props)
+{
+	zfs_cmd_t zc = { 0 };
+	int ret = -1;
+	prop_changelist_t **cls = NULL;
+	int cl_idx;
+	char errbuf[1024];
+	libzfs_handle_t *hdl = zhp->zfs_hdl;
+	nvlist_t *nvl;
+	int nvl_len;
+	int added_resv;
 
-	if ((cl = changelist_gather(zhp, prop, 0, 0)) == NULL)
-		goto error;
+	(void) snprintf(errbuf, sizeof (errbuf),
+	    dgettext(TEXT_DOMAIN, "cannot set property for '%s'"),
+	    zhp->zfs_name);
 
-	if (prop == ZFS_PROP_MOUNTPOINT && changelist_haszonedchild(cl)) {
-		zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
-		    "child dataset with inherited mountpoint is used "
-		    "in a non-global zone"));
-		ret = zfs_error(hdl, EZFS_ZONED, errbuf);
+	if ((nvl = zfs_valid_proplist(hdl, zhp->zfs_type, props,
+	    zfs_prop_get_int(zhp, ZFS_PROP_ZONED), zhp, zhp->zpool_hdl,
+	    errbuf)) == NULL)
 		goto error;
-	}
 
 	/*
-	 * We don't want to unmount & remount the dataset when changing
-	 * its canmount property to 'on' or 'noauto'.  We only use
-	 * the changelist logic to unmount when setting canmount=off.
+	 * We have to check for any extra properties which need to be added
+	 * before computing the length of the nvlist.
 	 */
-	if (prop == ZFS_PROP_CANMOUNT) {
-		uint64_t idx;
-		int err = zprop_string_to_index(prop, propval, &idx,
-		    ZFS_TYPE_DATASET);
-		if (err == 0 && idx != ZFS_CANMOUNT_OFF)
-			do_prefix = B_FALSE;
+	for (nvpair_t *elem = nvlist_next_nvpair(nvl, NULL);
+	    elem != NULL;
+	    elem = nvlist_next_nvpair(nvl, elem)) {
+		if (zfs_name_to_prop(nvpair_name(elem)) == ZFS_PROP_VOLSIZE &&
+		    (added_resv = zfs_add_synthetic_resv(zhp, nvl)) == -1) {
+			goto error;
+		}
 	}
-
-	if (do_prefix && (ret = changelist_prefix(cl)) != 0)
+	/*
+	 * Check how many properties we're setting and allocate an array to
+	 * store changelist pointers for postfix().
+	 */
+	nvl_len = 0;
+	for (nvpair_t *elem = nvlist_next_nvpair(nvl, NULL);
+	    elem != NULL;
+	    elem = nvlist_next_nvpair(nvl, elem))
+		nvl_len++;
+	if ((cls = calloc(nvl_len, sizeof (prop_changelist_t *))) == NULL)
 		goto error;
 
+	cl_idx = 0;
+	for (nvpair_t *elem = nvlist_next_nvpair(nvl, NULL);
+	    elem != NULL;
+	    elem = nvlist_next_nvpair(nvl, elem)) {
+
+		zfs_prop_t prop = zfs_name_to_prop(nvpair_name(elem));
+
+		assert(cl_idx < nvl_len);
+		/*
+		 * We don't want to unmount & remount the dataset when changing
+		 * its canmount property to 'on' or 'noauto'.  We only use
+		 * the changelist logic to unmount when setting canmount=off.
+		 */
+		if (!(prop == ZFS_PROP_CANMOUNT &&
+		    fnvpair_value_uint64(elem) != ZFS_CANMOUNT_OFF)) {
+			cls[cl_idx] = changelist_gather(zhp, prop, 0, 0);
+			if (cls[cl_idx] == NULL)
+				goto error;
+		}
+
+		if (prop == ZFS_PROP_MOUNTPOINT &&
+		    changelist_haszonedchild(cls[cl_idx])) {
+			zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
+			    "child dataset with inherited mountpoint is used "
+			    "in a non-global zone"));
+			ret = zfs_error(hdl, EZFS_ZONED, errbuf);
+			goto error;
+		}
+
+		/* We don't support those properties on FreeBSD. */
+		switch (prop) {
+		case ZFS_PROP_DEVICES:
+		case ZFS_PROP_ISCSIOPTIONS:
+		case ZFS_PROP_XATTR:
+		case ZFS_PROP_VSCAN:
+		case ZFS_PROP_NBMAND:
+		case ZFS_PROP_MLSLABEL:
+			(void) snprintf(errbuf, sizeof (errbuf),
+			    "property '%s' not supported on FreeBSD",
+			    nvpair_name(elem));
+			ret = zfs_error(hdl, EZFS_PERM, errbuf);
+			goto error;
+		}
+
+		if (cls[cl_idx] != NULL &&
+		    (ret = changelist_prefix(cls[cl_idx])) != 0)
+			goto error;
+
+		cl_idx++;
+	}
+	assert(cl_idx == nvl_len);
+
 	/*
-	 * Execute the corresponding ioctl() to set this property.
+	 * Execute the corresponding ioctl() to set this list of properties.
 	 */
 	(void) strlcpy(zc.zc_name, zhp->zfs_name, sizeof (zc.zc_name));
 
-	if (zcmd_write_src_nvlist(hdl, &zc, nvl) != 0)
+	if ((ret = zcmd_write_src_nvlist(hdl, &zc, nvl)) != 0 ||
+	    (ret = zcmd_alloc_dst_nvlist(hdl, &zc, 0)) != 0)
 		goto error;
 
 	ret = zfs_ioctl(hdl, ZFS_IOC_SET_PROP, &zc);
 
 	if (ret != 0) {
-		zfs_setprop_error(hdl, prop, errno, errbuf);
+		/* Get the list of unset properties back and report them. */
+		nvlist_t *errorprops = NULL;
+		if (zcmd_read_dst_nvlist(hdl, &zc, &errorprops) != 0)
+			goto error;
+		for (nvpair_t *elem = nvlist_next_nvpair(nvl, NULL);
+		    elem != NULL;
+		    elem = nvlist_next_nvpair(nvl, elem)) {
+			zfs_prop_t prop = zfs_name_to_prop(nvpair_name(elem));
+			zfs_setprop_error(hdl, prop, errno, errbuf);
+		}
+		nvlist_free(errorprops);
+
 		if (added_resv && errno == ENOSPC) {
 			/* clean up the volsize property we tried to set */
 			uint64_t old_volsize = zfs_prop_get_int(zhp,
 			    ZFS_PROP_VOLSIZE);
 			nvlist_free(nvl);
+			nvl = NULL;
 			zcmd_free_nvlists(&zc);
+
 			if (nvlist_alloc(&nvl, NV_UNIQUE_NAME, 0) != 0)
 				goto error;
 			if (nvlist_add_uint64(nvl,
@@ -1632,8 +1714,13 @@ zfs_prop_set(zfs_handle_t *zhp, const ch
 			(void) zfs_ioctl(hdl, ZFS_IOC_SET_PROP, &zc);
 		}
 	} else {

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


More information about the svn-src-user mailing list