From owner-svn-src-projects@freebsd.org Sun Aug 6 06:46:51 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F3505DC7B4B for ; Sun, 6 Aug 2017 06:46:51 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7CC587594C; Sun, 6 Aug 2017 06:46:51 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v766koj4059957; Sun, 6 Aug 2017 06:46:50 GMT (envelope-from cy@FreeBSD.org) Received: (from cy@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v766ki9L059902; Sun, 6 Aug 2017 06:46:44 GMT (envelope-from cy@FreeBSD.org) Message-Id: <201708060646.v766ki9L059902@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cy set sender to cy@FreeBSD.org using -f From: Cy Schubert Date: Sun, 6 Aug 2017 06:46:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322114 - in projects/krb5: . bin/cat bin/chmod/tests bin/date bin/dd bin/echo bin/expr bin/ln bin/ls bin/mv bin/pax bin/pkill bin/sh bin/sleep bin/test cddl cddl/contrib/opensolaris/cm... X-SVN-Group: projects X-SVN-Commit-Author: cy X-SVN-Commit-Paths: in projects/krb5: . bin/cat bin/chmod/tests bin/date bin/dd bin/echo bin/expr bin/ln bin/ls bin/mv bin/pax bin/pkill bin/sh bin/sleep bin/test cddl cddl/contrib/opensolaris/cmd/lockstat cddl/contrib/o... X-SVN-Commit-Revision: 322114 X-SVN-Commit-Repository: base 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.23 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: Sun, 06 Aug 2017 06:46:52 -0000 Author: cy Date: Sun Aug 6 06:46:44 2017 New Revision: 322114 URL: https://svnweb.freebsd.org/changeset/base/322114 Log: MFH r321831-r322113. We are specifically interested in merging r322112 and r322113 from HEAD. Added: projects/krb5/crypto/openssh/regress/unittests/conversion/ - copied from r322113, head/crypto/openssh/regress/unittests/conversion/ projects/krb5/share/vt/keymaps/tr.f.kbd - copied unchanged from r322113, head/share/vt/keymaps/tr.f.kbd projects/krb5/sys/arm/conf/GENERIC-NODEBUG - copied unchanged from r322113, head/sys/arm/conf/GENERIC-NODEBUG projects/krb5/sys/arm/freescale/imx/imx6_ahci.c - copied unchanged from r322113, head/sys/arm/freescale/imx/imx6_ahci.c projects/krb5/sys/boot/efi/include/efi_driver_utils.h - copied unchanged from r322113, head/sys/boot/efi/include/efi_driver_utils.h projects/krb5/sys/boot/efi/include/efi_drivers.h - copied unchanged from r322113, head/sys/boot/efi/include/efi_drivers.h projects/krb5/sys/boot/efi/include/efizfs.h - copied unchanged from r322113, head/sys/boot/efi/include/efizfs.h projects/krb5/sys/boot/efi/libefi/devicename.c - copied unchanged from r322113, head/sys/boot/efi/libefi/devicename.c projects/krb5/sys/boot/efi/libefi/efi_driver_utils.c - copied unchanged from r322113, head/sys/boot/efi/libefi/efi_driver_utils.c projects/krb5/sys/boot/efi/libefi/efizfs.c - copied unchanged from r322113, head/sys/boot/efi/libefi/efizfs.c projects/krb5/sys/dev/cxgbe/cudbg/ - copied from r322113, head/sys/dev/cxgbe/cudbg/ projects/krb5/sys/dev/iicbus/isl12xx.c - copied unchanged from r322113, head/sys/dev/iicbus/isl12xx.c projects/krb5/sys/modules/i2c/isl12xx/ - copied from r322113, head/sys/modules/i2c/isl12xx/ Deleted: projects/krb5/crypto/openssh/auth1.c projects/krb5/sys/boot/efi/loader/devicename.c projects/krb5/sys/sys/ksyms.h Modified: projects/krb5/Makefile.inc1 projects/krb5/ObsoleteFiles.inc projects/krb5/bin/cat/Makefile projects/krb5/bin/chmod/tests/chmod_test.sh projects/krb5/bin/date/Makefile projects/krb5/bin/dd/Makefile projects/krb5/bin/echo/Makefile projects/krb5/bin/expr/Makefile projects/krb5/bin/ln/Makefile projects/krb5/bin/ls/Makefile projects/krb5/bin/mv/Makefile projects/krb5/bin/pax/Makefile projects/krb5/bin/pkill/Makefile projects/krb5/bin/sh/Makefile projects/krb5/bin/sleep/Makefile projects/krb5/bin/test/Makefile projects/krb5/cddl/Makefile projects/krb5/cddl/contrib/opensolaris/cmd/lockstat/sym.c projects/krb5/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_compat.c projects/krb5/cddl/lib/Makefile projects/krb5/cddl/sbin/Makefile projects/krb5/cddl/usr.bin/Makefile projects/krb5/cddl/usr.sbin/Makefile projects/krb5/contrib/ipfilter/tools/ippool.c projects/krb5/contrib/libxo/Makefile.am projects/krb5/contrib/libxo/configure.ac projects/krb5/contrib/libxo/doc/libxo-manual.html projects/krb5/contrib/libxo/libxo/libxo.3 projects/krb5/contrib/libxo/libxo/libxo.c projects/krb5/contrib/libxo/libxo/xo_attr.3 projects/krb5/contrib/libxo/libxo/xo_create.3 projects/krb5/contrib/libxo/libxo/xo_emit.3 projects/krb5/contrib/libxo/libxo/xo_emit_err.3 projects/krb5/contrib/libxo/libxo/xo_emit_f.3 projects/krb5/contrib/libxo/libxo/xo_err.3 projects/krb5/contrib/libxo/libxo/xo_error.3 projects/krb5/contrib/libxo/libxo/xo_finish.3 projects/krb5/contrib/libxo/libxo/xo_flush.3 projects/krb5/contrib/libxo/libxo/xo_format.5 projects/krb5/contrib/libxo/libxo/xo_message.3 projects/krb5/contrib/libxo/libxo/xo_no_setlocale.3 projects/krb5/contrib/libxo/libxo/xo_open_container.3 projects/krb5/contrib/libxo/libxo/xo_open_list.3 projects/krb5/contrib/libxo/libxo/xo_open_marker.3 projects/krb5/contrib/libxo/libxo/xo_options.7 projects/krb5/contrib/libxo/libxo/xo_parse_args.3 projects/krb5/contrib/libxo/libxo/xo_set_allocator.3 projects/krb5/contrib/libxo/libxo/xo_set_flags.3 projects/krb5/contrib/libxo/libxo/xo_set_info.3 projects/krb5/contrib/libxo/libxo/xo_set_options.3 projects/krb5/contrib/libxo/libxo/xo_set_style.3 projects/krb5/contrib/libxo/libxo/xo_set_syslog_enterprise_id.3 projects/krb5/contrib/libxo/libxo/xo_set_version.3 projects/krb5/contrib/libxo/libxo/xo_set_writer.3 projects/krb5/contrib/libxo/libxo/xo_syslog.3 projects/krb5/contrib/libxo/tests/core/saved/test_01.E.out projects/krb5/contrib/libxo/tests/core/saved/test_01.H.out projects/krb5/contrib/libxo/tests/core/saved/test_01.HIPx.out projects/krb5/contrib/libxo/tests/core/saved/test_01.HP.out projects/krb5/contrib/libxo/tests/core/saved/test_01.J.out projects/krb5/contrib/libxo/tests/core/saved/test_01.JP.out projects/krb5/contrib/libxo/tests/core/saved/test_01.T.out projects/krb5/contrib/libxo/tests/core/saved/test_01.X.out projects/krb5/contrib/libxo/tests/core/saved/test_01.XP.out projects/krb5/contrib/libxo/tests/core/saved/test_02.E.out projects/krb5/contrib/libxo/tests/core/saved/test_02.J.out projects/krb5/contrib/libxo/tests/core/saved/test_02.JP.out projects/krb5/contrib/libxo/tests/core/saved/test_02.X.out projects/krb5/contrib/libxo/tests/core/saved/test_02.XP.out projects/krb5/contrib/libxo/tests/core/test_01.c projects/krb5/contrib/libxo/tests/xo/saved/xo_01.H.out projects/krb5/contrib/libxo/tests/xo/saved/xo_01.HIPx.out projects/krb5/contrib/libxo/tests/xo/saved/xo_01.HP.out projects/krb5/contrib/libxo/tests/xo/saved/xo_01.J.out projects/krb5/contrib/libxo/tests/xo/saved/xo_01.JP.out projects/krb5/contrib/libxo/tests/xo/saved/xo_01.T.out projects/krb5/contrib/libxo/tests/xo/saved/xo_01.X.out projects/krb5/contrib/libxo/tests/xo/saved/xo_01.XP.out projects/krb5/contrib/libxo/tests/xo/xo_01.sh projects/krb5/contrib/libxo/xo/xo.1 projects/krb5/contrib/libxo/xohtml/xohtml.1 projects/krb5/contrib/libxo/xohtml/xohtml.sh.in projects/krb5/contrib/libxo/xolint/xolint.1 projects/krb5/contrib/libxo/xopo/xopo.1 projects/krb5/contrib/ofed/usr.bin/Makefile projects/krb5/crypto/openssh/ChangeLog projects/krb5/crypto/openssh/INSTALL projects/krb5/crypto/openssh/Makefile.in projects/krb5/crypto/openssh/README projects/krb5/crypto/openssh/auth-pam.c projects/krb5/crypto/openssh/auth2-pubkey.c projects/krb5/crypto/openssh/auth2.c projects/krb5/crypto/openssh/channels.c projects/krb5/crypto/openssh/channels.h projects/krb5/crypto/openssh/clientloop.c projects/krb5/crypto/openssh/compat.c projects/krb5/crypto/openssh/config.h projects/krb5/crypto/openssh/configure.ac projects/krb5/crypto/openssh/contrib/cygwin/ssh-host-config projects/krb5/crypto/openssh/contrib/redhat/openssh.spec projects/krb5/crypto/openssh/contrib/suse/openssh.spec projects/krb5/crypto/openssh/digest-openssl.c projects/krb5/crypto/openssh/freebsd-configure.sh projects/krb5/crypto/openssh/hostfile.c projects/krb5/crypto/openssh/kex.c projects/krb5/crypto/openssh/krl.c projects/krb5/crypto/openssh/log.c projects/krb5/crypto/openssh/match.c projects/krb5/crypto/openssh/match.h projects/krb5/crypto/openssh/misc.c projects/krb5/crypto/openssh/monitor.c projects/krb5/crypto/openssh/mux.c projects/krb5/crypto/openssh/openbsd-compat/bsd-misc.c projects/krb5/crypto/openssh/openbsd-compat/bsd-misc.h projects/krb5/crypto/openssh/openbsd-compat/fmt_scaled.c projects/krb5/crypto/openssh/packet.c projects/krb5/crypto/openssh/packet.h projects/krb5/crypto/openssh/pathnames.h projects/krb5/crypto/openssh/readconf.c projects/krb5/crypto/openssh/regress/Makefile projects/krb5/crypto/openssh/regress/agent-getpeereid.sh projects/krb5/crypto/openssh/regress/allow-deny-users.sh projects/krb5/crypto/openssh/regress/cert-file.sh projects/krb5/crypto/openssh/regress/forwarding.sh projects/krb5/crypto/openssh/regress/integrity.sh projects/krb5/crypto/openssh/regress/test-exec.sh projects/krb5/crypto/openssh/regress/unittests/Makefile projects/krb5/crypto/openssh/regress/unittests/match/tests.c projects/krb5/crypto/openssh/regress/unittests/test_helper/test_helper.c projects/krb5/crypto/openssh/regress/unittests/test_helper/test_helper.h projects/krb5/crypto/openssh/regress/unittests/utf8/tests.c projects/krb5/crypto/openssh/sandbox-seccomp-filter.c projects/krb5/crypto/openssh/servconf.c projects/krb5/crypto/openssh/serverloop.c projects/krb5/crypto/openssh/session.c projects/krb5/crypto/openssh/sftp-client.c projects/krb5/crypto/openssh/sftp.c projects/krb5/crypto/openssh/ssh-agent.c projects/krb5/crypto/openssh/ssh-keygen.c projects/krb5/crypto/openssh/ssh-keyscan.c projects/krb5/crypto/openssh/ssh.c projects/krb5/crypto/openssh/ssh_config projects/krb5/crypto/openssh/ssh_config.5 projects/krb5/crypto/openssh/ssh_namespace.h projects/krb5/crypto/openssh/sshconnect.c projects/krb5/crypto/openssh/sshconnect1.c projects/krb5/crypto/openssh/sshconnect2.c projects/krb5/crypto/openssh/sshd.8 projects/krb5/crypto/openssh/sshd.c projects/krb5/crypto/openssh/sshd_config projects/krb5/crypto/openssh/sshd_config.5 projects/krb5/crypto/openssh/sshkey.c projects/krb5/crypto/openssh/sshkey.h projects/krb5/crypto/openssh/utf8.c projects/krb5/crypto/openssh/version.h projects/krb5/gnu/Makefile projects/krb5/kerberos5/lib/libkafs5/Makefile projects/krb5/kerberos5/libexec/ipropd-master/Makefile projects/krb5/lib/atf/Makefile projects/krb5/lib/atf/libatf-c++/Makefile projects/krb5/lib/atf/libatf-c/Makefile projects/krb5/lib/libarchive/Makefile projects/krb5/lib/libc/Makefile projects/krb5/lib/libcasper/services/cap_dns/Makefile projects/krb5/lib/libcasper/services/cap_grp/Makefile projects/krb5/lib/libcasper/services/cap_pwd/Makefile projects/krb5/lib/libcasper/services/cap_sysctl/Makefile projects/krb5/lib/libcrypt/Makefile projects/krb5/lib/libmp/Makefile projects/krb5/lib/libnv/Makefile projects/krb5/lib/libpathconv/Makefile projects/krb5/lib/libproc/Makefile projects/krb5/lib/librt/Makefile projects/krb5/lib/libstand/Makefile projects/krb5/lib/libthr/Makefile projects/krb5/lib/libutil/Makefile projects/krb5/lib/libutil/flopen.3 projects/krb5/lib/libutil/flopen.c projects/krb5/lib/libutil/libutil.h projects/krb5/lib/libxo/Makefile projects/krb5/lib/libxo/add.man projects/krb5/lib/libxo/tests/Makefile projects/krb5/lib/libxo/xo_config.h projects/krb5/lib/msun/Makefile projects/krb5/libexec/atf/atf-check/Makefile projects/krb5/libexec/atf/atf-sh/Makefile projects/krb5/libexec/rtld-elf/Makefile projects/krb5/sbin/devd/Makefile projects/krb5/sbin/dhclient/Makefile projects/krb5/sbin/growfs/Makefile projects/krb5/sbin/ifconfig/Makefile projects/krb5/sbin/ifconfig/af_link.c projects/krb5/sbin/mdconfig/Makefile projects/krb5/sbin/pfctl/Makefile projects/krb5/secure/Makefile projects/krb5/secure/lib/Makefile projects/krb5/secure/libexec/Makefile projects/krb5/secure/usr.bin/Makefile projects/krb5/secure/usr.sbin/Makefile projects/krb5/share/Makefile projects/krb5/share/examples/Makefile projects/krb5/share/examples/ppp/ppp.conf.sample projects/krb5/share/man/man3/makedev.3 projects/krb5/share/man/man4/ehci.4 projects/krb5/share/man/man4/ksyms.4 projects/krb5/share/man/man4/linux.4 projects/krb5/share/man/man4/ohci.4 projects/krb5/share/man/man4/ucom.4 projects/krb5/share/man/man4/ugen.4 projects/krb5/share/man/man4/uhci.4 projects/krb5/share/man/man4/uhid.4 projects/krb5/share/man/man4/ukbd.4 projects/krb5/share/man/man4/ums.4 projects/krb5/share/man/man4/uplcom.4 projects/krb5/share/man/man4/usb.4 projects/krb5/share/man/man4/xhci.4 projects/krb5/share/man/man5/fdescfs.5 projects/krb5/share/man/man5/src.conf.5 projects/krb5/share/misc/organization.dot projects/krb5/share/mk/bsd.compiler.mk projects/krb5/share/mk/bsd.opts.mk projects/krb5/share/mk/src.opts.mk projects/krb5/share/vt/keymaps/INDEX.keymaps projects/krb5/share/vt/keymaps/Makefile projects/krb5/share/zoneinfo/Makefile projects/krb5/sys/amd64/amd64/elf_machdep.c projects/krb5/sys/amd64/amd64/initcpu.c projects/krb5/sys/amd64/amd64/machdep.c projects/krb5/sys/amd64/amd64/pmap.c projects/krb5/sys/amd64/amd64/trap.c projects/krb5/sys/amd64/cloudabi64/cloudabi64_sysvec.c projects/krb5/sys/amd64/include/cpufunc.h projects/krb5/sys/amd64/include/md_var.h projects/krb5/sys/amd64/linux/linux_sysvec.c projects/krb5/sys/arm/allwinner/aw_ccu.c projects/krb5/sys/arm/allwinner/axp209.c projects/krb5/sys/arm/allwinner/clk/aw_modclk.c projects/krb5/sys/arm/allwinner/clkng/aw_ccung.c projects/krb5/sys/arm/arm/generic_timer.c projects/krb5/sys/arm/conf/IMX6 projects/krb5/sys/arm/freescale/imx/files.imx6 projects/krb5/sys/arm/freescale/imx/imx6_ccm.c projects/krb5/sys/arm/freescale/imx/imx6_ccmreg.h projects/krb5/sys/arm/freescale/imx/imx_ccmvar.h projects/krb5/sys/arm/freescale/imx/imx_iomux.c projects/krb5/sys/arm/freescale/imx/imx_iomuxreg.h projects/krb5/sys/arm/freescale/imx/imx_iomuxvar.h projects/krb5/sys/arm/freescale/imx/std.imx6 projects/krb5/sys/arm64/arm64/gic_v3.c projects/krb5/sys/arm64/arm64/gic_v3_fdt.c projects/krb5/sys/arm64/arm64/gic_v3_var.h projects/krb5/sys/arm64/arm64/gicv3_its.c projects/krb5/sys/arm64/arm64/mp_machdep.c projects/krb5/sys/arm64/conf/GENERIC projects/krb5/sys/arm64/include/param.h projects/krb5/sys/boot/efi/include/efilib.h projects/krb5/sys/boot/efi/include/efiprot.h projects/krb5/sys/boot/efi/libefi/Makefile projects/krb5/sys/boot/efi/libefi/errno.c projects/krb5/sys/boot/efi/libefi/time.c projects/krb5/sys/boot/efi/loader/Makefile projects/krb5/sys/boot/efi/loader/loader_efi.h projects/krb5/sys/boot/efi/loader/main.c projects/krb5/sys/boot/fdt/dts/arm/nanopi-neo.dts projects/krb5/sys/boot/geli/Makefile projects/krb5/sys/boot/zfs/zfsimpl.c projects/krb5/sys/compat/linuxkpi/common/include/linux/cdev.h projects/krb5/sys/compat/linuxkpi/common/include/linux/fs.h projects/krb5/sys/compat/linuxkpi/common/include/linux/kdev_t.h projects/krb5/sys/compat/linuxkpi/common/include/linux/pci.h projects/krb5/sys/compat/linuxkpi/common/src/linux_compat.c projects/krb5/sys/compat/linuxkpi/common/src/linux_pci.c projects/krb5/sys/conf/files projects/krb5/sys/conf/files.amd64 projects/krb5/sys/conf/files.arm64 projects/krb5/sys/conf/options.arm64 projects/krb5/sys/contrib/ena-com/ena_plat.h projects/krb5/sys/contrib/ipfilter/netinet/ip_nat.c projects/krb5/sys/dev/cxgbe/common/common.h projects/krb5/sys/dev/cxgbe/common/t4_hw.h projects/krb5/sys/dev/cxgbe/t4_ioctl.h projects/krb5/sys/dev/cxgbe/t4_main.c projects/krb5/sys/dev/hyperv/netvsc/if_hn.c projects/krb5/sys/dev/hyperv/netvsc/if_hnvar.h projects/krb5/sys/dev/hyperv/utilities/hv_kvp.c projects/krb5/sys/dev/ichwd/ichwd.c projects/krb5/sys/dev/ksyms/ksyms.c projects/krb5/sys/dev/mlx5/mlx5_core/mlx5_cmd.c projects/krb5/sys/dev/mlx5/mlx5_core/mlx5_pagealloc.c projects/krb5/sys/dev/mmc/bridge.h projects/krb5/sys/dev/mmc/mmc_subr.c projects/krb5/sys/dev/mmc/mmc_subr.h projects/krb5/sys/dev/mmc/mmcbus_if.m projects/krb5/sys/dev/mmc/mmcsd.c projects/krb5/sys/dev/nvd/nvd.c projects/krb5/sys/dev/nvme/nvme.h projects/krb5/sys/dev/nvme/nvme_sim.c projects/krb5/sys/dev/nvme/nvme_sysctl.c projects/krb5/sys/dev/pci/pci.c projects/krb5/sys/fs/fdescfs/fdesc.h projects/krb5/sys/fs/fdescfs/fdesc_vfsops.c projects/krb5/sys/fs/fdescfs/fdesc_vnops.c projects/krb5/sys/fs/pseudofs/pseudofs.h projects/krb5/sys/i386/i386/machdep.c projects/krb5/sys/i386/i386/pmap.c projects/krb5/sys/i386/i386/trap.c projects/krb5/sys/i386/include/cpufunc.h projects/krb5/sys/kern/subr_blist.c projects/krb5/sys/kern/subr_witness.c projects/krb5/sys/kern/vfs_syscalls.c projects/krb5/sys/modules/cxgbe/if_cxgbe/Makefile projects/krb5/sys/modules/dtb/allwinner/Makefile projects/krb5/sys/modules/i2c/Makefile projects/krb5/sys/net80211/ieee80211_ioctl.c projects/krb5/sys/net80211/ieee80211_mesh.c projects/krb5/sys/ofed/drivers/infiniband/core/addr.c projects/krb5/sys/ofed/drivers/infiniband/core/cm.c projects/krb5/sys/sys/_termios.h projects/krb5/sys/sys/blist.h projects/krb5/sys/sys/types.h projects/krb5/sys/sys/vnode.h projects/krb5/sys/x86/include/x86_var.h projects/krb5/sys/x86/x86/identcpu.c projects/krb5/tests/sys/aio/lio_test.c projects/krb5/tests/sys/fs/tmpfs/Makefile projects/krb5/tests/sys/kern/ptrace_test.c projects/krb5/tools/tools/bootparttest/Makefile projects/krb5/tools/tools/bootparttest/bootparttest.c projects/krb5/tools/tools/bootparttest/stub.c projects/krb5/tools/tools/zfsboottest/Makefile projects/krb5/tools/tools/zfsboottest/zfsboottest.c projects/krb5/usr.bin/Makefile projects/krb5/usr.bin/apply/Makefile projects/krb5/usr.bin/basename/Makefile projects/krb5/usr.bin/bsdcat/Makefile projects/krb5/usr.bin/calendar/Makefile projects/krb5/usr.bin/calendar/calendars/calendar.freebsd projects/krb5/usr.bin/cmp/Makefile projects/krb5/usr.bin/col/Makefile projects/krb5/usr.bin/comm/Makefile projects/krb5/usr.bin/compress/Makefile projects/krb5/usr.bin/cpio/Makefile projects/krb5/usr.bin/csplit/Makefile projects/krb5/usr.bin/cut/Makefile projects/krb5/usr.bin/cut/cut.1 projects/krb5/usr.bin/diff/Makefile projects/krb5/usr.bin/diff3/Makefile projects/krb5/usr.bin/dirname/Makefile projects/krb5/usr.bin/file2c/Makefile projects/krb5/usr.bin/getconf/Makefile projects/krb5/usr.bin/grep/Makefile projects/krb5/usr.bin/gzip/Makefile projects/krb5/usr.bin/hexdump/Makefile projects/krb5/usr.bin/ident/Makefile projects/krb5/usr.bin/indent/Makefile projects/krb5/usr.bin/join/Makefile projects/krb5/usr.bin/jot/Makefile projects/krb5/usr.bin/lastcomm/Makefile projects/krb5/usr.bin/limits/Makefile projects/krb5/usr.bin/m4/Makefile projects/krb5/usr.bin/mkimg/Makefile projects/krb5/usr.bin/mt/mt.1 projects/krb5/usr.bin/ncal/Makefile projects/krb5/usr.bin/pr/Makefile projects/krb5/usr.bin/printf/Makefile projects/krb5/usr.bin/procstat/Makefile projects/krb5/usr.bin/procstat/procstat_ptlwpinfo.c projects/krb5/usr.bin/ruptime/ruptime.1 projects/krb5/usr.bin/rwho/rwho.1 projects/krb5/usr.bin/sdiff/Makefile projects/krb5/usr.bin/sed/Makefile projects/krb5/usr.bin/soelim/Makefile projects/krb5/usr.bin/tail/Makefile projects/krb5/usr.bin/tar/Makefile projects/krb5/usr.bin/timeout/Makefile projects/krb5/usr.bin/tr/Makefile projects/krb5/usr.bin/truncate/Makefile projects/krb5/usr.bin/uniq/Makefile projects/krb5/usr.bin/units/Makefile projects/krb5/usr.bin/uudecode/Makefile projects/krb5/usr.bin/uuencode/Makefile projects/krb5/usr.bin/xargs/Makefile projects/krb5/usr.bin/xinstall/Makefile projects/krb5/usr.bin/xo/Makefile projects/krb5/usr.bin/xohtml/xohtml.sh projects/krb5/usr.bin/yacc/Makefile projects/krb5/usr.sbin/Makefile projects/krb5/usr.sbin/chown/Makefile projects/krb5/usr.sbin/cxgbetool/cxgbetool.c projects/krb5/usr.sbin/etcupdate/Makefile projects/krb5/usr.sbin/extattr/Makefile projects/krb5/usr.sbin/fstyp/Makefile projects/krb5/usr.sbin/makefs/Makefile projects/krb5/usr.sbin/makefs/tests/makefs_cd9660_tests.sh projects/krb5/usr.sbin/newsyslog/Makefile projects/krb5/usr.sbin/nmtree/Makefile projects/krb5/usr.sbin/pmcstat/pmcpl_gprof.c projects/krb5/usr.sbin/pw/Makefile projects/krb5/usr.sbin/rpcbind/Makefile projects/krb5/usr.sbin/rwhod/rwhod.8 projects/krb5/usr.sbin/sa/Makefile projects/krb5/usr.sbin/tzsetup/tzsetup.c projects/krb5/usr.sbin/ypldap/entries.c Directory Properties: projects/krb5/ (props changed) projects/krb5/cddl/ (props changed) projects/krb5/cddl/contrib/opensolaris/ (props changed) projects/krb5/cddl/contrib/opensolaris/lib/libzfs/ (props changed) projects/krb5/contrib/ipfilter/ (props changed) projects/krb5/contrib/libxo/ (props changed) projects/krb5/crypto/openssh/ (props changed) projects/krb5/sys/contrib/ena-com/ (props changed) projects/krb5/sys/contrib/ipfilter/ (props changed) Modified: projects/krb5/Makefile.inc1 ============================================================================== --- projects/krb5/Makefile.inc1 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/Makefile.inc1 Sun Aug 6 06:46:44 2017 (r322114) @@ -444,7 +444,7 @@ BUILD_ARCH!= uname -p .endif .endif WORLDTMP= ${OBJTREE}${.CURDIR}/tmp -BPATH= ${WORLDTMP}/legacy/usr/sbin:${WORLDTMP}/legacy/usr/bin:${WORLDTMP}/legacy/bin +BPATH= ${CCACHE_WRAPPER_PATH_PFX}${WORLDTMP}/legacy/usr/sbin:${WORLDTMP}/legacy/usr/bin:${WORLDTMP}/legacy/bin XPATH= ${WORLDTMP}/usr/sbin:${WORLDTMP}/usr/bin STRICTTMPPATH= ${BPATH}:${XPATH} TMPPATH= ${STRICTTMPPATH}:${PATH} @@ -760,10 +760,12 @@ _worldtmp: .PHONY rm -rf ${LIBCOMPATTMP} .endif .else +.if exists(${WORLDTMP}) @echo ">>> Deleting stale files in build tree..." ${_+_}cd ${.CURDIR}; ${WMAKE} -DBATCH_DELETE_OLD_FILES \ delete-old delete-old-libs >/dev/null -.if defined(LIBCOMPAT) +.endif +.if defined(LIBCOMPAT) && exists(${LIBCOMPATTMP}) ${_+_}cd ${.CURDIR}; ${WMAKE} -DBATCH_DELETE_OLD_FILES \ DESTDIR=${LIBCOMPATTMP} \ delete-old delete-old-libs >/dev/null @@ -2759,9 +2761,6 @@ CD2MAKE=${CD2ENV} PATH=${CDTMP}/usr/bin:${XDDESTDIR}/u CD2MAKE+= BUILD_TOOLS_META=.NOMETA .endif XDDESTDIR=${DESTDIR}/${XDTP} -.if !defined(OSREL) -OSREL!= uname -r | sed -e 's/[-(].*//' -.endif .ORDER: xdev-build xdev-install xdev-links xdev: xdev-build xdev-install .PHONY @@ -2855,7 +2854,7 @@ xdev-links: .PHONY ln -sf ../../${XDTP}/usr/bin/$$i \ ../../../../usr/bin/${XDDIR}-$$i; \ ln -sf ../../${XDTP}/usr/bin/$$i \ - ../../../../usr/bin/${XDDIR}${OSREL}-$$i; \ + ../../../../usr/bin/${XDDIR}${_REVISION}-$$i; \ done .else xdev xdev-build xdev-install xdev-links: .PHONY Modified: projects/krb5/ObsoleteFiles.inc ============================================================================== --- projects/krb5/ObsoleteFiles.inc Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/ObsoleteFiles.inc Sun Aug 6 06:46:44 2017 (r322114) @@ -38,6 +38,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20170802: ksyms(4) ioctl interface was removed +OLD_FILES+=usr/include/sys/ksyms.h + # 20170722: new clang import which bumps version from 4.0.0 to 5.0.0. OLD_FILES+=usr/lib/clang/4.0.0/include/sanitizer/allocator_interface.h OLD_FILES+=usr/lib/clang/4.0.0/include/sanitizer/asan_interface.h Modified: projects/krb5/bin/cat/Makefile ============================================================================== --- projects/krb5/bin/cat/Makefile Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/bin/cat/Makefile Sun Aug 6 06:46:44 2017 (r322114) @@ -6,8 +6,6 @@ PACKAGE=runtime PROG= cat -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/krb5/bin/chmod/tests/chmod_test.sh ============================================================================== --- projects/krb5/bin/chmod/tests/chmod_test.sh Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/bin/chmod/tests/chmod_test.sh Sun Aug 6 06:46:44 2017 (r322114) @@ -25,6 +25,13 @@ # # $FreeBSD$ +get_filesystem() +{ + local mountpoint=$1 + + df -T $mountpoint | tail -n 1 | cut -wf 2 +} + atf_test_case RH_flag RH_flag_head() { @@ -94,6 +101,11 @@ f_flag_body() { atf_check truncate -s 0 foo bar atf_check chmod 0750 foo bar + case "$(get_filesystem .)" in + zfs) + atf_expect_fail "ZFS doesn't support UF_IMMUTABLE; returns EPERM - bug 221189" + ;; + esac atf_check chflags uchg foo atf_check -e not-empty -s not-exit:0 chmod 0700 foo bar atf_check -o inline:'100750\n100700\n' stat -f '%p' foo bar @@ -103,7 +115,7 @@ f_flag_body() f_flag_cleanup() { - atf_check chflags 0 foo + chflags 0 foo || : } atf_test_case h_flag @@ -140,6 +152,11 @@ v_flag_body() atf_check truncate -s 0 foo bar atf_check chmod 0600 foo atf_check chmod 0750 bar + case "$(get_filesystem .)" in + zfs) + atf_expect_fail "ZFS updates mode for foo unnecessarily - bug 221188" + ;; + esac atf_check -o 'inline:bar\n' chmod -v 0600 foo bar atf_check chmod -v 0600 foo bar for f in foo bar; do Modified: projects/krb5/bin/date/Makefile ============================================================================== --- projects/krb5/bin/date/Makefile Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/bin/date/Makefile Sun Aug 6 06:46:44 2017 (r322114) @@ -7,8 +7,6 @@ PACKAGE=runtime PROG= date SRCS= date.c netdate.c vary.c -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/krb5/bin/dd/Makefile ============================================================================== --- projects/krb5/bin/dd/Makefile Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/bin/dd/Makefile Sun Aug 6 06:46:44 2017 (r322114) @@ -38,8 +38,6 @@ test: ${PROG} gen @rm -f gen 1M_zeroes* obs_zeroes -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/krb5/bin/echo/Makefile ============================================================================== --- projects/krb5/bin/echo/Makefile Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/bin/echo/Makefile Sun Aug 6 06:46:44 2017 (r322114) @@ -6,8 +6,6 @@ PACKAGE=runtime PROG= echo -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/krb5/bin/expr/Makefile ============================================================================== --- projects/krb5/bin/expr/Makefile Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/bin/expr/Makefile Sun Aug 6 06:46:44 2017 (r322114) @@ -12,8 +12,6 @@ CFLAGS+= -fwrapv NO_WMISSING_VARIABLE_DECLARATIONS= -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/krb5/bin/ln/Makefile ============================================================================== --- projects/krb5/bin/ln/Makefile Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/bin/ln/Makefile Sun Aug 6 06:46:44 2017 (r322114) @@ -10,8 +10,6 @@ MAN= ln.1 symlink.7 LINKS= ${BINDIR}/ln ${BINDIR}/link MLINKS= ln.1 link.1 -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/krb5/bin/ls/Makefile ============================================================================== --- projects/krb5/bin/ls/Makefile Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/bin/ls/Makefile Sun Aug 6 06:46:44 2017 (r322114) @@ -14,8 +14,6 @@ CFLAGS+= -DCOLORLS LIBADD+= termcapw .endif -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/krb5/bin/mv/Makefile ============================================================================== --- projects/krb5/bin/mv/Makefile Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/bin/mv/Makefile Sun Aug 6 06:46:44 2017 (r322114) @@ -6,8 +6,6 @@ PACKAGE=runtime PROG= mv -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/krb5/bin/pax/Makefile ============================================================================== --- projects/krb5/bin/pax/Makefile Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/bin/pax/Makefile Sun Aug 6 06:46:44 2017 (r322114) @@ -33,8 +33,6 @@ SRCS= ar_io.c ar_subs.c buf_subs.c cache.c cpio.c file gen_subs.c getoldopt.c options.c pat_rep.c pax.c sel_subs.c \ tables.c tar.c tty_subs.c -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/krb5/bin/pkill/Makefile ============================================================================== --- projects/krb5/bin/pkill/Makefile Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/bin/pkill/Makefile Sun Aug 6 06:46:44 2017 (r322114) @@ -19,8 +19,6 @@ MLINKS= pkill.1 pgrep.1 SYMLINKS= ../..${BINDIR}/pkill /usr/bin/pkill SYMLINKS+= ../..${BINDIR}/pgrep /usr/bin/pgrep -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/krb5/bin/sh/Makefile ============================================================================== --- projects/krb5/bin/sh/Makefile Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/bin/sh/Makefile Sun Aug 6 06:46:44 2017 (r322114) @@ -64,8 +64,6 @@ syntax.c syntax.h: mksyntax token.h: mktokens sh ${.CURDIR}/mktokens -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/krb5/bin/sleep/Makefile ============================================================================== --- projects/krb5/bin/sleep/Makefile Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/bin/sleep/Makefile Sun Aug 6 06:46:44 2017 (r322114) @@ -6,8 +6,6 @@ PACKAGE=runtime PROG= sleep -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/krb5/bin/test/Makefile ============================================================================== --- projects/krb5/bin/test/Makefile Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/bin/test/Makefile Sun Aug 6 06:46:44 2017 (r322114) @@ -8,8 +8,6 @@ PROG= test LINKS= ${BINDIR}/test ${BINDIR}/[ MLINKS= test.1 [.1 -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/krb5/cddl/Makefile ============================================================================== --- projects/krb5/cddl/Makefile Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/cddl/Makefile Sun Aug 6 06:46:44 2017 (r322114) @@ -5,9 +5,7 @@ SUBDIR= lib .WAIT \ sbin usr.bin usr.sbin -.if ${MK_TESTS} != "no" -SUBDIR+=tests -.endif +SUBDIR.${MK_TESTS}+= tests SUBDIR_PARALLEL= Modified: projects/krb5/cddl/contrib/opensolaris/cmd/lockstat/sym.c ============================================================================== --- projects/krb5/cddl/contrib/opensolaris/cmd/lockstat/sym.c Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/cddl/contrib/opensolaris/cmd/lockstat/sym.c Sun Aug 6 06:46:44 2017 (r322114) @@ -48,7 +48,6 @@ #include #else #include -#include #include #include #include @@ -175,10 +174,6 @@ symtab_init(void) int fd; int i; int strindex = -1; -#ifndef illumos - void *ksyms; - size_t sz; -#endif #ifndef illumos if ((fd = open("/dev/ksyms", O_RDONLY)) == -1) { @@ -194,33 +189,9 @@ symtab_init(void) return (-1); #endif -#ifdef illumos (void) elf_version(EV_CURRENT); elf = elf_begin(fd, ELF_C_READ, NULL); -#else - /* - * XXX - libelf needs to be fixed so it will work with - * non 'ordinary' files like /dev/ksyms. The following - * is a work around for now. - */ - if (elf_version(EV_CURRENT) == EV_NONE) { - close(fd); - return (-1); - } - if (ioctl(fd, KIOCGSIZE, &sz) < 0) { - close(fd); - return (-1); - } - if (ioctl(fd, KIOCGADDR, &ksyms) < 0) { - close(fd); - return (-1); - } - if ((elf = elf_memory(ksyms, sz)) == NULL) { - close(fd); - return (-1); - } -#endif for (cnt = 1; (scn = elf_nextscn(elf, scn)) != NULL; cnt++) { Shdr *shdr = elf_getshdr(scn); Modified: projects/krb5/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_compat.c ============================================================================== --- projects/krb5/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_compat.c Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_compat.c Sun Aug 6 06:46:44 2017 (r322114) @@ -74,6 +74,9 @@ zcmd_ioctl(int fd, int request, zfs_cmd_t *zc) if (zfs_ioctl_version >= ZFS_IOCVER_DEADMAN) { switch (zfs_ioctl_version) { + case ZFS_IOCVER_INLANES: + cflag = ZFS_CMD_COMPAT_INLANES; + break; case ZFS_IOCVER_RESUME: cflag = ZFS_CMD_COMPAT_RESUME; break; Modified: projects/krb5/cddl/lib/Makefile ============================================================================== --- projects/krb5/cddl/lib/Makefile Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/cddl/lib/Makefile Sun Aug 6 06:46:44 2017 (r322114) @@ -12,11 +12,8 @@ SUBDIR= ${_drti} \ ${_libzfs_core} \ ${_libzfs} \ ${_libzpool} \ - ${_tests} -.if ${MK_TESTS} != "no" -_tests= tests -.endif +SUBDIR.${MK_TESTS}+= tests .if ${MK_ZFS} != "no" _libzfs_core= libzfs_core Modified: projects/krb5/cddl/sbin/Makefile ============================================================================== --- projects/krb5/cddl/sbin/Makefile Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/cddl/sbin/Makefile Sun Aug 6 06:46:44 2017 (r322114) @@ -2,11 +2,9 @@ .include -SUBDIR= ${_tests} ${_zfs} ${_zpool} +SUBDIR= ${_zfs} ${_zpool} -.if ${MK_TESTS} != "no" -_tests= tests -.endif +SUBDIR.${MK_TESTS}+= tests .if ${MK_ZFS} != "no" _zfs= zfs Modified: projects/krb5/cddl/usr.bin/Makefile ============================================================================== --- projects/krb5/cddl/usr.bin/Makefile Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/cddl/usr.bin/Makefile Sun Aug 6 06:46:44 2017 (r322114) @@ -6,15 +6,12 @@ SUBDIR= \ ctfconvert \ ctfdump \ ctfmerge \ - ${_tests} \ ${_zinject} \ ${_zlook} \ ${_zstreamdump} \ ${_ztest} -.if ${MK_TESTS} != "no" -_tests= tests -.endif +SUBDIR.${MK_TESTS}+= tests .if ${MK_ZFS} != "no" _zinject= zinject Modified: projects/krb5/cddl/usr.sbin/Makefile ============================================================================== --- projects/krb5/cddl/usr.sbin/Makefile Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/cddl/usr.sbin/Makefile Sun Aug 6 06:46:44 2017 (r322114) @@ -5,14 +5,11 @@ SUBDIR= ${_dtrace} \ ${_lockstat} \ ${_plockstat} \ - ${_tests} \ ${_zdb} \ ${_zfsd} \ ${_zhack} -.if ${MK_TESTS} != "no" -_tests= tests -.endif +SUBDIR.${MK_TESTS}+= tests .if ${MK_ZFS} != "no" .if ${MK_LIBTHR} != "no" Modified: projects/krb5/contrib/ipfilter/tools/ippool.c ============================================================================== --- projects/krb5/contrib/ipfilter/tools/ippool.c Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/ipfilter/tools/ippool.c Sun Aug 6 06:46:44 2017 (r322114) @@ -77,7 +77,7 @@ usage(prog) fprintf(stderr, "Usage:\t%s\n", prog); fprintf(stderr, "\t-a [-dnv] -m [-o ] [-t type] [-T ttl] -i [/netmask]\n"); fprintf(stderr, "\t-A [-dnv] [-m ] [-o ] [-S ] [-t ]\n"); - fprintf(stderr, "\t-f [-dnuv]\n"); + fprintf(stderr, "\t-f [-dnuvR]\n"); fprintf(stderr, "\t-F [-dv] [-o ] [-t ]\n"); fprintf(stderr, "\t-l [-dv] [-m ] [-t ] [-o ] [-M ] [-N ]\n"); fprintf(stderr, "\t-r [-dnv] [-m ] [-o ] [-t type] -i [/netmask]\n"); Modified: projects/krb5/contrib/libxo/Makefile.am ============================================================================== --- projects/krb5/contrib/libxo/Makefile.am Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/Makefile.am Sun Aug 6 06:46:44 2017 (r322114) @@ -38,7 +38,14 @@ GH_PAGES_DIR = gh-pages/ GH_PAGES_DIR_VER = gh-pages/${PACKAGE_VERSION} PACKAGE_FILE = ${PACKAGE_TARNAME}-${PACKAGE_VERSION}.tar.gz -upload: dist upload-docs +XOHTML_FILES = \ + ${top_srcdir}/xohtml/xohtml.css \ + ${top_srcdir}/xohtml/xohtml.js \ + ${top_srcdir}/xohtml/external/jquery.js \ + ${top_srcdir}/xohtml/external/jquery.qtip.css \ + ${top_srcdir}/xohtml/external/jquery.qtip.js + +upload: dist upload-docs upload-xohtml-files @echo "Remember to run:" @echo " gt tag ${PACKAGE_VERSION}" @@ -54,6 +61,18 @@ upload-docs: docs && git add libxo-manual.html \ && git commit -m 'new docs' \ libxo-manual.html ${PACKAGE_VERSION} \ + && git push origin gh-pages ) ; true + +upload-xohtml-files: + @echo "Uploading xohtml files ... " + @-[ -d ${GH_PAGES_DIR} ] \ + && echo "Updating xohtml files on gh-pages ..." \ + && mkdir -p ${GH_PAGES_DIR_VER}/xohtml \ + && cp ${XOHTML_FILES} ${GH_PAGES_DIR_VER}/xohtml \ + && (cd ${GH_PAGES_DIR} \ + && git add ${PACKAGE_VERSION}/xohtml \ + && git commit -m 'new xohtml files' \ + ${PACKAGE_VERSION}/xohtml \ && git push origin gh-pages ) ; true pkgconfigdir=$(libdir)/pkgconfig Modified: projects/krb5/contrib/libxo/configure.ac ============================================================================== --- projects/krb5/contrib/libxo/configure.ac Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/configure.ac Sun Aug 6 06:46:44 2017 (r322114) @@ -12,7 +12,7 @@ # AC_PREREQ(2.2) -AC_INIT([libxo], [0.8.1], [phil@juniper.net]) +AC_INIT([libxo], [0.8.4], [phil@juniper.net]) AM_INIT_AUTOMAKE([-Wall -Werror foreign -Wno-portability]) # Support silent build rules. Requires at least automake-1.11. Modified: projects/krb5/contrib/libxo/doc/libxo-manual.html ============================================================================== --- projects/krb5/contrib/libxo/doc/libxo-manual.html Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/doc/libxo-manual.html Sun Aug 6 06:46:44 2017 (r322114) @@ -515,7 +515,7 @@ li.indline1 { } @top-right { - content: "June 2017"; + content: "August 2017"; } @top-center { @@ -22011,7 +22011,7 @@ jQuery(function ($) { -June 14, 2017 +August 3, 2017

libxo: The Easy Way to Generate text, XML, JSON, and HTML output
libxo-manual

Modified: projects/krb5/contrib/libxo/libxo/libxo.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/libxo.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/libxo.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -311,3 +311,13 @@ to use an alternative set of low-level output function .Xr xo_set_style 3 , .Xr xo_set_writer 3 , .Xr xo_format 5 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/libxo.c ============================================================================== --- projects/krb5/contrib/libxo/libxo/libxo.c Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/libxo.c Sun Aug 6 06:46:44 2017 (r322114) @@ -137,7 +137,7 @@ static const char xo_default_format[] = "%s"; #define XO_INDENT_BY 2 /* Amount to indent when pretty printing */ #define XO_DEPTH 128 /* Default stack depth */ -#define XO_MAX_ANCHOR_WIDTH (8*1024) /* Anything wider is just sillyb */ +#define XO_MAX_ANCHOR_WIDTH (8*1024) /* Anything wider is just silly */ #define XO_FAILURE_NAME "failure" @@ -5071,16 +5071,60 @@ xo_find_width (xo_handle_t *xop, xo_field_info_t *xfip bp[vlen] = '\0'; width = strtol(bp, &cp, 0); - if (width == LONG_MIN || width == LONG_MAX - || bp == cp || *cp != '\0' ) { + if (width == LONG_MIN || width == LONG_MAX || bp == cp || *cp != '\0') { width = 0; xo_failure(xop, "invalid width for anchor: '%s'", bp); } } else if (flen) { - if (flen != 2 || strncmp("%d", fmt, flen) != 0) - xo_failure(xop, "invalid width format: '%*.*s'", flen, flen, fmt); - if (!XOF_ISSET(xop, XOF_NO_VA_ARG)) - width = va_arg(xop->xo_vap, int); + /* + * We really expect the format for width to be "{:/%d}" or + * "{:/%u}", so if that's the case, we just grab our width off + * the argument list. But we need to avoid optimized logic if + * there's a custom formatter. + */ + if (xop->xo_formatter == NULL && flen == 2 + && strncmp("%d", fmt, flen) == 0) { + if (!XOF_ISSET(xop, XOF_NO_VA_ARG)) + width = va_arg(xop->xo_vap, int); + } else if (xop->xo_formatter == NULL && flen == 2 + && strncmp("%u", fmt, flen) == 0) { + if (!XOF_ISSET(xop, XOF_NO_VA_ARG)) + width = va_arg(xop->xo_vap, unsigned); + } else { + /* + * So we have a format and it's not a simple one like + * "{:/%d}". That means we need to format the field, + * extract the value from the formatted output, and then + * discard that output. + */ + int anchor_was_set = FALSE; + xo_buffer_t *xbp = &xop->xo_data; + ssize_t start_offset = xo_buf_offset(xbp); + bp = xo_buf_cur(xbp); /* Save start of the string */ + cp = NULL; + + if (XOIF_ISSET(xop, XOIF_ANCHOR)) { + XOIF_CLEAR(xop, XOIF_ANCHOR); + anchor_was_set = TRUE; + } + + ssize_t rc = xo_do_format_field(xop, xbp, fmt, flen, 0); + if (rc >= 0) { + xo_buf_append(xbp, "", 1); /* Append a NUL */ + + width = strtol(bp, &cp, 0); + if (width == LONG_MIN || width == LONG_MAX + || bp == cp || *cp != '\0') { + width = 0; + xo_failure(xop, "invalid width for anchor: '%s'", bp); + } + } + + /* Reset the cur pointer to where we found it */ + xbp->xb_curp = xbp->xb_bufp + start_offset; + if (anchor_was_set) + XOIF_SET(xop, XOIF_ANCHOR); + } } return width; @@ -5107,9 +5151,6 @@ static void xo_anchor_start (xo_handle_t *xop, xo_field_info_t *xfip, const char *value, ssize_t vlen) { - if (xo_style(xop) != XO_STYLE_TEXT && xo_style(xop) != XO_STYLE_HTML) - return; - if (XOIF_ISSET(xop, XOIF_ANCHOR)) xo_failure(xop, "the anchor already recording is discarded"); @@ -5129,9 +5170,6 @@ static void xo_anchor_stop (xo_handle_t *xop, xo_field_info_t *xfip, const char *value, ssize_t vlen) { - if (xo_style(xop) != XO_STYLE_TEXT && xo_style(xop) != XO_STYLE_HTML) - return; - if (!XOIF_ISSET(xop, XOIF_ANCHOR)) { xo_failure(xop, "no start anchor"); return; Modified: projects/krb5/contrib/libxo/libxo/xo_attr.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_attr.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_attr.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -58,3 +58,13 @@ already emitted in other form. .Sh SEE ALSO .Xr xo_emit 3 , .Xr libxo 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/xo_create.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_create.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_create.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -65,3 +65,13 @@ resources associated with the default handle. .Xr xo_emit 3 , .Xr xo_set_options 3 , .Xr libxo 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/xo_emit.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_emit.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_emit.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -102,3 +102,13 @@ then the number of display columns consumed by the out .Xr xo_open_list 3 , .Xr xo_format 5 , .Xr libxo 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/xo_emit_err.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_emit_err.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_emit_err.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -70,3 +70,13 @@ parameter. .Xr xo_format 5 , .Xr xo_err 3 , .Xr libxo 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/xo_emit_f.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_emit_f.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_emit_f.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -109,3 +109,13 @@ for details. .Xr xo_open_list 3 , .Xr xo_format 5 , .Xr libxo 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/xo_err.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_err.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_err.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -72,3 +72,13 @@ parameter. .Xr xo_emit 3 , .Xr xo_emit_err 3 , .Xr libxo 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/xo_error.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_error.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_error.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -39,3 +39,13 @@ calls. .Xr printf 3 , .Xr xo_emit 3 , .Xr libxo 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/xo_finish.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_finish.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_finish.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -37,3 +37,13 @@ especially for the non-TEXT output styles. .Sh SEE ALSO .Xr xo_emit 3 , .Xr libxo 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/xo_flush.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_flush.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_flush.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -33,3 +33,13 @@ function is used for this. .Sh SEE ALSO .Xr xo_emit 3 , .Xr libxo 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/xo_format.5 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_format.5 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_format.5 Sun Aug 6 06:46:44 2017 (r322114) @@ -965,3 +965,13 @@ names to make that difference more obvious. .Xr libxo 3 , .Xr xolint 1 , .Xr xo_emit 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/xo_message.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_message.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_message.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -66,3 +66,13 @@ and .Sh SEE ALSO .Xr xo_emit 3 , .Xr libxo 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/xo_no_setlocale.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_no_setlocale.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_no_setlocale.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -41,3 +41,13 @@ function. .Xr xo_open_list 3 , .Xr xo_format 5 , .Xr libxo 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/xo_open_container.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_open_container.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_open_container.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -186,3 +186,13 @@ and the name recorded do not match. .Sh SEE ALSO .Xr xo_emit 3 , .Xr libxo 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/xo_open_list.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_open_list.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_open_list.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -156,3 +156,13 @@ are rendered as multiple leaf elements. .Sh SEE ALSO .Xr xo_emit 3 , .Xr libxo 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/xo_open_marker.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_open_marker.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_open_marker.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -103,3 +103,13 @@ properly. .Sh SEE ALSO .Xr xo_emit 3 , .Xr libxo 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/xo_options.7 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_options.7 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_options.7 Sun Aug 6 06:46:44 2017 (r322114) @@ -145,3 +145,12 @@ The following are three example invocations of .Sh SEE ALSO .Xr libxo 3 , .Xr xo_format 5 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . Modified: projects/krb5/contrib/libxo/libxo/xo_parse_args.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_parse_args.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_parse_args.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -150,3 +150,13 @@ must be maintained by the caller. .Sh SEE ALSO .Xr xo_emit 3 , .Xr libxo 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/xo_set_allocator.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_set_allocator.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_set_allocator.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -52,3 +52,13 @@ functions are used. .Sh SEE ALSO .Xr xo_emit 3 , .Xr libxo 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/xo_set_flags.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_set_flags.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_set_flags.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -137,3 +137,13 @@ handle. .Sh SEE ALSO .Xr xo_emit 3 , .Xr libxo 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/xo_set_info.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_set_info.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_set_info.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -100,3 +100,13 @@ and "data-help" attributes: .Sh SEE ALSO .Xr xo_emit 3 , .Xr libxo 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/xo_set_options.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_set_options.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_set_options.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -29,3 +29,13 @@ The options are identical to those listed in .Sh SEE ALSO .Xr xo_emit 3 , .Xr libxo 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/xo_set_style.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_set_style.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_set_style.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -51,3 +51,13 @@ The name can be any of the styles: "text", "xml", "jso .Sh SEE ALSO .Xr xo_emit 3 , .Xr libxo 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/xo_set_syslog_enterprise_id.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_set_syslog_enterprise_id.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_set_syslog_enterprise_id.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -34,3 +34,13 @@ https://www.iana.org/assignments/enterprise-numbers/en .Sh SEE ALSO .Xr xo_syslog 3 , .Xr libxo 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/xo_set_version.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_set_version.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_set_version.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -32,3 +32,13 @@ is in use. .Sh SEE ALSO .Xr xo_emit 3 , .Xr libxo 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . + Modified: projects/krb5/contrib/libxo/libxo/xo_set_writer.3 ============================================================================== --- projects/krb5/contrib/libxo/libxo/xo_set_writer.3 Sun Aug 6 06:35:40 2017 (r322113) +++ projects/krb5/contrib/libxo/libxo/xo_set_writer.3 Sun Aug 6 06:46:44 2017 (r322114) @@ -54,3 +54,13 @@ flush any pending data associated with the opaque poin .Sh SEE ALSO .Xr xo_emit 3 , .Xr libxo 3 +.Sh HISTORY +The +.Nm libxo +library first appeared in +.Fx 11.0 . +.Sh AUTHORS +.Nm libxo +was written by +.An Phil Shafer Aq Mt phil@freebsd.org . *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Sun Aug 6 22:09:31 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D18D7DCD140 for ; Sun, 6 Aug 2017 22:09:31 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A8BCA703FB; Sun, 6 Aug 2017 22:09:31 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v76M9Uut034414; Sun, 6 Aug 2017 22:09:30 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v76M9U0D034411; Sun, 6 Aug 2017 22:09:30 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201708062209.v76M9U0D034411@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Sun, 6 Aug 2017 22:09:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322125 - in projects/pnfs-planb-server-stable11/sys/fs: nfs nfsserver X-SVN-Group: projects X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in projects/pnfs-planb-server-stable11/sys/fs: nfs nfsserver X-SVN-Commit-Revision: 322125 X-SVN-Commit-Repository: base 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.23 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: Sun, 06 Aug 2017 22:09:31 -0000 Author: rmacklem Date: Sun Aug 6 22:09:30 2017 New Revision: 322125 URL: https://svnweb.freebsd.org/changeset/base/322125 Log: Add some code for Flex Files layout. No semantic change. Modified: projects/pnfs-planb-server-stable11/sys/fs/nfs/nfsproto.h projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdserv.c projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c Modified: projects/pnfs-planb-server-stable11/sys/fs/nfs/nfsproto.h ============================================================================== --- projects/pnfs-planb-server-stable11/sys/fs/nfs/nfsproto.h Sun Aug 6 21:54:43 2017 (r322124) +++ projects/pnfs-planb-server-stable11/sys/fs/nfs/nfsproto.h Sun Aug 6 22:09:30 2017 (r322125) @@ -261,7 +261,9 @@ #define NFSX_V4PNFSFH (sizeof(fhandle_t) + 1) #define NFSX_V4FILELAYOUT (4 * NFSX_UNSIGNED + NFSX_V4DEVICEID + \ NFSX_HYPER + NFSM_RNDUP(NFSX_V4PNFSFH)) -#define NFSX_V4MAXLAYOUT NFSX_V4FILELAYOUT +#define NFSX_V4FLEXLAYOUT(m) (NFSX_HYPER + 3 * NFSX_UNSIGNED + \ + ((m) * (NFSX_V4DEVICEID + NFSX_STATEID + NFSM_RNDUP(NFSX_V4PNFSFH) + \ + 6 * NFSX_UNSIGNED))) /* sizes common to multiple NFS versions */ #define NFSX_FHMAX (NFSX_V4FHMAX) @@ -641,6 +643,7 @@ #define NFSLAYOUT_NFSV4_1_FILES 0x1 #define NFSLAYOUT_OSD2_OBJECTS 0x2 #define NFSLAYOUT_BLOCK_VOLUME 0x3 +#define NFSLAYOUT_FLEXFILE 0x4 #define NFSLAYOUTIOMODE_READ 1 #define NFSLAYOUTIOMODE_RW 2 Modified: projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdserv.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdserv.c Sun Aug 6 21:54:43 2017 (r322124) +++ projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdserv.c Sun Aug 6 22:09:30 2017 (r322125) @@ -60,6 +60,7 @@ extern struct nfsdevicehead nfsrv_devidhead; extern int nfsd_debuglevel; extern u_long sb_max_adj; extern int nfsrv_pnfsatime; +extern int nfsrv_maxpnfsmirror; #endif /* !APPLEKEXT */ static int nfs_async = 0; @@ -4325,7 +4326,7 @@ nfsrvd_layoutget(struct nfsrv_descript *nd, __unused i nfsv4stateid_t stateid; int error = 0, layoutlen, layouttype, iomode, maxcnt, retonclose; uint64_t offset, len, minlen; - char *layp = NULL; + char *layp; if (nfs_rootfhset == 0 || nfsd_checkrootexp(nd) != 0) { nd->nd_repstat = NFSERR_WRONGSEC; @@ -4368,13 +4369,18 @@ nfsrvd_layoutget(struct nfsrv_descript *nd, __unused i } } + layp = NULL; if (layouttype == NFSLAYOUT_NFSV4_1_FILES) layp = malloc(NFSX_V4FILELAYOUT, M_TEMP, M_WAITOK); + else if (layouttype == NFSLAYOUT_FLEXFILE) + layp = malloc(NFSX_V4FLEXLAYOUT(nfsrv_maxpnfsmirror), M_TEMP, + M_WAITOK); else - layp = malloc(NFSX_V4MAXLAYOUT, M_TEMP, M_WAITOK); - nd->nd_repstat = nfsrv_layoutget(nd, vp, exp, layouttype, &iomode, - &offset, &len, minlen, &stateid, maxcnt, &retonclose, &layoutlen, - layp, nd->nd_cred, p); + nd->nd_repstat = NFSERR_UNKNLAYOUTTYPE; + if (layp != NULL) + nd->nd_repstat = nfsrv_layoutget(nd, vp, exp, layouttype, + &iomode, &offset, &len, minlen, &stateid, maxcnt, + &retonclose, &layoutlen, layp, nd->nd_cred, p); NFSD_DEBUG(4, "nfsrv_layoutget stat=%u layoutlen=%d\n", nd->nd_repstat, layoutlen); if (nd->nd_repstat == 0) { Modified: projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c Sun Aug 6 21:54:43 2017 (r322124) +++ projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c Sun Aug 6 22:09:30 2017 (r322125) @@ -36,6 +36,7 @@ int nfsrv_issuedelegs = 0; int nfsrv_dolocallocks = 0; struct nfsv4lock nfsv4rootfs_lock; time_t nfsdev_time = 0; +int nfsrv_maxpnfsmirror = 1; extern int newnfs_numnfsd; extern struct nfsstatsv1 nfsstatsv1; From owner-svn-src-projects@freebsd.org Sun Aug 6 22:14:55 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7A2DDDCD631 for ; Sun, 6 Aug 2017 22:14:55 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 53FFA708C0; Sun, 6 Aug 2017 22:14:55 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v76MEsQD038169; Sun, 6 Aug 2017 22:14:54 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v76MEs7M038166; Sun, 6 Aug 2017 22:14:54 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201708062214.v76MEs7M038166@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Sun, 6 Aug 2017 22:14:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322126 - in projects/pnfs-planb-server/sys/fs: nfs nfsserver X-SVN-Group: projects X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in projects/pnfs-planb-server/sys/fs: nfs nfsserver X-SVN-Commit-Revision: 322126 X-SVN-Commit-Repository: base 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.23 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: Sun, 06 Aug 2017 22:14:55 -0000 Author: rmacklem Date: Sun Aug 6 22:14:54 2017 New Revision: 322126 URL: https://svnweb.freebsd.org/changeset/base/322126 Log: Add some code for Flex Files layout. No semantic change. Modified: projects/pnfs-planb-server/sys/fs/nfs/nfsproto.h projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdserv.c projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c Modified: projects/pnfs-planb-server/sys/fs/nfs/nfsproto.h ============================================================================== --- projects/pnfs-planb-server/sys/fs/nfs/nfsproto.h Sun Aug 6 22:09:30 2017 (r322125) +++ projects/pnfs-planb-server/sys/fs/nfs/nfsproto.h Sun Aug 6 22:14:54 2017 (r322126) @@ -58,7 +58,7 @@ #define NFS_MAXNAMLEN 255 /* * Calculating the maximum XDR overhead for an NFS RPC isn't easy. - * NFS_MAXPKTHDR is antiquated and assume AUTH_SYS over UDP. + * NFS_MAXPKTHDR is antiquated and assumes AUTH_SYS over UDP. * NFS_MAXXDR should be sufficient for all NFS versions over TCP. * It includes: * - Maximum RPC message header. It can include 2 400byte authenticators plus @@ -261,7 +261,9 @@ #define NFSX_V4PNFSFH (sizeof(fhandle_t) + 1) #define NFSX_V4FILELAYOUT (4 * NFSX_UNSIGNED + NFSX_V4DEVICEID + \ NFSX_HYPER + NFSM_RNDUP(NFSX_V4PNFSFH)) -#define NFSX_V4MAXLAYOUT NFSX_V4FILELAYOUT +#define NFSX_V4FLEXLAYOUT(m) (NFSX_HYPER + 3 * NFSX_UNSIGNED + \ + ((m) * (NFSX_V4DEVICEID + NFSX_STATEID + NFSM_RNDUP(NFSX_V4PNFSFH) + \ + 6 * NFSX_UNSIGNED))) /* sizes common to multiple NFS versions */ #define NFSX_FHMAX (NFSX_V4FHMAX) @@ -641,6 +643,7 @@ #define NFSLAYOUT_NFSV4_1_FILES 0x1 #define NFSLAYOUT_OSD2_OBJECTS 0x2 #define NFSLAYOUT_BLOCK_VOLUME 0x3 +#define NFSLAYOUT_FLEXFILE 0x4 #define NFSLAYOUTIOMODE_READ 1 #define NFSLAYOUTIOMODE_RW 2 Modified: projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdserv.c ============================================================================== --- projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdserv.c Sun Aug 6 22:09:30 2017 (r322125) +++ projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdserv.c Sun Aug 6 22:14:54 2017 (r322126) @@ -60,6 +60,7 @@ extern struct nfsdevicehead nfsrv_devidhead; extern int nfsd_debuglevel; extern u_long sb_max_adj; extern int nfsrv_pnfsatime; +extern int nfsrv_maxpnfsmirror; #endif /* !APPLEKEXT */ static int nfs_async = 0; @@ -4325,7 +4326,7 @@ nfsrvd_layoutget(struct nfsrv_descript *nd, __unused i nfsv4stateid_t stateid; int error = 0, layoutlen, layouttype, iomode, maxcnt, retonclose; uint64_t offset, len, minlen; - char *layp = NULL; + char *layp; if (nfs_rootfhset == 0 || nfsd_checkrootexp(nd) != 0) { nd->nd_repstat = NFSERR_WRONGSEC; @@ -4368,13 +4369,18 @@ nfsrvd_layoutget(struct nfsrv_descript *nd, __unused i } } + layp = NULL; if (layouttype == NFSLAYOUT_NFSV4_1_FILES) layp = malloc(NFSX_V4FILELAYOUT, M_TEMP, M_WAITOK); + else if (layouttype == NFSLAYOUT_FLEXFILE) + layp = malloc(NFSX_V4FLEXLAYOUT(nfsrv_maxpnfsmirror), M_TEMP, + M_WAITOK); else - layp = malloc(NFSX_V4MAXLAYOUT, M_TEMP, M_WAITOK); - nd->nd_repstat = nfsrv_layoutget(nd, vp, exp, layouttype, &iomode, - &offset, &len, minlen, &stateid, maxcnt, &retonclose, &layoutlen, - layp, nd->nd_cred, p); + nd->nd_repstat = NFSERR_UNKNLAYOUTTYPE; + if (layp != NULL) + nd->nd_repstat = nfsrv_layoutget(nd, vp, exp, layouttype, + &iomode, &offset, &len, minlen, &stateid, maxcnt, + &retonclose, &layoutlen, layp, nd->nd_cred, p); NFSD_DEBUG(4, "nfsrv_layoutget stat=%u layoutlen=%d\n", nd->nd_repstat, layoutlen); if (nd->nd_repstat == 0) { Modified: projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c ============================================================================== --- projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c Sun Aug 6 22:09:30 2017 (r322125) +++ projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c Sun Aug 6 22:14:54 2017 (r322126) @@ -36,6 +36,7 @@ int nfsrv_issuedelegs = 0; int nfsrv_dolocallocks = 0; struct nfsv4lock nfsv4rootfs_lock; time_t nfsdev_time = 0; +int nfsrv_maxpnfsmirror = 1; extern int newnfs_numnfsd; extern struct nfsstatsv1 nfsstatsv1; From owner-svn-src-projects@freebsd.org Mon Aug 7 00:59:49 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B3B3FDD4566 for ; Mon, 7 Aug 2017 00:59:49 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7DB8E746F0; Mon, 7 Aug 2017 00:59:49 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v770xmM3002366; Mon, 7 Aug 2017 00:59:48 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v770xmQx002362; Mon, 7 Aug 2017 00:59:48 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201708070059.v770xmQx002362@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Mon, 7 Aug 2017 00:59:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322127 - in projects/pnfs-planb-server-stable11/sys/fs: nfs nfsserver X-SVN-Group: projects X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in projects/pnfs-planb-server-stable11/sys/fs: nfs nfsserver X-SVN-Commit-Revision: 322127 X-SVN-Commit-Repository: base 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.23 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: Mon, 07 Aug 2017 00:59:49 -0000 Author: rmacklem Date: Mon Aug 7 00:59:47 2017 New Revision: 322127 URL: https://svnweb.freebsd.org/changeset/base/322127 Log: Add some code for Flex Files layout. No semantic change. Modified: projects/pnfs-planb-server-stable11/sys/fs/nfs/nfs_var.h projects/pnfs-planb-server-stable11/sys/fs/nfs/nfsproto.h projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdport.c projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c Modified: projects/pnfs-planb-server-stable11/sys/fs/nfs/nfs_var.h ============================================================================== --- projects/pnfs-planb-server-stable11/sys/fs/nfs/nfs_var.h Sun Aug 6 22:14:54 2017 (r322126) +++ projects/pnfs-planb-server-stable11/sys/fs/nfs/nfs_var.h Mon Aug 7 00:59:47 2017 (r322127) @@ -686,7 +686,8 @@ int nfsvno_testexp(struct nfsrv_descript *, struct nfs uint32_t nfsrv_hashfh(fhandle_t *); uint32_t nfsrv_hashsessionid(uint8_t *); void nfsrv_backupstable(void); -int nfsrv_dsgetdevandfh(struct vnode *, NFSPROC_T *, fhandle_t *, char *); +int nfsrv_dsgetdevandfh(struct vnode *, NFSPROC_T *, int *, fhandle_t *, + char *); int nfsrv_updatemdsattr(struct vnode *, struct nfsvattr *, NFSPROC_T *); int nfsrv_dssetacl(struct vnode *, struct acl *, struct ucred *, NFSPROC_T *); Modified: projects/pnfs-planb-server-stable11/sys/fs/nfs/nfsproto.h ============================================================================== --- projects/pnfs-planb-server-stable11/sys/fs/nfs/nfsproto.h Sun Aug 6 22:14:54 2017 (r322126) +++ projects/pnfs-planb-server-stable11/sys/fs/nfs/nfsproto.h Mon Aug 7 00:59:47 2017 (r322127) @@ -658,6 +658,12 @@ #define NFSFLAYUTIL_COMMIT_THRU_MDS 0x2 #define NFSFLAYUTIL_STRIPE_MASK 0xffffffc0 +/* Flags for Flex File Layout. */ +#define NFSFLEXFLAG_NO_LAYOUTCOMMIT 0x00000001 +#define NFSFLEXFLAG_NOIO_MDS 0x00000002 +#define NFSFLEXFLAG_NO_READIO 0x00000004 +#define NFSFLEXFLAG_WRITE_ONEMIRROR 0x00000008 + #if defined(_KERNEL) || defined(KERNEL) /* Conversion macros */ #define vtonfsv2_mode(t,m) \ Modified: projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdport.c Sun Aug 6 22:14:54 2017 (r322126) +++ projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdport.c Mon Aug 7 00:59:47 2017 (r322127) @@ -4478,7 +4478,8 @@ nfsrv_getattrdsrpc(fhandle_t *fhp, struct ucred *cred, * Get the device id and file handle for a DS file. */ int -nfsrv_dsgetdevandfh(struct vnode *vp, NFSPROC_T *p, fhandle_t *fhp, char *devid) +nfsrv_dsgetdevandfh(struct vnode *vp, NFSPROC_T *p, int *mirrorcntp, + fhandle_t *fhp, char *devid) { int buflen, error; char *buf; @@ -4487,6 +4488,7 @@ nfsrv_dsgetdevandfh(struct vnode *vp, NFSPROC_T *p, fh buf = malloc(buflen, M_TEMP, M_WAITOK); error = nfsrv_dsgetsockmnt(vp, 0, buf, buflen, p, NULL, NULL, fhp, devid, NULL); + *mirrorcntp = 1; free(buf, M_TEMP); return (error); } Modified: projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c Sun Aug 6 22:14:54 2017 (r322126) +++ projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c Mon Aug 7 00:59:47 2017 (r322127) @@ -195,6 +195,10 @@ static void nfsrv_freealldevids(void); static int nfsrv_findlayout(struct nfsrv_descript *nd, fhandle_t *fhp, int laytype, NFSPROC_T *, struct nfslayout **lypp); static int nfsrv_fndclid(nfsquad_t *clidvec, nfsquad_t clid, int clidcnt); +static struct nfslayout *nfsrv_filelayout(struct nfsrv_descript *nd, int iomode, + fhandle_t *fhp, fhandle_t *dsfhp, char *devid); +static struct nfslayout *nfsrv_flexlayout(struct nfsrv_descript *nd, int iomode, + int mirrorcnt, fhandle_t *fhp, fhandle_t *dsfhp, char *devid); /* * Scan the client list for a match and either return the current one, @@ -6208,13 +6212,11 @@ nfsrv_layoutget(struct nfsrv_descript *nd, vnode_t vp, uint64_t minlen, nfsv4stateid_t *stateidp, int maxcnt, int *retonclose, int *layoutlenp, char *layp, struct ucred *cred, NFSPROC_T *p) { - uint32_t *tl; struct nfslayouthash *lhyp; struct nfslayout *lyp; - char devid[NFSX_V4DEVICEID]; - fhandle_t fh, dsfh; - uint64_t pattern_offset; - int error; + char *devid; + fhandle_t fh, *dsfhp; + int error, mirrorcnt; if (layouttype != NFSLAYOUT_NFSV4_1_FILES) return (NFSERR_UNKNLAYOUTTYPE); @@ -6283,19 +6285,55 @@ nfsrv_layoutget(struct nfsrv_descript *nd, vnode_t vp, NFSUNLOCKLAYOUT(lhyp); /* Find the device id and file handle. */ - error = nfsrv_dsgetdevandfh(vp, p, &dsfh, devid); + dsfhp = malloc(sizeof(fhandle_t) * nfsrv_maxpnfsmirror, M_TEMP, + M_WAITOK); + devid = malloc(NFSX_V4DEVICEID * nfsrv_maxpnfsmirror, M_TEMP, M_WAITOK); + error = nfsrv_dsgetdevandfh(vp, p, &mirrorcnt, dsfhp, devid); NFSD_DEBUG(4, "layoutget devandfh=%d\n", error); + if (error == 0) { + if (layouttype == NFSLAYOUT_NFSV4_1_FILES) + lyp = nfsrv_filelayout(nd, *iomode, &fh, dsfhp, devid); + else + lyp = nfsrv_flexlayout(nd, *iomode, mirrorcnt, &fh, + dsfhp, devid); + } + free(dsfhp, M_TEMP); + free(devid, M_TEMP); if (error != 0) return (error); + /* + * Now, add this layout to the list. + */ + error = nfsrv_addlayout(nd, &lyp, stateidp, layp, layoutlenp, p); + NFSD_DEBUG(4, "layoutget addl=%d\n", error); + /* + * The lyp will be set to NULL by nfsrv_addlayout() if it + * linked the new structure into the lists. + */ + free(lyp, M_NFSDSTATE); + return (error); +} + +/* + * Generate a File Layout. + */ +static struct nfslayout * +nfsrv_filelayout(struct nfsrv_descript *nd, int iomode, fhandle_t *fhp, + fhandle_t *dsfhp, char *devid) +{ + uint32_t *tl; + struct nfslayout *lyp; + uint64_t pattern_offset; + lyp = malloc(sizeof(struct nfslayout) + NFSX_V4FILELAYOUT, M_NFSDSTATE, M_WAITOK | M_ZERO); - lyp->lay_type = layouttype; - if (*iomode == NFSLAYOUTIOMODE_RW) + lyp->lay_type = NFSLAYOUT_NFSV4_1_FILES; + if (iomode == NFSLAYOUTIOMODE_RW) lyp->lay_rw = 1; else lyp->lay_read = 1; - NFSBCOPY(&fh, &lyp->lay_fh, sizeof(fh)); + NFSBCOPY(fhp, &lyp->lay_fh, sizeof(*fhp)); lyp->lay_clientid.qval = nd->nd_clientid.qval; /* Fill in the xdr for the files layout. */ @@ -6316,20 +6354,60 @@ nfsrv_layoutget(struct nfsrv_descript *nd, vnode_t vp, txdr_hyper(pattern_offset, tl); tl += 2; /* Pattern offset. */ *tl++ = txdr_unsigned(1); /* 1 file handle. */ *tl++ = txdr_unsigned(NFSX_V4PNFSFH); - NFSBCOPY(&dsfh, tl, sizeof(dsfh)); + NFSBCOPY(dsfhp, tl, sizeof(*dsfhp)); lyp->lay_layoutlen = NFSX_V4FILELAYOUT; + return (lyp); +} - /* - * Now, add this layout to the list. - */ - error = nfsrv_addlayout(nd, &lyp, stateidp, layp, layoutlenp, p); - NFSD_DEBUG(4, "layoutget addl=%d\n", error); - /* - * The lyp will be set to NULL by nfsrv_addlayout() if it - * linked the new structure into the lists. - */ - free(lyp, M_NFSDSTATE); - return (error); +/* + * Generate a Flex File Layout. + */ +static struct nfslayout * +nfsrv_flexlayout(struct nfsrv_descript *nd, int iomode, int mirrorcnt, + fhandle_t *fhp, fhandle_t *dsfhp, char *devid) +{ + uint32_t *tl; + struct nfslayout *lyp; + uint64_t lenval; + int i; + + lyp = malloc(sizeof(struct nfslayout) + NFSX_V4FLEXLAYOUT(mirrorcnt), + M_NFSDSTATE, M_WAITOK | M_ZERO); + lyp->lay_type = NFSLAYOUT_FLEXFILE; + if (iomode == NFSLAYOUTIOMODE_RW) + lyp->lay_rw = 1; + else + lyp->lay_read = 1; + NFSBCOPY(fhp, &lyp->lay_fh, sizeof(*fhp)); + lyp->lay_clientid.qval = nd->nd_clientid.qval; + + /* Fill in the xdr for the files layout. */ + tl = (uint32_t *)lyp->lay_xdr; + lenval = 0; + txdr_hyper(lenval, tl); tl += 2; /* Stripe unit. */ + *tl++ = txdr_unsigned(mirrorcnt); /* # of mirrors. */ + for (i = 0; i < mirrorcnt; i++) { + *tl++ = txdr_unsigned(1); /* One stripe. */ + NFSBCOPY(devid, tl, NFSX_V4DEVICEID); /* Device ID. */ + tl += (NFSX_V4DEVICEID / NFSX_UNSIGNED); + devid += NFSX_V4DEVICEID; + *tl++ = txdr_unsigned(1); /* Efficiency. */ + *tl++ = 0xffffffff; /* Proxy Stateid. */ + *tl++ = 0x55555555; + *tl++ = 0x55555555; + *tl++ = 0x55555555; + *tl++ = txdr_unsigned(1); /* 1 file handle. */ + *tl++ = txdr_unsigned(NFSX_V4PNFSFH); + NFSBCOPY(dsfhp, tl, sizeof(*dsfhp)); + tl += (NFSM_RNDUP(NFSX_V4PNFSFH) / NFSX_UNSIGNED); + dsfhp++; + *tl++ = 0; /* Nil Owner. */ + *tl++ = 0; /* Nil Owner_group. */ + } + *tl++ = txdr_unsigned(NFSFLEXFLAG_NOIO_MDS); /* ff_flags. */ + *tl = txdr_unsigned(60); /* Status interval hint. */ + lyp->lay_layoutlen = NFSX_V4FLEXLAYOUT(mirrorcnt); + return (lyp); } /* From owner-svn-src-projects@freebsd.org Mon Aug 7 01:09:34 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D9AC5DD4DA5 for ; Mon, 7 Aug 2017 01:09:34 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B601D74CF7; Mon, 7 Aug 2017 01:09:34 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v7719XBC006485; Mon, 7 Aug 2017 01:09:33 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v7719XhF006481; Mon, 7 Aug 2017 01:09:33 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201708070109.v7719XhF006481@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Mon, 7 Aug 2017 01:09:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322128 - in projects/pnfs-planb-server/sys/fs: nfs nfsserver X-SVN-Group: projects X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in projects/pnfs-planb-server/sys/fs: nfs nfsserver X-SVN-Commit-Revision: 322128 X-SVN-Commit-Repository: base 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.23 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: Mon, 07 Aug 2017 01:09:34 -0000 Author: rmacklem Date: Mon Aug 7 01:09:33 2017 New Revision: 322128 URL: https://svnweb.freebsd.org/changeset/base/322128 Log: Add some code for Flex Files layout. No semantic change. Modified: projects/pnfs-planb-server/sys/fs/nfs/nfs_var.h projects/pnfs-planb-server/sys/fs/nfs/nfsproto.h projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdport.c projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c Modified: projects/pnfs-planb-server/sys/fs/nfs/nfs_var.h ============================================================================== --- projects/pnfs-planb-server/sys/fs/nfs/nfs_var.h Mon Aug 7 00:59:47 2017 (r322127) +++ projects/pnfs-planb-server/sys/fs/nfs/nfs_var.h Mon Aug 7 01:09:33 2017 (r322128) @@ -686,7 +686,8 @@ int nfsvno_testexp(struct nfsrv_descript *, struct nfs uint32_t nfsrv_hashfh(fhandle_t *); uint32_t nfsrv_hashsessionid(uint8_t *); void nfsrv_backupstable(void); -int nfsrv_dsgetdevandfh(struct vnode *, NFSPROC_T *, fhandle_t *, char *); +int nfsrv_dsgetdevandfh(struct vnode *, NFSPROC_T *, int *, fhandle_t *, + char *); int nfsrv_updatemdsattr(struct vnode *, struct nfsvattr *, NFSPROC_T *); int nfsrv_dssetacl(struct vnode *, struct acl *, struct ucred *, NFSPROC_T *); Modified: projects/pnfs-planb-server/sys/fs/nfs/nfsproto.h ============================================================================== --- projects/pnfs-planb-server/sys/fs/nfs/nfsproto.h Mon Aug 7 00:59:47 2017 (r322127) +++ projects/pnfs-planb-server/sys/fs/nfs/nfsproto.h Mon Aug 7 01:09:33 2017 (r322128) @@ -658,6 +658,12 @@ #define NFSFLAYUTIL_COMMIT_THRU_MDS 0x2 #define NFSFLAYUTIL_STRIPE_MASK 0xffffffc0 +/* Flags for Flex File Layout. */ +#define NFSFLEXFLAG_NO_LAYOUTCOMMIT 0x00000001 +#define NFSFLEXFLAG_NOIO_MDS 0x00000002 +#define NFSFLEXFLAG_NO_READIO 0x00000004 +#define NFSFLEXFLAG_WRITE_ONEMIRROR 0x00000008 + #if defined(_KERNEL) || defined(KERNEL) /* Conversion macros */ #define vtonfsv2_mode(t,m) \ Modified: projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdport.c Mon Aug 7 00:59:47 2017 (r322127) +++ projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdport.c Mon Aug 7 01:09:33 2017 (r322128) @@ -4495,7 +4495,8 @@ nfsrv_getattrdsrpc(fhandle_t *fhp, struct ucred *cred, * Get the device id and file handle for a DS file. */ int -nfsrv_dsgetdevandfh(struct vnode *vp, NFSPROC_T *p, fhandle_t *fhp, char *devid) +nfsrv_dsgetdevandfh(struct vnode *vp, NFSPROC_T *p, int *mirrorcntp, + fhandle_t *fhp, char *devid) { int buflen, error; char *buf; @@ -4504,6 +4505,7 @@ nfsrv_dsgetdevandfh(struct vnode *vp, NFSPROC_T *p, fh buf = malloc(buflen, M_TEMP, M_WAITOK); error = nfsrv_dsgetsockmnt(vp, 0, buf, buflen, p, NULL, NULL, fhp, devid, NULL); + *mirrorcntp = 1; free(buf, M_TEMP); return (error); } Modified: projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c ============================================================================== --- projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c Mon Aug 7 00:59:47 2017 (r322127) +++ projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c Mon Aug 7 01:09:33 2017 (r322128) @@ -195,6 +195,10 @@ static void nfsrv_freealldevids(void); static int nfsrv_findlayout(struct nfsrv_descript *nd, fhandle_t *fhp, int laytype, NFSPROC_T *, struct nfslayout **lypp); static int nfsrv_fndclid(nfsquad_t *clidvec, nfsquad_t clid, int clidcnt); +static struct nfslayout *nfsrv_filelayout(struct nfsrv_descript *nd, int iomode, + fhandle_t *fhp, fhandle_t *dsfhp, char *devid); +static struct nfslayout *nfsrv_flexlayout(struct nfsrv_descript *nd, int iomode, + int mirrorcnt, fhandle_t *fhp, fhandle_t *dsfhp, char *devid); /* * Scan the client list for a match and either return the current one, @@ -6208,13 +6212,11 @@ nfsrv_layoutget(struct nfsrv_descript *nd, vnode_t vp, uint64_t minlen, nfsv4stateid_t *stateidp, int maxcnt, int *retonclose, int *layoutlenp, char *layp, struct ucred *cred, NFSPROC_T *p) { - uint32_t *tl; struct nfslayouthash *lhyp; struct nfslayout *lyp; - char devid[NFSX_V4DEVICEID]; - fhandle_t fh, dsfh; - uint64_t pattern_offset; - int error; + char *devid; + fhandle_t fh, *dsfhp; + int error, mirrorcnt; if (layouttype != NFSLAYOUT_NFSV4_1_FILES) return (NFSERR_UNKNLAYOUTTYPE); @@ -6283,19 +6285,55 @@ nfsrv_layoutget(struct nfsrv_descript *nd, vnode_t vp, NFSUNLOCKLAYOUT(lhyp); /* Find the device id and file handle. */ - error = nfsrv_dsgetdevandfh(vp, p, &dsfh, devid); + dsfhp = malloc(sizeof(fhandle_t) * nfsrv_maxpnfsmirror, M_TEMP, + M_WAITOK); + devid = malloc(NFSX_V4DEVICEID * nfsrv_maxpnfsmirror, M_TEMP, M_WAITOK); + error = nfsrv_dsgetdevandfh(vp, p, &mirrorcnt, dsfhp, devid); NFSD_DEBUG(4, "layoutget devandfh=%d\n", error); + if (error == 0) { + if (layouttype == NFSLAYOUT_NFSV4_1_FILES) + lyp = nfsrv_filelayout(nd, *iomode, &fh, dsfhp, devid); + else + lyp = nfsrv_flexlayout(nd, *iomode, mirrorcnt, &fh, + dsfhp, devid); + } + free(dsfhp, M_TEMP); + free(devid, M_TEMP); if (error != 0) return (error); + /* + * Now, add this layout to the list. + */ + error = nfsrv_addlayout(nd, &lyp, stateidp, layp, layoutlenp, p); + NFSD_DEBUG(4, "layoutget addl=%d\n", error); + /* + * The lyp will be set to NULL by nfsrv_addlayout() if it + * linked the new structure into the lists. + */ + free(lyp, M_NFSDSTATE); + return (error); +} + +/* + * Generate a File Layout. + */ +static struct nfslayout * +nfsrv_filelayout(struct nfsrv_descript *nd, int iomode, fhandle_t *fhp, + fhandle_t *dsfhp, char *devid) +{ + uint32_t *tl; + struct nfslayout *lyp; + uint64_t pattern_offset; + lyp = malloc(sizeof(struct nfslayout) + NFSX_V4FILELAYOUT, M_NFSDSTATE, M_WAITOK | M_ZERO); - lyp->lay_type = layouttype; - if (*iomode == NFSLAYOUTIOMODE_RW) + lyp->lay_type = NFSLAYOUT_NFSV4_1_FILES; + if (iomode == NFSLAYOUTIOMODE_RW) lyp->lay_rw = 1; else lyp->lay_read = 1; - NFSBCOPY(&fh, &lyp->lay_fh, sizeof(fh)); + NFSBCOPY(fhp, &lyp->lay_fh, sizeof(*fhp)); lyp->lay_clientid.qval = nd->nd_clientid.qval; /* Fill in the xdr for the files layout. */ @@ -6316,20 +6354,60 @@ nfsrv_layoutget(struct nfsrv_descript *nd, vnode_t vp, txdr_hyper(pattern_offset, tl); tl += 2; /* Pattern offset. */ *tl++ = txdr_unsigned(1); /* 1 file handle. */ *tl++ = txdr_unsigned(NFSX_V4PNFSFH); - NFSBCOPY(&dsfh, tl, sizeof(dsfh)); + NFSBCOPY(dsfhp, tl, sizeof(*dsfhp)); lyp->lay_layoutlen = NFSX_V4FILELAYOUT; + return (lyp); +} - /* - * Now, add this layout to the list. - */ - error = nfsrv_addlayout(nd, &lyp, stateidp, layp, layoutlenp, p); - NFSD_DEBUG(4, "layoutget addl=%d\n", error); - /* - * The lyp will be set to NULL by nfsrv_addlayout() if it - * linked the new structure into the lists. - */ - free(lyp, M_NFSDSTATE); - return (error); +/* + * Generate a Flex File Layout. + */ +static struct nfslayout * +nfsrv_flexlayout(struct nfsrv_descript *nd, int iomode, int mirrorcnt, + fhandle_t *fhp, fhandle_t *dsfhp, char *devid) +{ + uint32_t *tl; + struct nfslayout *lyp; + uint64_t lenval; + int i; + + lyp = malloc(sizeof(struct nfslayout) + NFSX_V4FLEXLAYOUT(mirrorcnt), + M_NFSDSTATE, M_WAITOK | M_ZERO); + lyp->lay_type = NFSLAYOUT_FLEXFILE; + if (iomode == NFSLAYOUTIOMODE_RW) + lyp->lay_rw = 1; + else + lyp->lay_read = 1; + NFSBCOPY(fhp, &lyp->lay_fh, sizeof(*fhp)); + lyp->lay_clientid.qval = nd->nd_clientid.qval; + + /* Fill in the xdr for the files layout. */ + tl = (uint32_t *)lyp->lay_xdr; + lenval = 0; + txdr_hyper(lenval, tl); tl += 2; /* Stripe unit. */ + *tl++ = txdr_unsigned(mirrorcnt); /* # of mirrors. */ + for (i = 0; i < mirrorcnt; i++) { + *tl++ = txdr_unsigned(1); /* One stripe. */ + NFSBCOPY(devid, tl, NFSX_V4DEVICEID); /* Device ID. */ + tl += (NFSX_V4DEVICEID / NFSX_UNSIGNED); + devid += NFSX_V4DEVICEID; + *tl++ = txdr_unsigned(1); /* Efficiency. */ + *tl++ = 0xffffffff; /* Proxy Stateid. */ + *tl++ = 0x55555555; + *tl++ = 0x55555555; + *tl++ = 0x55555555; + *tl++ = txdr_unsigned(1); /* 1 file handle. */ + *tl++ = txdr_unsigned(NFSX_V4PNFSFH); + NFSBCOPY(dsfhp, tl, sizeof(*dsfhp)); + tl += (NFSM_RNDUP(NFSX_V4PNFSFH) / NFSX_UNSIGNED); + dsfhp++; + *tl++ = 0; /* Nil Owner. */ + *tl++ = 0; /* Nil Owner_group. */ + } + *tl++ = txdr_unsigned(NFSFLEXFLAG_NOIO_MDS); /* ff_flags. */ + *tl = txdr_unsigned(60); /* Status interval hint. */ + lyp->lay_layoutlen = NFSX_V4FLEXLAYOUT(mirrorcnt); + return (lyp); } /* From owner-svn-src-projects@freebsd.org Mon Aug 7 19:52:17 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 57E90DC508B for ; Mon, 7 Aug 2017 19:52:17 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2EEB680AB6; Mon, 7 Aug 2017 19:52:17 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v77JqGNa068806; Mon, 7 Aug 2017 19:52:16 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v77JqGKC068804; Mon, 7 Aug 2017 19:52:16 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201708071952.v77JqGKC068804@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Mon, 7 Aug 2017 19:52:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322194 - in projects/pnfs-planb-server-stable11/sys/fs: nfs nfsserver X-SVN-Group: projects X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in projects/pnfs-planb-server-stable11/sys/fs: nfs nfsserver X-SVN-Commit-Revision: 322194 X-SVN-Commit-Repository: base 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.23 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: Mon, 07 Aug 2017 19:52:17 -0000 Author: rmacklem Date: Mon Aug 7 19:52:15 2017 New Revision: 322194 URL: https://svnweb.freebsd.org/changeset/base/322194 Log: Add some code for Flex Files layout. No semantic change. Modified: projects/pnfs-planb-server-stable11/sys/fs/nfs/nfsrvstate.h projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c Modified: projects/pnfs-planb-server-stable11/sys/fs/nfs/nfsrvstate.h ============================================================================== --- projects/pnfs-planb-server-stable11/sys/fs/nfs/nfsrvstate.h Mon Aug 7 19:45:33 2017 (r322193) +++ projects/pnfs-planb-server-stable11/sys/fs/nfs/nfsrvstate.h Mon Aug 7 19:52:15 2017 (r322194) @@ -336,7 +336,9 @@ struct nfsdevice { char nfsdev_deviceid[NFSX_V4DEVICEID]; uint16_t nfsdev_hostnamelen; uint16_t nfsdev_fileaddrlen; + uint16_t nfsdev_flexaddrlen; char *nfsdev_fileaddr; + char *nfsdev_flexaddr; char *nfsdev_host; uint32_t nfsdev_nextdir; vnode_t nfsdev_dsdir[0]; Modified: projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c Mon Aug 7 19:45:33 2017 (r322193) +++ projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c Mon Aug 7 19:52:15 2017 (r322194) @@ -6608,25 +6608,29 @@ nfsrv_getdevinfo(char *devid, int layouttype, uint32_t return (NFSERR_NOENT); /* If the correct nfsdev_XXXXaddrlen is > 0, we have the device info. */ - if (layouttype == NFSLAYOUT_NFSV4_1_FILES && - ds->nfsdev_fileaddrlen > 0) { - /* - * The XDR overhead is 3 unsigned values: layout_type, - * length_of_address and notify bitmap. - * If the notify array is changed to not all zeros, the - * count of unsigned values must be increased. - */ - if (*maxcnt > 0 && *maxcnt < - NFSM_RNDUP(ds->nfsdev_fileaddrlen) + 3 * NFSX_UNSIGNED) { - *maxcnt = NFSM_RNDUP(ds->nfsdev_fileaddrlen) + - 3 * NFSX_UNSIGNED; - return (NFSERR_TOOSMALL); - } + *devaddrlen = 0; + if (layouttype == NFSLAYOUT_NFSV4_1_FILES) { *devaddrlen = ds->nfsdev_fileaddrlen; *devaddr = ds->nfsdev_fileaddr; - } else + } else if (layouttype == NFSLAYOUT_FLEXFILE) { + *devaddrlen = ds->nfsdev_flexaddrlen; + *devaddr = ds->nfsdev_flexaddr; + } + if (*devaddrlen == 0) return (NFSERR_UNKNLAYOUTTYPE); + /* + * The XDR overhead is 3 unsigned values: layout_type, + * length_of_address and notify bitmap. + * If the notify array is changed to not all zeros, the + * count of unsigned values must be increased. + */ + if (*maxcnt > 0 && *maxcnt < NFSM_RNDUP(*devaddrlen) + + 3 * NFSX_UNSIGNED) { + *maxcnt = NFSM_RNDUP(*devaddrlen) + 3 * NFSX_UNSIGNED; + return (NFSERR_TOOSMALL); + } + /* No notifies for now. */ for (i = 0; i < NFSV4_NOTIFYBITMAP; i++) *notify++ = 0; @@ -6682,6 +6686,7 @@ nfsrv_freedevid(struct nfsdevice *ds) if (ds->nfsdev_dsdir[i] != NULL) vrele(ds->nfsdev_dsdir[i]); free(ds->nfsdev_fileaddr, M_NFSDSTATE); + free(ds->nfsdev_flexaddr, M_NFSDSTATE); free(ds->nfsdev_host, M_NFSDSTATE); free(ds, M_NFSDSTATE); } @@ -6845,6 +6850,31 @@ nfsrv_allocdevid(struct nfsdevice *ds, char *addr, cha tl += (NFSM_RNDUP(strlen(netprot)) / NFSX_UNSIGNED); *tl++ = txdr_unsigned(strlen(addr)); NFSBCOPY(addr, tl, strlen(addr)); + + /* + * Fill in the flex file addr (actually the ff_device_addr4 + * as defined for Flexible File Layout) in XDR. + */ + addrlen = NFSM_RNDUP(strlen(addr)) + NFSM_RNDUP(strlen(netprot)) + + 10 * NFSX_UNSIGNED; + ds->nfsdev_flexaddrlen = addrlen; + tl = malloc(addrlen, M_NFSDSTATE, M_WAITOK | M_ZERO); + ds->nfsdev_flexaddr = (char *)tl; + *tl++ = txdr_unsigned(1); /* One multipath list */ + *tl++ = txdr_unsigned(1); /* with one entry in it. */ + /* The netaddr for this one entry. */ + *tl++ = txdr_unsigned(strlen(netprot)); + NFSBCOPY(netprot, tl, strlen(netprot)); + tl += (NFSM_RNDUP(strlen(netprot)) / NFSX_UNSIGNED); + *tl++ = txdr_unsigned(strlen(addr)); + NFSBCOPY(addr, tl, strlen(addr)); + tl += (NFSM_RNDUP(strlen(addr)) / NFSX_UNSIGNED); + *tl++ = txdr_unsigned(1); /* One NFS Version. */ + *tl++ = txdr_unsigned(NFS_VER4); /* NFSv4. */ + *tl++ = txdr_unsigned(NFSV41_MINORVERSION); /* Minor version 1. */ + *tl++ = txdr_unsigned(NFS_SRVMAXIO); /* DS max rsize. */ + *tl++ = txdr_unsigned(NFS_SRVMAXIO); /* DS max wsize. */ + *tl = newnfs_true; /* Tightly coupled. */ ds->nfsdev_hostnamelen = strlen(dnshost); ds->nfsdev_host = malloc(ds->nfsdev_hostnamelen, M_NFSDSTATE, From owner-svn-src-projects@freebsd.org Mon Aug 7 19:56:10 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BBC2CDC52C2 for ; Mon, 7 Aug 2017 19:56:10 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 940B580C37; Mon, 7 Aug 2017 19:56:10 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v77Ju9xU068999; Mon, 7 Aug 2017 19:56:09 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v77Ju9gl068997; Mon, 7 Aug 2017 19:56:09 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201708071956.v77Ju9gl068997@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Mon, 7 Aug 2017 19:56:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322195 - in projects/pnfs-planb-server/sys/fs: nfs nfsserver X-SVN-Group: projects X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in projects/pnfs-planb-server/sys/fs: nfs nfsserver X-SVN-Commit-Revision: 322195 X-SVN-Commit-Repository: base 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.23 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: Mon, 07 Aug 2017 19:56:10 -0000 Author: rmacklem Date: Mon Aug 7 19:56:09 2017 New Revision: 322195 URL: https://svnweb.freebsd.org/changeset/base/322195 Log: Add some code for Flex Files layout. No semantic change. Modified: projects/pnfs-planb-server/sys/fs/nfs/nfsrvstate.h projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c Modified: projects/pnfs-planb-server/sys/fs/nfs/nfsrvstate.h ============================================================================== --- projects/pnfs-planb-server/sys/fs/nfs/nfsrvstate.h Mon Aug 7 19:52:15 2017 (r322194) +++ projects/pnfs-planb-server/sys/fs/nfs/nfsrvstate.h Mon Aug 7 19:56:09 2017 (r322195) @@ -336,7 +336,9 @@ struct nfsdevice { char nfsdev_deviceid[NFSX_V4DEVICEID]; uint16_t nfsdev_hostnamelen; uint16_t nfsdev_fileaddrlen; + uint16_t nfsdev_flexaddrlen; char *nfsdev_fileaddr; + char *nfsdev_flexaddr; char *nfsdev_host; uint32_t nfsdev_nextdir; vnode_t nfsdev_dsdir[0]; Modified: projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c ============================================================================== --- projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c Mon Aug 7 19:52:15 2017 (r322194) +++ projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c Mon Aug 7 19:56:09 2017 (r322195) @@ -6608,25 +6608,29 @@ nfsrv_getdevinfo(char *devid, int layouttype, uint32_t return (NFSERR_NOENT); /* If the correct nfsdev_XXXXaddrlen is > 0, we have the device info. */ - if (layouttype == NFSLAYOUT_NFSV4_1_FILES && - ds->nfsdev_fileaddrlen > 0) { - /* - * The XDR overhead is 3 unsigned values: layout_type, - * length_of_address and notify bitmap. - * If the notify array is changed to not all zeros, the - * count of unsigned values must be increased. - */ - if (*maxcnt > 0 && *maxcnt < - NFSM_RNDUP(ds->nfsdev_fileaddrlen) + 3 * NFSX_UNSIGNED) { - *maxcnt = NFSM_RNDUP(ds->nfsdev_fileaddrlen) + - 3 * NFSX_UNSIGNED; - return (NFSERR_TOOSMALL); - } + *devaddrlen = 0; + if (layouttype == NFSLAYOUT_NFSV4_1_FILES) { *devaddrlen = ds->nfsdev_fileaddrlen; *devaddr = ds->nfsdev_fileaddr; - } else + } else if (layouttype == NFSLAYOUT_FLEXFILE) { + *devaddrlen = ds->nfsdev_flexaddrlen; + *devaddr = ds->nfsdev_flexaddr; + } + if (*devaddrlen == 0) return (NFSERR_UNKNLAYOUTTYPE); + /* + * The XDR overhead is 3 unsigned values: layout_type, + * length_of_address and notify bitmap. + * If the notify array is changed to not all zeros, the + * count of unsigned values must be increased. + */ + if (*maxcnt > 0 && *maxcnt < NFSM_RNDUP(*devaddrlen) + + 3 * NFSX_UNSIGNED) { + *maxcnt = NFSM_RNDUP(*devaddrlen) + 3 * NFSX_UNSIGNED; + return (NFSERR_TOOSMALL); + } + /* No notifies for now. */ for (i = 0; i < NFSV4_NOTIFYBITMAP; i++) *notify++ = 0; @@ -6682,6 +6686,7 @@ nfsrv_freedevid(struct nfsdevice *ds) if (ds->nfsdev_dsdir[i] != NULL) vrele(ds->nfsdev_dsdir[i]); free(ds->nfsdev_fileaddr, M_NFSDSTATE); + free(ds->nfsdev_flexaddr, M_NFSDSTATE); free(ds->nfsdev_host, M_NFSDSTATE); free(ds, M_NFSDSTATE); } @@ -6845,6 +6850,31 @@ nfsrv_allocdevid(struct nfsdevice *ds, char *addr, cha tl += (NFSM_RNDUP(strlen(netprot)) / NFSX_UNSIGNED); *tl++ = txdr_unsigned(strlen(addr)); NFSBCOPY(addr, tl, strlen(addr)); + + /* + * Fill in the flex file addr (actually the ff_device_addr4 + * as defined for Flexible File Layout) in XDR. + */ + addrlen = NFSM_RNDUP(strlen(addr)) + NFSM_RNDUP(strlen(netprot)) + + 10 * NFSX_UNSIGNED; + ds->nfsdev_flexaddrlen = addrlen; + tl = malloc(addrlen, M_NFSDSTATE, M_WAITOK | M_ZERO); + ds->nfsdev_flexaddr = (char *)tl; + *tl++ = txdr_unsigned(1); /* One multipath list */ + *tl++ = txdr_unsigned(1); /* with one entry in it. */ + /* The netaddr for this one entry. */ + *tl++ = txdr_unsigned(strlen(netprot)); + NFSBCOPY(netprot, tl, strlen(netprot)); + tl += (NFSM_RNDUP(strlen(netprot)) / NFSX_UNSIGNED); + *tl++ = txdr_unsigned(strlen(addr)); + NFSBCOPY(addr, tl, strlen(addr)); + tl += (NFSM_RNDUP(strlen(addr)) / NFSX_UNSIGNED); + *tl++ = txdr_unsigned(1); /* One NFS Version. */ + *tl++ = txdr_unsigned(NFS_VER4); /* NFSv4. */ + *tl++ = txdr_unsigned(NFSV41_MINORVERSION); /* Minor version 1. */ + *tl++ = txdr_unsigned(NFS_SRVMAXIO); /* DS max rsize. */ + *tl++ = txdr_unsigned(NFS_SRVMAXIO); /* DS max wsize. */ + *tl = newnfs_true; /* Tightly coupled. */ ds->nfsdev_hostnamelen = strlen(dnshost); ds->nfsdev_host = malloc(ds->nfsdev_hostnamelen, M_NFSDSTATE, From owner-svn-src-projects@freebsd.org Mon Aug 7 23:23:29 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1D85EDCFB7A for ; Mon, 7 Aug 2017 23:23:29 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E75123E39; Mon, 7 Aug 2017 23:23:28 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v77NNR6A054554; Mon, 7 Aug 2017 23:23:27 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v77NNR8W054551; Mon, 7 Aug 2017 23:23:27 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201708072323.v77NNR8W054551@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Mon, 7 Aug 2017 23:23:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322207 - in projects/pnfs-planb-server-stable11/sys/fs: nfs nfsserver X-SVN-Group: projects X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in projects/pnfs-planb-server-stable11/sys/fs: nfs nfsserver X-SVN-Commit-Revision: 322207 X-SVN-Commit-Repository: base 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.23 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: Mon, 07 Aug 2017 23:23:29 -0000 Author: rmacklem Date: Mon Aug 7 23:23:27 2017 New Revision: 322207 URL: https://svnweb.freebsd.org/changeset/base/322207 Log: Add some code for Flex Files layout. No semantic change. Modified: projects/pnfs-planb-server-stable11/sys/fs/nfs/nfs_commonsubs.c projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdserv.c projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c Modified: projects/pnfs-planb-server-stable11/sys/fs/nfs/nfs_commonsubs.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/fs/nfs/nfs_commonsubs.c Mon Aug 7 22:42:46 2017 (r322206) +++ projects/pnfs-planb-server-stable11/sys/fs/nfs/nfs_commonsubs.c Mon Aug 7 23:23:27 2017 (r322207) @@ -68,6 +68,7 @@ gid_t nfsrv_defaultgid = GID_NOGROUP; int nfsrv_lease = NFSRV_LEASE; int ncl_mbuf_mlen = MLEN; int nfsd_enable_stringtouid = 0; +int nfsrv_doflexfile = 0; static int nfs_enable_uidtostring = 0; NFSNAMEIDMUTEX; NFSSOCKMUTEX; @@ -1802,13 +1803,16 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, attrsum += NFSX_UNSIGNED; i = fxdr_unsigned(int, *tl); if (i > 0) { + if (nfsrv_doflexfile != 0) + m = NFSLAYOUT_FLEXFILE; + else + m = NFSLAYOUT_NFSV4_1_FILES; NFSM_DISSECT(tl, u_int32_t *, i * NFSX_UNSIGNED); attrsum += i * NFSX_UNSIGNED; for (j = 0; j < i; j++) { k = fxdr_unsigned(int, *tl++); - if (compare && !(*retcmpp) && - k != NFSLAYOUT_NFSV4_1_FILES) + if (compare && !(*retcmpp) && k != m) *retcmpp = NFSERR_NOTSAME; } } @@ -2587,7 +2591,11 @@ nfsv4_fillattr(struct nfsrv_descript *nd, struct mount if (siz == 2) { NFSM_BUILD(tl, u_int32_t *, 2 * NFSX_UNSIGNED); *tl++ = txdr_unsigned(1); /* One entry. */ - *tl = txdr_unsigned(NFSLAYOUT_NFSV4_1_FILES); + if (nfsrv_doflexfile != 0) + *tl = txdr_unsigned(NFSLAYOUT_FLEXFILE); + else + *tl = txdr_unsigned( + NFSLAYOUT_NFSV4_1_FILES); } else { NFSM_BUILD(tl, u_int32_t *, NFSX_UNSIGNED); *tl = 0; Modified: projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdserv.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdserv.c Mon Aug 7 22:42:46 2017 (r322206) +++ projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdserv.c Mon Aug 7 23:23:27 2017 (r322207) @@ -67,6 +67,9 @@ static int nfs_async = 0; SYSCTL_DECL(_vfs_nfsd); SYSCTL_INT(_vfs_nfsd, OID_AUTO, async, CTLFLAG_RW, &nfs_async, 0, "Tell client that writes were synced even though they were not"); +extern int nfsrv_doflexfile; +SYSCTL_INT(_vfs_nfsd, OID_AUTO, enable_flexfile, CTLFLAG_RW, + &nfsrv_doflexfile, 0, "Enable generation of Flex File Layouts for pNFS"); /* * This list defines the GSS mechanisms supported. @@ -4370,9 +4373,9 @@ nfsrvd_layoutget(struct nfsrv_descript *nd, __unused i } layp = NULL; - if (layouttype == NFSLAYOUT_NFSV4_1_FILES) + if (layouttype == NFSLAYOUT_NFSV4_1_FILES && nfsrv_doflexfile == 0) layp = malloc(NFSX_V4FILELAYOUT, M_TEMP, M_WAITOK); - else if (layouttype == NFSLAYOUT_FLEXFILE) + else if (layouttype == NFSLAYOUT_FLEXFILE && nfsrv_doflexfile != 0) layp = malloc(NFSX_V4FLEXLAYOUT(nfsrv_maxpnfsmirror), M_TEMP, M_WAITOK); else Modified: projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c Mon Aug 7 22:42:46 2017 (r322206) +++ projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c Mon Aug 7 23:23:27 2017 (r322207) @@ -6218,10 +6218,6 @@ nfsrv_layoutget(struct nfsrv_descript *nd, vnode_t vp, fhandle_t fh, *dsfhp; int error, mirrorcnt; - if (layouttype != NFSLAYOUT_NFSV4_1_FILES) - return (NFSERR_UNKNLAYOUTTYPE); - if (maxcnt < NFSX_V4FILELAYOUT) - return (NFSERR_TOOSMALL); NFSDDSLOCK(); if (TAILQ_EMPTY(&nfsrv_devidhead)) { NFSDDSUNLOCK(); @@ -6269,6 +6265,11 @@ nfsrv_layoutget(struct nfsrv_descript *nd, vnode_t vp, NFSD_DEBUG(1, "ret bad stateid\n"); return (NFSERR_BADSTATEID); } + if (lyp->lay_layoutlen > maxcnt) { + NFSUNLOCKLAYOUT(lhyp); + NFSD_DEBUG(1, "ret layout too small\n"); + return (NFSERR_TOOSMALL); + } if (*iomode == NFSLAYOUTIOMODE_RW) lyp->lay_rw = 1; else @@ -6291,11 +6292,19 @@ nfsrv_layoutget(struct nfsrv_descript *nd, vnode_t vp, error = nfsrv_dsgetdevandfh(vp, p, &mirrorcnt, dsfhp, devid); NFSD_DEBUG(4, "layoutget devandfh=%d\n", error); if (error == 0) { - if (layouttype == NFSLAYOUT_NFSV4_1_FILES) - lyp = nfsrv_filelayout(nd, *iomode, &fh, dsfhp, devid); - else - lyp = nfsrv_flexlayout(nd, *iomode, mirrorcnt, &fh, - dsfhp, devid); + if (layouttype == NFSLAYOUT_NFSV4_1_FILES) { + if (NFSX_V4FILELAYOUT > maxcnt) + error = NFSERR_TOOSMALL; + else + lyp = nfsrv_filelayout(nd, *iomode, &fh, dsfhp, + devid); + } else { + if (NFSX_V4FLEXLAYOUT(mirrorcnt) > maxcnt) + error = NFSERR_TOOSMALL; + else + lyp = nfsrv_flexlayout(nd, *iomode, mirrorcnt, + &fh, dsfhp, devid); + } } free(dsfhp, M_TEMP); free(devid, M_TEMP); From owner-svn-src-projects@freebsd.org Mon Aug 7 23:32:01 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BDB5CDD0218 for ; Mon, 7 Aug 2017 23:32:01 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 994EC634AE; Mon, 7 Aug 2017 23:32:01 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v77NW0rr056285; Mon, 7 Aug 2017 23:32:00 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v77NW0MF056282; Mon, 7 Aug 2017 23:32:00 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201708072332.v77NW0MF056282@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Mon, 7 Aug 2017 23:32:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322208 - in projects/pnfs-planb-server/sys/fs: nfs nfsserver X-SVN-Group: projects X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in projects/pnfs-planb-server/sys/fs: nfs nfsserver X-SVN-Commit-Revision: 322208 X-SVN-Commit-Repository: base 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.23 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: Mon, 07 Aug 2017 23:32:01 -0000 Author: rmacklem Date: Mon Aug 7 23:32:00 2017 New Revision: 322208 URL: https://svnweb.freebsd.org/changeset/base/322208 Log: Add some code for Flex Files layout. No semantic change. Configures the pNFS server to only do one layout type, which is required by Linux. Modified: projects/pnfs-planb-server/sys/fs/nfs/nfs_commonsubs.c projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdserv.c projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c Modified: projects/pnfs-planb-server/sys/fs/nfs/nfs_commonsubs.c ============================================================================== --- projects/pnfs-planb-server/sys/fs/nfs/nfs_commonsubs.c Mon Aug 7 23:23:27 2017 (r322207) +++ projects/pnfs-planb-server/sys/fs/nfs/nfs_commonsubs.c Mon Aug 7 23:32:00 2017 (r322208) @@ -68,6 +68,7 @@ gid_t nfsrv_defaultgid = GID_NOGROUP; int nfsrv_lease = NFSRV_LEASE; int ncl_mbuf_mlen = MLEN; int nfsd_enable_stringtouid = 0; +int nfsrv_doflexfile = 0; static int nfs_enable_uidtostring = 0; NFSNAMEIDMUTEX; NFSSOCKMUTEX; @@ -1775,13 +1776,16 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, attrsum += NFSX_UNSIGNED; i = fxdr_unsigned(int, *tl); if (i > 0) { + if (nfsrv_doflexfile != 0) + m = NFSLAYOUT_FLEXFILE; + else + m = NFSLAYOUT_NFSV4_1_FILES; NFSM_DISSECT(tl, u_int32_t *, i * NFSX_UNSIGNED); attrsum += i * NFSX_UNSIGNED; for (j = 0; j < i; j++) { k = fxdr_unsigned(int, *tl++); - if (compare && !(*retcmpp) && - k != NFSLAYOUT_NFSV4_1_FILES) + if (compare && !(*retcmpp) && k != m) *retcmpp = NFSERR_NOTSAME; } } @@ -2560,7 +2564,11 @@ nfsv4_fillattr(struct nfsrv_descript *nd, struct mount if (siz == 2) { NFSM_BUILD(tl, u_int32_t *, 2 * NFSX_UNSIGNED); *tl++ = txdr_unsigned(1); /* One entry. */ - *tl = txdr_unsigned(NFSLAYOUT_NFSV4_1_FILES); + if (nfsrv_doflexfile != 0) + *tl = txdr_unsigned(NFSLAYOUT_FLEXFILE); + else + *tl = txdr_unsigned( + NFSLAYOUT_NFSV4_1_FILES); } else { NFSM_BUILD(tl, u_int32_t *, NFSX_UNSIGNED); *tl = 0; Modified: projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdserv.c ============================================================================== --- projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdserv.c Mon Aug 7 23:23:27 2017 (r322207) +++ projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdserv.c Mon Aug 7 23:32:00 2017 (r322208) @@ -67,6 +67,9 @@ static int nfs_async = 0; SYSCTL_DECL(_vfs_nfsd); SYSCTL_INT(_vfs_nfsd, OID_AUTO, async, CTLFLAG_RW, &nfs_async, 0, "Tell client that writes were synced even though they were not"); +extern int nfsrv_doflexfile; +SYSCTL_INT(_vfs_nfsd, OID_AUTO, enable_flexfile, CTLFLAG_RW, + &nfsrv_doflexfile, 0, "Enable generation of Flex File Layouts for pNFS"); /* * This list defines the GSS mechanisms supported. @@ -4370,9 +4373,9 @@ nfsrvd_layoutget(struct nfsrv_descript *nd, __unused i } layp = NULL; - if (layouttype == NFSLAYOUT_NFSV4_1_FILES) + if (layouttype == NFSLAYOUT_NFSV4_1_FILES && nfsrv_doflexfile == 0) layp = malloc(NFSX_V4FILELAYOUT, M_TEMP, M_WAITOK); - else if (layouttype == NFSLAYOUT_FLEXFILE) + else if (layouttype == NFSLAYOUT_FLEXFILE && nfsrv_doflexfile != 0) layp = malloc(NFSX_V4FLEXLAYOUT(nfsrv_maxpnfsmirror), M_TEMP, M_WAITOK); else Modified: projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c ============================================================================== --- projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c Mon Aug 7 23:23:27 2017 (r322207) +++ projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c Mon Aug 7 23:32:00 2017 (r322208) @@ -6218,10 +6218,6 @@ nfsrv_layoutget(struct nfsrv_descript *nd, vnode_t vp, fhandle_t fh, *dsfhp; int error, mirrorcnt; - if (layouttype != NFSLAYOUT_NFSV4_1_FILES) - return (NFSERR_UNKNLAYOUTTYPE); - if (maxcnt < NFSX_V4FILELAYOUT) - return (NFSERR_TOOSMALL); NFSDDSLOCK(); if (TAILQ_EMPTY(&nfsrv_devidhead)) { NFSDDSUNLOCK(); @@ -6269,6 +6265,11 @@ nfsrv_layoutget(struct nfsrv_descript *nd, vnode_t vp, NFSD_DEBUG(1, "ret bad stateid\n"); return (NFSERR_BADSTATEID); } + if (lyp->lay_layoutlen > maxcnt) { + NFSUNLOCKLAYOUT(lhyp); + NFSD_DEBUG(1, "ret layout too small\n"); + return (NFSERR_TOOSMALL); + } if (*iomode == NFSLAYOUTIOMODE_RW) lyp->lay_rw = 1; else @@ -6291,11 +6292,19 @@ nfsrv_layoutget(struct nfsrv_descript *nd, vnode_t vp, error = nfsrv_dsgetdevandfh(vp, p, &mirrorcnt, dsfhp, devid); NFSD_DEBUG(4, "layoutget devandfh=%d\n", error); if (error == 0) { - if (layouttype == NFSLAYOUT_NFSV4_1_FILES) - lyp = nfsrv_filelayout(nd, *iomode, &fh, dsfhp, devid); - else - lyp = nfsrv_flexlayout(nd, *iomode, mirrorcnt, &fh, - dsfhp, devid); + if (layouttype == NFSLAYOUT_NFSV4_1_FILES) { + if (NFSX_V4FILELAYOUT > maxcnt) + error = NFSERR_TOOSMALL; + else + lyp = nfsrv_filelayout(nd, *iomode, &fh, dsfhp, + devid); + } else { + if (NFSX_V4FLEXLAYOUT(mirrorcnt) > maxcnt) + error = NFSERR_TOOSMALL; + else + lyp = nfsrv_flexlayout(nd, *iomode, mirrorcnt, + &fh, dsfhp, devid); + } } free(dsfhp, M_TEMP); free(devid, M_TEMP); From owner-svn-src-projects@freebsd.org Tue Aug 8 17:01:45 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7C96EDC38FC for ; Tue, 8 Aug 2017 17:01:45 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 46C8D6A8DE; Tue, 8 Aug 2017 17:01:45 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v78H1imw087369; Tue, 8 Aug 2017 17:01:44 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v78H1ikJ087368; Tue, 8 Aug 2017 17:01:44 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201708081701.v78H1ikJ087368@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Tue, 8 Aug 2017 17:01:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322268 - projects/zfsd/head/share/man/man7 X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: projects/zfsd/head/share/man/man7 X-SVN-Commit-Revision: 322268 X-SVN-Commit-Repository: base 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.23 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: Tue, 08 Aug 2017 17:01:45 -0000 Author: asomers Date: Tue Aug 8 17:01:44 2017 New Revision: 322268 URL: https://svnweb.freebsd.org/changeset/base/322268 Log: Mention keep_pools in tests(7) Sponsored by: Spectra Logic Corp Modified: projects/zfsd/head/share/man/man7/tests.7 Modified: projects/zfsd/head/share/man/man7/tests.7 ============================================================================== --- projects/zfsd/head/share/man/man7/tests.7 Tue Aug 8 16:53:52 2017 (r322267) +++ projects/zfsd/head/share/man/man7/tests.7 Tue Aug 8 17:01:44 2017 (r322268) @@ -187,6 +187,11 @@ Tests are not required to preserve any data present on Must be set to a space delimited list of FIBs (routing tables). Tests that need to modify a routing table may use any of these. Tests will cleanup any new routes that they create. +.It keep_pools +Must be set to a space delimited list of +.Xr zfs 8 +pools that the tests should not modify. No test may modify any of these pools, +other than by writing temporary files in the usual locations. .El .Ss What to do if something fails? If there is From owner-svn-src-projects@freebsd.org Tue Aug 8 17:26:20 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 82249DC4E21 for ; Tue, 8 Aug 2017 17:26:20 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4EACC6B5B9; Tue, 8 Aug 2017 17:26:20 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v78HQJvH019023; Tue, 8 Aug 2017 17:26:19 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v78HQJjF019021; Tue, 8 Aug 2017 17:26:19 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201708081726.v78HQJjF019021@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Tue, 8 Aug 2017 17:26:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322269 - in projects/zfsd/head: libexec/atf libexec/atf/atf-ksh93 share/mk X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: in projects/zfsd/head: libexec/atf libexec/atf/atf-ksh93 share/mk X-SVN-Commit-Revision: 322269 X-SVN-Commit-Repository: base 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.23 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: Tue, 08 Aug 2017 17:26:20 -0000 Author: asomers Date: Tue Aug 8 17:26:19 2017 New Revision: 322269 URL: https://svnweb.freebsd.org/changeset/base/322269 Log: Remove atf-ksh93 in favor of atf-sh -s/usr/local/bin/ksh93. Shebangs are allowed to be passed arguments, and since atf-sh already accepts a -s argument to run the test using a different shell, just use that instead. This eliminates the need for the hackish atf-ksh93. Submitted by: will Sponsored by: Spectra Logic Corp Deleted: projects/zfsd/head/libexec/atf/atf-ksh93/ Modified: projects/zfsd/head/libexec/atf/Makefile projects/zfsd/head/share/mk/atf.test.mk Modified: projects/zfsd/head/libexec/atf/Makefile ============================================================================== --- projects/zfsd/head/libexec/atf/Makefile Tue Aug 8 17:01:44 2017 (r322268) +++ projects/zfsd/head/libexec/atf/Makefile Tue Aug 8 17:26:19 2017 (r322269) @@ -25,6 +25,6 @@ # # $FreeBSD$ -SUBDIR= atf-check atf-ksh93 atf-sh tests +SUBDIR= atf-check atf-sh tests .include Modified: projects/zfsd/head/share/mk/atf.test.mk ============================================================================== --- projects/zfsd/head/share/mk/atf.test.mk Tue Aug 8 17:01:44 2017 (r322268) +++ projects/zfsd/head/share/mk/atf.test.mk Tue Aug 8 17:26:19 2017 (r322269) @@ -95,7 +95,7 @@ CLEANFILES+= ${_T} ${_T}.tmp ATF_TESTS_KSH93_SED_${_T}?= # empty ATF_TESTS_KSH93_SRC_${_T}?= ${_T}.sh ${_T}: ${ATF_TESTS_KSH93_SRC_${_T}} - echo '#! /usr/libexec/atf-ksh93' > ${.TARGET}.tmp + echo '#! /usr/libexec/atf-sh -s/usr/local/bin/ksh93' > ${.TARGET}.tmp .if empty(ATF_TESTS_KSH93_SED_${_T}) cat ${.ALLSRC:N*Makefile*} >>${.TARGET}.tmp .else From owner-svn-src-projects@freebsd.org Tue Aug 8 23:44:48 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BF7B0DD8250 for ; Tue, 8 Aug 2017 23:44:48 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 913057CDAF; Tue, 8 Aug 2017 23:44:48 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v78Nilqx076406; Tue, 8 Aug 2017 23:44:47 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v78NilSq076401; Tue, 8 Aug 2017 23:44:47 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201708082344.v78NilSq076401@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Tue, 8 Aug 2017 23:44:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322283 - in projects/pnfs-planb-server-stable11: sys/fs/nfs sys/fs/nfsserver usr.sbin/nfsd X-SVN-Group: projects X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in projects/pnfs-planb-server-stable11: sys/fs/nfs sys/fs/nfsserver usr.sbin/nfsd X-SVN-Commit-Revision: 322283 X-SVN-Commit-Repository: base 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.23 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: Tue, 08 Aug 2017 23:44:48 -0000 Author: rmacklem Date: Tue Aug 8 23:44:47 2017 New Revision: 322283 URL: https://svnweb.freebsd.org/changeset/base/322283 Log: Add support for mirrors to the private API that nfsd(8) uses to configure the pNFS server. Mirrors are nowhere near being supported, but by doing this now, it won't be necessary to rev. this private API later. Modified: projects/pnfs-planb-server-stable11/sys/fs/nfs/nfs.h projects/pnfs-planb-server-stable11/sys/fs/nfs/nfsrvstate.h projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdport.c projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c projects/pnfs-planb-server-stable11/usr.sbin/nfsd/nfsd.c Modified: projects/pnfs-planb-server-stable11/sys/fs/nfs/nfs.h ============================================================================== --- projects/pnfs-planb-server-stable11/sys/fs/nfs/nfs.h Tue Aug 8 22:58:34 2017 (r322282) +++ projects/pnfs-planb-server-stable11/sys/fs/nfs/nfs.h Tue Aug 8 23:44:47 2017 (r322283) @@ -183,7 +183,10 @@ struct nfsd_nfsd_args { int dnshostlen; /* Length of DNS names */ char *dspath; /* DS Mount path on MDS */ int dspathlen; /* Length of DS Mount path on MDS */ + char *mirror; /* DS with same mirrorindex are mirrors */ + int mirrorlen; /* Length of the mirrorindex array */ }; +#define NFSDEV_MIRRORSTR 3 /* Old version. */ struct nfsd_nfsd_oargs { Modified: projects/pnfs-planb-server-stable11/sys/fs/nfs/nfsrvstate.h ============================================================================== --- projects/pnfs-planb-server-stable11/sys/fs/nfs/nfsrvstate.h Tue Aug 8 22:58:34 2017 (r322282) +++ projects/pnfs-planb-server-stable11/sys/fs/nfs/nfsrvstate.h Tue Aug 8 23:44:47 2017 (r322283) @@ -47,6 +47,7 @@ LIST_HEAD(nfssessionhead, nfsdsession); LIST_HEAD(nfssessionhashhead, nfsdsession); LIST_HEAD(nfslayouthead, nfslayout); SLIST_HEAD(nfsdsdirhead, nfsdsdir); +TAILQ_HEAD(nfsdevicehead, nfsdevice); /* * List head for nfsusrgrp. @@ -331,9 +332,11 @@ void nfsrv_freedeleglist(struct nfsstatehead *); */ struct nfsdevice { TAILQ_ENTRY(nfsdevice) nfsdev_list; + struct nfsdevicehead nfsdev_mirrors; vnode_t nfsdev_dvp; struct nfsmount *nfsdev_nmp; char nfsdev_deviceid[NFSX_V4DEVICEID]; + char nfsdev_mirrorid[NFSDEV_MIRRORSTR + 1]; uint16_t nfsdev_hostnamelen; uint16_t nfsdev_fileaddrlen; uint16_t nfsdev_flexaddrlen; @@ -343,7 +346,6 @@ struct nfsdevice { uint32_t nfsdev_nextdir; vnode_t nfsdev_dsdir[0]; }; -TAILQ_HEAD(nfsdevicehead, nfsdevice); /* * This structure holds the va_size, va_filerev, va_atime and va_mtime for the Modified: projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdport.c Tue Aug 8 22:58:34 2017 (r322282) +++ projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdport.c Tue Aug 8 23:44:47 2017 (r322283) @@ -3292,6 +3292,8 @@ nfssvc_nfsd(struct thread *td, struct nfssvc_args *uap nfsdarg.addrlen = 0; nfsdarg.dnshost = NULL; nfsdarg.dnshostlen = 0; + nfsdarg.mirror = NULL; + nfsdarg.mirrorlen = 0; } } else error = copyin(uap->argp, &nfsdarg, sizeof(nfsdarg)); @@ -3300,11 +3302,13 @@ nfssvc_nfsd(struct thread *td, struct nfssvc_args *uap if (nfsdarg.addrlen > 0 && nfsdarg.addrlen < 10000 && nfsdarg.dnshostlen > 0 && nfsdarg.dnshostlen < 10000 && nfsdarg.dspathlen > 0 && nfsdarg.dspathlen < 10000 && + nfsdarg.mirrorlen > 0 && nfsdarg.mirrorlen < 10000 && nfsdarg.addr != NULL && nfsdarg.dnshost != NULL && - nfsdarg.dspath != NULL) { - NFSD_DEBUG(1, "addrlen=%d dspathlen=%d dnslen=%d\n", - nfsdarg.addrlen, nfsdarg.dspathlen, - nfsdarg.dnshostlen); + nfsdarg.dspath != NULL && nfsdarg.mirror != NULL) { + NFSD_DEBUG(1, "addrlen=%d dspathlen=%d dnslen=%d" + " mirrorlen=%d\n", nfsdarg.addrlen, + nfsdarg.dspathlen, nfsdarg.dnshostlen, + nfsdarg.mirrorlen); cp = malloc(nfsdarg.addrlen + 1, M_TEMP, M_WAITOK); error = copyin(nfsdarg.addr, cp, nfsdarg.addrlen); if (error != 0) { @@ -3332,6 +3336,17 @@ nfssvc_nfsd(struct thread *td, struct nfssvc_args *uap } cp[nfsdarg.dspathlen] = '\0'; /* Ensure nul term. */ nfsdarg.dspath = cp; + cp = malloc(nfsdarg.mirrorlen + 1, M_TEMP, M_WAITOK); + error = copyin(nfsdarg.mirror, cp, nfsdarg.mirrorlen); + if (error != 0) { + free(nfsdarg.addr, M_TEMP); + free(nfsdarg.dnshost, M_TEMP); + free(nfsdarg.dspath, M_TEMP); + free(cp, M_TEMP); + goto out; + } + cp[nfsdarg.mirrorlen] = '\0'; /* Ensure nul term. */ + nfsdarg.mirror = cp; } else { nfsdarg.addr = NULL; nfsdarg.addrlen = 0; @@ -3339,11 +3354,14 @@ nfssvc_nfsd(struct thread *td, struct nfssvc_args *uap nfsdarg.dnshostlen = 0; nfsdarg.dspath = NULL; nfsdarg.dspathlen = 0; + nfsdarg.mirror = NULL; + nfsdarg.mirrorlen = 0; } error = nfsrvd_nfsd(td, &nfsdarg); free(nfsdarg.addr, M_TEMP); free(nfsdarg.dnshost, M_TEMP); free(nfsdarg.dspath, M_TEMP); + free(nfsdarg.mirror, M_TEMP); } else { error = nfssvc_srvcall(td, uap, td->td_ucred); } Modified: projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c Tue Aug 8 22:58:34 2017 (r322282) +++ projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c Tue Aug 8 23:44:47 2017 (r322283) @@ -188,7 +188,8 @@ static void nfsrv_freelayout(struct nfslayout *lyp); static void nfsrv_freelayoutlist(nfsquad_t clientid); static void nfsrv_freealllayouts(int *fndp); static void nfsrv_freedevid(struct nfsdevice *ds); -static int nfsrv_setdsserver(char *dspathp, NFSPROC_T *p, +static void nfsrv_freeonedevid(struct nfsdevice *ds); +static int nfsrv_setdsserver(char *dspathp, char *mirrorp, NFSPROC_T *p, struct nfsdevice **dsp); static void nfsrv_allocdevid(struct nfsdevice *ds, char *addr, char *dnshost); static void nfsrv_freealldevids(void); @@ -6685,11 +6686,10 @@ nfsrv_freelayout(struct nfslayout *lyp) * Free up a device id. */ static void -nfsrv_freedevid(struct nfsdevice *ds) +nfsrv_freeonedevid(struct nfsdevice *ds) { int i; - TAILQ_REMOVE(&nfsrv_devidhead, ds, nfsdev_list); vrele(ds->nfsdev_dvp); for (i = 0; i < nfsrv_dsdirsize; i++) if (ds->nfsdev_dsdir[i] != NULL) @@ -6701,6 +6701,20 @@ nfsrv_freedevid(struct nfsdevice *ds) } /* + * Free up a device id and its mirrors. + */ +static void +nfsrv_freedevid(struct nfsdevice *ds) +{ + struct nfsdevice *mds, *nds; + + TAILQ_REMOVE(&nfsrv_devidhead, ds, nfsdev_list); + TAILQ_FOREACH_SAFE(mds, &ds->nfsdev_mirrors, nfsdev_list, nds) + nfsrv_freeonedevid(mds); + nfsrv_freeonedevid(ds); +} + +/* * Free all layouts and device ids. * Done when the nfsd threads are shut down since there may be a new * modified device id list created when the nfsd is restarted. @@ -6744,10 +6758,11 @@ nfsrv_freealllayouts(int *fndp) * Look up the mount path for the DS server. */ static int -nfsrv_setdsserver(char *dspathp, NFSPROC_T *p, struct nfsdevice **dsp) +nfsrv_setdsserver(char *dspathp, char *mirrorp, NFSPROC_T *p, + struct nfsdevice **dsp) { struct nameidata nd; - struct nfsdevice *ds; + struct nfsdevice *ds, *mds, *tds; int error, i; char *dsdirpath; size_t dsdirsize; @@ -6778,6 +6793,8 @@ nfsrv_setdsserver(char *dspathp, NFSPROC_T *p, struct */ *dsp = ds = malloc(sizeof(*ds) + nfsrv_dsdirsize * sizeof(vnode_t), M_NFSDSTATE, M_WAITOK | M_ZERO); + TAILQ_INIT(&ds->nfsdev_mirrors); + strcpy(ds->nfsdev_mirrorid, mirrorp); ds->nfsdev_dvp = nd.ni_vp; NFSVOPUNLOCK(nd.ni_vp, 0); @@ -6812,8 +6829,23 @@ nfsrv_setdsserver(char *dspathp, NFSPROC_T *p, struct /* * Since this is done before the nfsd threads are running, locking * isn't required. + * First, look for a mirror. If none found, link into main list. */ - TAILQ_INSERT_TAIL(&nfsrv_devidhead, ds, nfsdev_list); + TAILQ_FOREACH(mds, &nfsrv_devidhead, nfsdev_list) { + if (strcmp(mds->nfsdev_mirrorid, mirrorp) == 0) { + TAILQ_INSERT_TAIL(&mds->nfsdev_mirrors, ds, + nfsdev_list); + ds = NULL; + i = 1; + TAILQ_FOREACH(tds, &mds->nfsdev_mirrors, nfsdev_list) + i++; + if (i > nfsrv_maxpnfsmirror) + nfsrv_maxpnfsmirror = i; + break; + } + } + if (ds != NULL) + TAILQ_INSERT_TAIL(&nfsrv_devidhead, ds, nfsdev_list); return (error); } @@ -6901,23 +6933,30 @@ int nfsrv_createdevids(struct nfsd_nfsd_args *args, NFSPROC_T *p) { struct nfsdevice *ds; - char *addrp, *dnshostp, *dspathp; + char *addrp, *dnshostp, *dspathp, *mirrorp; int error; addrp = args->addr; dnshostp = args->dnshost; dspathp = args->dspath; - if (addrp == NULL || dnshostp == NULL || dspathp == NULL) + mirrorp = args->mirror; + if (addrp == NULL || dnshostp == NULL || dspathp == NULL || + mirrorp == NULL) return (0); /* - * Loop around for each nul-terminated string in args->addr and - * args->dnshost. + * Loop around for each nul-terminated string in args->addr, + * args->dnshost, args->dnspath and args->mirror. */ while (addrp < (args->addr + args->addrlen) && dnshostp < (args->dnshost + args->dnshostlen) && - dspathp < (args->dspath + args->dspathlen)) { - error = nfsrv_setdsserver(dspathp, p, &ds); + dspathp < (args->dspath + args->dspathlen) && + mirrorp < (args->mirror + args->mirrorlen)) { + error = 0; + if (*mirrorp == '\0' || strlen(mirrorp) > NFSDEV_MIRRORSTR) + error = ENXIO; + if (error == 0) + error = nfsrv_setdsserver(dspathp, mirrorp, p, &ds); if (error != 0) { /* Free all DS servers. */ nfsrv_freealldevids(); @@ -6927,6 +6966,7 @@ nfsrv_createdevids(struct nfsd_nfsd_args *args, NFSPRO addrp += (strlen(addrp) + 1); dnshostp += (strlen(dnshostp) + 1); dspathp += (strlen(dspathp) + 1); + mirrorp += (strlen(mirrorp) + 1); } return (0); } Modified: projects/pnfs-planb-server-stable11/usr.sbin/nfsd/nfsd.c ============================================================================== --- projects/pnfs-planb-server-stable11/usr.sbin/nfsd/nfsd.c Tue Aug 8 22:58:34 2017 (r322282) +++ projects/pnfs-planb-server-stable11/usr.sbin/nfsd/nfsd.c Tue Aug 8 23:44:47 2017 (r322283) @@ -1174,8 +1174,10 @@ static void parse_dsserver(const char *optarg, struct nfsd_nfsd_args *nfsdargp) { char *ad, *cp, *cp2, *dsaddr, *dshost, *dspath, *dsvol, nfsprt[9]; + char *mirror, mirrorstr[NFSDEV_MIRRORSTR + 1]; int adsiz, dsaddrcnt, dshostcnt, dspathcnt, ecode, hostsiz, pathsiz; - size_t dsaddrsiz, dshostsiz, dspathsiz, nfsprtsiz; + int mirrorcnt, mirrorstrsiz, mirrorindex; + size_t dsaddrsiz, dshostsiz, dspathsiz, nfsprtsiz, mirrorsiz; struct addrinfo hints, *ai_tcp; struct sockaddr_in *sin; @@ -1199,12 +1201,18 @@ parse_dsserver(const char *optarg, struct nfsd_nfsd_ar dsaddr = malloc(dsaddrsiz); if (dsaddr == NULL) errx(1, "Out of memory"); + mirrorsiz = 1024; + mirrorcnt = 0; + mirror = malloc(mirrorsiz); + if (mirror == NULL) + errx(1, "Out of memory"); /* Put the NFS port# in "." form. */ snprintf(nfsprt, 9, ".%d.%d", 2049 >> 8, 2049 & 0xff); nfsprtsiz = strlen(nfsprt); ai_tcp = NULL; + mirrorindex = 0; /* Loop around for each DS server name. */ do { cp2 = strchr(cp, ','); @@ -1271,6 +1279,20 @@ printf("pnfs path=%s\n", dsvol); strcpy(&dshost[dshostcnt], ai_tcp->ai_canonname); dshostcnt += hostsiz + 1; + /* Append this mirrorindex to mirror. */ + if (snprintf(mirrorstr, NFSDEV_MIRRORSTR + 1, "%d", + mirrorindex++) > NFSDEV_MIRRORSTR) + errx(1, "Too many mirrors"); + mirrorstrsiz = strlen(mirrorstr); + if (mirrorcnt + mirrorstrsiz + 1 > mirrorsiz) { + mirrorsiz *= 2; + mirror = realloc(mirror, mirrorsiz); + if (mirror == NULL) + errx(1, "Out of memory"); + } + strcpy(&mirror[mirrorcnt], mirrorstr); + mirrorcnt += mirrorstrsiz + 1; + cp = cp2; } while (cp != NULL); @@ -1286,6 +1308,8 @@ printf("pnfs path=%s\n", dsvol); nfsdargp->dnshostlen = dshostcnt; nfsdargp->dspath = dspath; nfsdargp->dspathlen = dspathcnt; + nfsdargp->mirror = mirror; + nfsdargp->mirrorlen = mirrorcnt; freeaddrinfo(ai_tcp); } From owner-svn-src-projects@freebsd.org Tue Aug 8 23:55:40 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5DB9DDD8BDE for ; Tue, 8 Aug 2017 23:55:40 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 382927D2F0; Tue, 8 Aug 2017 23:55:40 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v78Ntdge080535; Tue, 8 Aug 2017 23:55:39 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v78NtcUn080530; Tue, 8 Aug 2017 23:55:38 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201708082355.v78NtcUn080530@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Tue, 8 Aug 2017 23:55:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322284 - in projects/pnfs-planb-server: sys/fs/nfs sys/fs/nfsserver usr.sbin/nfsd X-SVN-Group: projects X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in projects/pnfs-planb-server: sys/fs/nfs sys/fs/nfsserver usr.sbin/nfsd X-SVN-Commit-Revision: 322284 X-SVN-Commit-Repository: base 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.23 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: Tue, 08 Aug 2017 23:55:40 -0000 Author: rmacklem Date: Tue Aug 8 23:55:38 2017 New Revision: 322284 URL: https://svnweb.freebsd.org/changeset/base/322284 Log: Add support for mirrors to the private API that nfsd(8) uses to configure the pNFS server. Mirrors are nowhere near being supported, but by doing this now, it won't be necessary to rev. this private API later. Modified: projects/pnfs-planb-server/sys/fs/nfs/nfs.h projects/pnfs-planb-server/sys/fs/nfs/nfsrvstate.h projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdport.c projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c projects/pnfs-planb-server/usr.sbin/nfsd/nfsd.c Modified: projects/pnfs-planb-server/sys/fs/nfs/nfs.h ============================================================================== --- projects/pnfs-planb-server/sys/fs/nfs/nfs.h Tue Aug 8 23:44:47 2017 (r322283) +++ projects/pnfs-planb-server/sys/fs/nfs/nfs.h Tue Aug 8 23:55:38 2017 (r322284) @@ -183,7 +183,10 @@ struct nfsd_nfsd_args { int dnshostlen; /* Length of DNS names */ char *dspath; /* DS Mount path on MDS */ int dspathlen; /* Length of DS Mount path on MDS */ + char *mirror; /* DS with same mirrorindex are mirrors */ + int mirrorlen; /* Length of the mirrorindex array */ }; +#define NFSDEV_MIRRORSTR 3 /* Old version. */ struct nfsd_nfsd_oargs { Modified: projects/pnfs-planb-server/sys/fs/nfs/nfsrvstate.h ============================================================================== --- projects/pnfs-planb-server/sys/fs/nfs/nfsrvstate.h Tue Aug 8 23:44:47 2017 (r322283) +++ projects/pnfs-planb-server/sys/fs/nfs/nfsrvstate.h Tue Aug 8 23:55:38 2017 (r322284) @@ -47,6 +47,7 @@ LIST_HEAD(nfssessionhead, nfsdsession); LIST_HEAD(nfssessionhashhead, nfsdsession); LIST_HEAD(nfslayouthead, nfslayout); SLIST_HEAD(nfsdsdirhead, nfsdsdir); +TAILQ_HEAD(nfsdevicehead, nfsdevice); /* * List head for nfsusrgrp. @@ -331,9 +332,11 @@ void nfsrv_freedeleglist(struct nfsstatehead *); */ struct nfsdevice { TAILQ_ENTRY(nfsdevice) nfsdev_list; + struct nfsdevicehead nfsdev_mirrors; vnode_t nfsdev_dvp; struct nfsmount *nfsdev_nmp; char nfsdev_deviceid[NFSX_V4DEVICEID]; + char nfsdev_mirrorid[NFSDEV_MIRRORSTR + 1]; uint16_t nfsdev_hostnamelen; uint16_t nfsdev_fileaddrlen; uint16_t nfsdev_flexaddrlen; @@ -343,7 +346,6 @@ struct nfsdevice { uint32_t nfsdev_nextdir; vnode_t nfsdev_dsdir[0]; }; -TAILQ_HEAD(nfsdevicehead, nfsdevice); /* * This structure holds the va_size, va_filerev, va_atime and va_mtime for the Modified: projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdport.c Tue Aug 8 23:44:47 2017 (r322283) +++ projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdport.c Tue Aug 8 23:55:38 2017 (r322284) @@ -3309,6 +3309,8 @@ nfssvc_nfsd(struct thread *td, struct nfssvc_args *uap nfsdarg.addrlen = 0; nfsdarg.dnshost = NULL; nfsdarg.dnshostlen = 0; + nfsdarg.mirror = NULL; + nfsdarg.mirrorlen = 0; } } else error = copyin(uap->argp, &nfsdarg, sizeof(nfsdarg)); @@ -3317,11 +3319,13 @@ nfssvc_nfsd(struct thread *td, struct nfssvc_args *uap if (nfsdarg.addrlen > 0 && nfsdarg.addrlen < 10000 && nfsdarg.dnshostlen > 0 && nfsdarg.dnshostlen < 10000 && nfsdarg.dspathlen > 0 && nfsdarg.dspathlen < 10000 && + nfsdarg.mirrorlen > 0 && nfsdarg.mirrorlen < 10000 && nfsdarg.addr != NULL && nfsdarg.dnshost != NULL && - nfsdarg.dspath != NULL) { - NFSD_DEBUG(1, "addrlen=%d dspathlen=%d dnslen=%d\n", - nfsdarg.addrlen, nfsdarg.dspathlen, - nfsdarg.dnshostlen); + nfsdarg.dspath != NULL && nfsdarg.mirror != NULL) { + NFSD_DEBUG(1, "addrlen=%d dspathlen=%d dnslen=%d" + " mirrorlen=%d\n", nfsdarg.addrlen, + nfsdarg.dspathlen, nfsdarg.dnshostlen, + nfsdarg.mirrorlen); cp = malloc(nfsdarg.addrlen + 1, M_TEMP, M_WAITOK); error = copyin(nfsdarg.addr, cp, nfsdarg.addrlen); if (error != 0) { @@ -3349,6 +3353,17 @@ nfssvc_nfsd(struct thread *td, struct nfssvc_args *uap } cp[nfsdarg.dspathlen] = '\0'; /* Ensure nul term. */ nfsdarg.dspath = cp; + cp = malloc(nfsdarg.mirrorlen + 1, M_TEMP, M_WAITOK); + error = copyin(nfsdarg.mirror, cp, nfsdarg.mirrorlen); + if (error != 0) { + free(nfsdarg.addr, M_TEMP); + free(nfsdarg.dnshost, M_TEMP); + free(nfsdarg.dspath, M_TEMP); + free(cp, M_TEMP); + goto out; + } + cp[nfsdarg.mirrorlen] = '\0'; /* Ensure nul term. */ + nfsdarg.mirror = cp; } else { nfsdarg.addr = NULL; nfsdarg.addrlen = 0; @@ -3356,11 +3371,14 @@ nfssvc_nfsd(struct thread *td, struct nfssvc_args *uap nfsdarg.dnshostlen = 0; nfsdarg.dspath = NULL; nfsdarg.dspathlen = 0; + nfsdarg.mirror = NULL; + nfsdarg.mirrorlen = 0; } error = nfsrvd_nfsd(td, &nfsdarg); free(nfsdarg.addr, M_TEMP); free(nfsdarg.dnshost, M_TEMP); free(nfsdarg.dspath, M_TEMP); + free(nfsdarg.mirror, M_TEMP); } else { error = nfssvc_srvcall(td, uap, td->td_ucred); } Modified: projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c ============================================================================== --- projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c Tue Aug 8 23:44:47 2017 (r322283) +++ projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c Tue Aug 8 23:55:38 2017 (r322284) @@ -188,7 +188,8 @@ static void nfsrv_freelayout(struct nfslayout *lyp); static void nfsrv_freelayoutlist(nfsquad_t clientid); static void nfsrv_freealllayouts(int *fndp); static void nfsrv_freedevid(struct nfsdevice *ds); -static int nfsrv_setdsserver(char *dspathp, NFSPROC_T *p, +static void nfsrv_freeonedevid(struct nfsdevice *ds); +static int nfsrv_setdsserver(char *dspathp, char *mirrorp, NFSPROC_T *p, struct nfsdevice **dsp); static void nfsrv_allocdevid(struct nfsdevice *ds, char *addr, char *dnshost); static void nfsrv_freealldevids(void); @@ -6685,11 +6686,10 @@ nfsrv_freelayout(struct nfslayout *lyp) * Free up a device id. */ static void -nfsrv_freedevid(struct nfsdevice *ds) +nfsrv_freeonedevid(struct nfsdevice *ds) { int i; - TAILQ_REMOVE(&nfsrv_devidhead, ds, nfsdev_list); vrele(ds->nfsdev_dvp); for (i = 0; i < nfsrv_dsdirsize; i++) if (ds->nfsdev_dsdir[i] != NULL) @@ -6701,6 +6701,20 @@ nfsrv_freedevid(struct nfsdevice *ds) } /* + * Free up a device id and its mirrors. + */ +static void +nfsrv_freedevid(struct nfsdevice *ds) +{ + struct nfsdevice *mds, *nds; + + TAILQ_REMOVE(&nfsrv_devidhead, ds, nfsdev_list); + TAILQ_FOREACH_SAFE(mds, &ds->nfsdev_mirrors, nfsdev_list, nds) + nfsrv_freeonedevid(mds); + nfsrv_freeonedevid(ds); +} + +/* * Free all layouts and device ids. * Done when the nfsd threads are shut down since there may be a new * modified device id list created when the nfsd is restarted. @@ -6744,10 +6758,11 @@ nfsrv_freealllayouts(int *fndp) * Look up the mount path for the DS server. */ static int -nfsrv_setdsserver(char *dspathp, NFSPROC_T *p, struct nfsdevice **dsp) +nfsrv_setdsserver(char *dspathp, char *mirrorp, NFSPROC_T *p, + struct nfsdevice **dsp) { struct nameidata nd; - struct nfsdevice *ds; + struct nfsdevice *ds, *mds, *tds; int error, i; char *dsdirpath; size_t dsdirsize; @@ -6778,6 +6793,8 @@ nfsrv_setdsserver(char *dspathp, NFSPROC_T *p, struct */ *dsp = ds = malloc(sizeof(*ds) + nfsrv_dsdirsize * sizeof(vnode_t), M_NFSDSTATE, M_WAITOK | M_ZERO); + TAILQ_INIT(&ds->nfsdev_mirrors); + strcpy(ds->nfsdev_mirrorid, mirrorp); ds->nfsdev_dvp = nd.ni_vp; NFSVOPUNLOCK(nd.ni_vp, 0); @@ -6812,8 +6829,23 @@ nfsrv_setdsserver(char *dspathp, NFSPROC_T *p, struct /* * Since this is done before the nfsd threads are running, locking * isn't required. + * First, look for a mirror. If none found, link into main list. */ - TAILQ_INSERT_TAIL(&nfsrv_devidhead, ds, nfsdev_list); + TAILQ_FOREACH(mds, &nfsrv_devidhead, nfsdev_list) { + if (strcmp(mds->nfsdev_mirrorid, mirrorp) == 0) { + TAILQ_INSERT_TAIL(&mds->nfsdev_mirrors, ds, + nfsdev_list); + ds = NULL; + i = 1; + TAILQ_FOREACH(tds, &mds->nfsdev_mirrors, nfsdev_list) + i++; + if (i > nfsrv_maxpnfsmirror) + nfsrv_maxpnfsmirror = i; + break; + } + } + if (ds != NULL) + TAILQ_INSERT_TAIL(&nfsrv_devidhead, ds, nfsdev_list); return (error); } @@ -6901,23 +6933,30 @@ int nfsrv_createdevids(struct nfsd_nfsd_args *args, NFSPROC_T *p) { struct nfsdevice *ds; - char *addrp, *dnshostp, *dspathp; + char *addrp, *dnshostp, *dspathp, *mirrorp; int error; addrp = args->addr; dnshostp = args->dnshost; dspathp = args->dspath; - if (addrp == NULL || dnshostp == NULL || dspathp == NULL) + mirrorp = args->mirror; + if (addrp == NULL || dnshostp == NULL || dspathp == NULL || + mirrorp == NULL) return (0); /* - * Loop around for each nul-terminated string in args->addr and - * args->dnshost. + * Loop around for each nul-terminated string in args->addr, + * args->dnshost, args->dnspath and args->mirror. */ while (addrp < (args->addr + args->addrlen) && dnshostp < (args->dnshost + args->dnshostlen) && - dspathp < (args->dspath + args->dspathlen)) { - error = nfsrv_setdsserver(dspathp, p, &ds); + dspathp < (args->dspath + args->dspathlen) && + mirrorp < (args->mirror + args->mirrorlen)) { + error = 0; + if (*mirrorp == '\0' || strlen(mirrorp) > NFSDEV_MIRRORSTR) + error = ENXIO; + if (error == 0) + error = nfsrv_setdsserver(dspathp, mirrorp, p, &ds); if (error != 0) { /* Free all DS servers. */ nfsrv_freealldevids(); @@ -6927,6 +6966,7 @@ nfsrv_createdevids(struct nfsd_nfsd_args *args, NFSPRO addrp += (strlen(addrp) + 1); dnshostp += (strlen(dnshostp) + 1); dspathp += (strlen(dspathp) + 1); + mirrorp += (strlen(mirrorp) + 1); } return (0); } Modified: projects/pnfs-planb-server/usr.sbin/nfsd/nfsd.c ============================================================================== --- projects/pnfs-planb-server/usr.sbin/nfsd/nfsd.c Tue Aug 8 23:44:47 2017 (r322283) +++ projects/pnfs-planb-server/usr.sbin/nfsd/nfsd.c Tue Aug 8 23:55:38 2017 (r322284) @@ -1175,8 +1175,10 @@ static void parse_dsserver(const char *optarg, struct nfsd_nfsd_args *nfsdargp) { char *ad, *cp, *cp2, *dsaddr, *dshost, *dspath, *dsvol, nfsprt[9]; + char *mirror, mirrorstr[NFSDEV_MIRRORSTR + 1]; int adsiz, dsaddrcnt, dshostcnt, dspathcnt, ecode, hostsiz, pathsiz; - size_t dsaddrsiz, dshostsiz, dspathsiz, nfsprtsiz; + int mirrorcnt, mirrorstrsiz, mirrorindex; + size_t dsaddrsiz, dshostsiz, dspathsiz, nfsprtsiz, mirrorsiz; struct addrinfo hints, *ai_tcp; struct sockaddr_in *sin; @@ -1200,12 +1202,18 @@ parse_dsserver(const char *optarg, struct nfsd_nfsd_ar dsaddr = malloc(dsaddrsiz); if (dsaddr == NULL) errx(1, "Out of memory"); + mirrorsiz = 1024; + mirrorcnt = 0; + mirror = malloc(mirrorsiz); + if (mirror == NULL) + errx(1, "Out of memory"); /* Put the NFS port# in "." form. */ snprintf(nfsprt, 9, ".%d.%d", 2049 >> 8, 2049 & 0xff); nfsprtsiz = strlen(nfsprt); ai_tcp = NULL; + mirrorindex = 0; /* Loop around for each DS server name. */ do { cp2 = strchr(cp, ','); @@ -1272,6 +1280,20 @@ printf("pnfs path=%s\n", dsvol); strcpy(&dshost[dshostcnt], ai_tcp->ai_canonname); dshostcnt += hostsiz + 1; + /* Append this mirrorindex to mirror. */ + if (snprintf(mirrorstr, NFSDEV_MIRRORSTR + 1, "%d", + mirrorindex++) > NFSDEV_MIRRORSTR) + errx(1, "Too many mirrors"); + mirrorstrsiz = strlen(mirrorstr); + if (mirrorcnt + mirrorstrsiz + 1 > mirrorsiz) { + mirrorsiz *= 2; + mirror = realloc(mirror, mirrorsiz); + if (mirror == NULL) + errx(1, "Out of memory"); + } + strcpy(&mirror[mirrorcnt], mirrorstr); + mirrorcnt += mirrorstrsiz + 1; + cp = cp2; } while (cp != NULL); @@ -1287,6 +1309,8 @@ printf("pnfs path=%s\n", dsvol); nfsdargp->dnshostlen = dshostcnt; nfsdargp->dspath = dspath; nfsdargp->dspathlen = dspathcnt; + nfsdargp->mirror = mirror; + nfsdargp->mirrorlen = mirrorcnt; freeaddrinfo(ai_tcp); } From owner-svn-src-projects@freebsd.org Thu Aug 10 00:33:35 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 07EE7DD8F31 for ; Thu, 10 Aug 2017 00:33:35 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C62B065FA7; Thu, 10 Aug 2017 00:33:34 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v7A0XYKD088628; Thu, 10 Aug 2017 00:33:34 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v7A0XXMf088626; Thu, 10 Aug 2017 00:33:33 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201708100033.v7A0XXMf088626@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Thu, 10 Aug 2017 00:33:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322333 - in projects/pnfs-planb-server-stable11/sys/fs: nfs nfsserver X-SVN-Group: projects X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in projects/pnfs-planb-server-stable11/sys/fs: nfs nfsserver X-SVN-Commit-Revision: 322333 X-SVN-Commit-Repository: base 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.23 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, 10 Aug 2017 00:33:35 -0000 Author: rmacklem Date: Thu Aug 10 00:33:33 2017 New Revision: 322333 URL: https://svnweb.freebsd.org/changeset/base/322333 Log: Add support for mirrors to nfsrv_pnfscreate(), which creates the data storage file(s) on the DS(s). It also defines NFSDEV_MAXMIRRORS, which limits the number of mirror DSs that can be configured for each DS. Modified: projects/pnfs-planb-server-stable11/sys/fs/nfs/nfs.h projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdport.c Modified: projects/pnfs-planb-server-stable11/sys/fs/nfs/nfs.h ============================================================================== --- projects/pnfs-planb-server-stable11/sys/fs/nfs/nfs.h Wed Aug 9 22:58:42 2017 (r322332) +++ projects/pnfs-planb-server-stable11/sys/fs/nfs/nfs.h Thu Aug 10 00:33:33 2017 (r322333) @@ -186,7 +186,15 @@ struct nfsd_nfsd_args { char *mirror; /* DS with same mirrorindex are mirrors */ int mirrorlen; /* Length of the mirrorindex array */ }; + +/* + * NFSDEV_MIRRORSTR - string of digits that number the DSs 0->999. + * (To support more than 1000 DSs on an MDS, this needs to be increased.) + * NFSDEV_MAXMIRRORS - Maximum # of mirrors for a DS. + * (Most will only have a single mirror, but this setting allows up to 3.) + */ #define NFSDEV_MIRRORSTR 3 +#define NFSDEV_MAXMIRRORS 4 /* Old version. */ struct nfsd_nfsd_oargs { Modified: projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdport.c Wed Aug 9 22:58:42 2017 (r322332) +++ projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdport.c Thu Aug 10 00:33:33 2017 (r322333) @@ -3581,14 +3581,14 @@ nfsrv_backupstable(void) } /* - * Create a pNFS data file on a Data Server. + * Create a pNFS data file on the Data Server(s). */ static void nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, struct ucred *cred, NFSPROC_T *p) { - struct vnode *dvp, *nvp; - struct nfsdevice *ds; + struct vnode *dvp[NFSDEV_MAXMIRRORS], *nvp; + struct nfsdevice *ds, *mds; fhandle_t fh; struct nameidata named; char *bufp; @@ -3596,17 +3596,18 @@ nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, struct mount *mp; struct nfsnode *np; struct nfsmount *nmp; - struct pnfsdsfile *pf; + struct pnfsdsfile *pf, *tpf; struct pnfsdsattr dsattr; struct vattr va; uid_t vauid; gid_t vagid; u_short vamode; struct ucred *tcred; - int error; - uint32_t dsdir; + int error, i, mirrorcnt; + uint32_t dsdir[NFSDEV_MAXMIRRORS]; /* Get a DS server directory in a round-robin order. */ + mirrorcnt = 1; NFSDDSLOCK(); ds = TAILQ_FIRST(&nfsrv_devidhead); if (ds == NULL) { @@ -3617,9 +3618,16 @@ nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, /* Put at end of list to implement round-robin usage. */ TAILQ_REMOVE(&nfsrv_devidhead, ds, nfsdev_list); TAILQ_INSERT_TAIL(&nfsrv_devidhead, ds, nfsdev_list); - dsdir = ds->nfsdev_nextdir; + i = dsdir[0] = ds->nfsdev_nextdir; ds->nfsdev_nextdir = (ds->nfsdev_nextdir + 1) % nfsrv_dsdirsize; - dvp = ds->nfsdev_dsdir[dsdir]; + dvp[0] = ds->nfsdev_dsdir[i]; + TAILQ_FOREACH(mds, &ds->nfsdev_mirrors, nfsdev_list) { + i = dsdir[mirrorcnt] = mds->nfsdev_nextdir; + mds->nfsdev_nextdir = (mds->nfsdev_nextdir + 1) % + nfsrv_dsdirsize; + dvp[mirrorcnt] = mds->nfsdev_dsdir[i]; + mirrorcnt++; + } NFSDDSUNLOCK(); error = nfsvno_getfh(vp, &fh, p); @@ -3632,77 +3640,90 @@ nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, NFSD_DEBUG(4, "nfsrv_pnfscreate: cruid=%d crgid=%d uid=%d gid=%d\n", cred->cr_uid, cred->cr_gid, va.va_uid, va.va_gid); - /* Make date file name based on FH. */ + /* Make data file name based on FH. */ tcred = newnfs_getcred(); - NFSNAMEICNDSET(&named.ni_cnd, tcred, CREATE, - LOCKPARENT | LOCKLEAF | SAVESTART | NOCACHE); - nfsvno_setpathbuf(&named, &bufp, &hashp); - named.ni_cnd.cn_lkflags = LK_EXCLUSIVE; - named.ni_cnd.cn_thread = p; - named.ni_cnd.cn_nameptr = bufp; - named.ni_cnd.cn_namelen = nfsrv_putfhname(&fh, bufp); + tpf = pf = malloc(sizeof(*pf) * mirrorcnt, M_TEMP, M_WAITOK | M_ZERO); - /* Create the date file in the DS mount. */ - error = NFSVOPLOCK(dvp, LK_EXCLUSIVE); - if (error == 0) { - error = VOP_CREATE(dvp, &nvp, &named.ni_cnd, vap); - NFSVOPUNLOCK(dvp, 0); + /* Create the file on each DS mirror. */ + for (i = 0; i < mirrorcnt && error == 0; i++) { + NFSNAMEICNDSET(&named.ni_cnd, tcred, CREATE, + LOCKPARENT | LOCKLEAF | SAVESTART | NOCACHE); + nfsvno_setpathbuf(&named, &bufp, &hashp); + named.ni_cnd.cn_lkflags = LK_EXCLUSIVE; + named.ni_cnd.cn_thread = p; + named.ni_cnd.cn_nameptr = bufp; + named.ni_cnd.cn_namelen = nfsrv_putfhname(&fh, bufp); + + /* Create the date file in the DS mount. */ + error = NFSVOPLOCK(dvp[i], LK_EXCLUSIVE); if (error == 0) { - /* Set the ownership of the file. */ - vauid = va.va_uid; - vagid = va.va_gid; - vamode = va.va_mode; - VATTR_NULL(&va); - va.va_uid = vauid; - va.va_gid = vagid; - va.va_mode = vamode; - error = VOP_SETATTR(nvp, &va, tcred); - NFSD_DEBUG(4, "nfsrv_pnfscreate: setattr-uid=%d\n", - error); + error = VOP_CREATE(dvp[i], &nvp, &named.ni_cnd, vap); + NFSVOPUNLOCK(dvp[i], 0); + if (error == 0) { + /* Set the ownership of the file. */ + vauid = va.va_uid; + vagid = va.va_gid; + vamode = va.va_mode; + VATTR_NULL(&va); + va.va_uid = vauid; + va.va_gid = vagid; + va.va_mode = vamode; + error = VOP_SETATTR(nvp, &va, tcred); + NFSD_DEBUG(4, "nfsrv_pnfscreate:" + " setattr-uid=%d\n", error); + if (error != 0) + vput(nvp); + } if (error != 0) - vput(nvp); + printf("pNFS: pnfscreate failed=%d\n", error); + } else + printf("pNFS: pnfscreate vnlock=%d\n", error); + if (error == 0) { + np = VTONFS(nvp); + nmp = VFSTONFS(nvp->v_mount); + if (strcmp(nvp->v_mount->mnt_vfc->vfc_name, "nfs") + != 0 || nmp->nm_nam->sa_len > sizeof( + struct sockaddr_in6) || + np->n_fhp->nfh_len != NFSX_MYFH) { + printf("Bad DS file: fstype=%s salen=%d" + " fhlen=%d\n", + nvp->v_mount->mnt_vfc->vfc_name, + nmp->nm_nam->sa_len, np->n_fhp->nfh_len); + error = ENOENT; + } + + /* Get the attributes of the DS file. */ + if (error == 0) + error = VOP_GETATTR(nvp, &va, cred); + /* Set extattrs for the DS on the MDS file. */ + if (error == 0) { + dsattr.dsa_filerev = va.va_filerev; + dsattr.dsa_size = va.va_size; + dsattr.dsa_atime = va.va_atime; + dsattr.dsa_mtime = va.va_mtime; + tpf->dsf_dir = dsdir[i]; + NFSBCOPY(np->n_fhp->nfh_fh, &tpf->dsf_fh, + NFSX_MYFH); + NFSBCOPY(nmp->nm_nam, &tpf->dsf_sin, + nmp->nm_nam->sa_len); + NFSBCOPY(named.ni_cnd.cn_nameptr, + tpf->dsf_filename, + sizeof(tpf->dsf_filename)); + tpf++; + } else + printf("pNFS: pnfscreate can't get DS" + " attr=%d\n", error); + vput(nvp); } - if (error != 0) - printf("pNFS: pnfscreate failed=%d\n", error); - } else - printf("pNFS: pnfscreate vnlock=%d\n", error); + nfsvno_relpathbuf(&named); + } NFSFREECRED(tcred); if (error == 0) { - pf = NULL; - np = VTONFS(nvp); - nmp = VFSTONFS(nvp->v_mount); - if (strcmp(nvp->v_mount->mnt_vfc->vfc_name, "nfs") != 0 || - nmp->nm_nam->sa_len > sizeof(struct sockaddr_in6) || - np->n_fhp->nfh_len != NFSX_MYFH) { - printf("Bad DS file: fstype=%s salen=%d fhlen=%d\n", - nvp->v_mount->mnt_vfc->vfc_name, - nmp->nm_nam->sa_len, np->n_fhp->nfh_len); - error = ENOENT; - } - - /* Get the attributes of the DS file. */ - error = VOP_GETATTR(nvp, &va, cred); - /* Set extattrs for the DS on the MDS file. */ + error = vn_start_write(vp, &mp, V_WAIT); if (error == 0) { - dsattr.dsa_filerev = va.va_filerev; - dsattr.dsa_size = va.va_size; - dsattr.dsa_atime = va.va_atime; - dsattr.dsa_mtime = va.va_mtime; - pf = malloc(sizeof(*pf), M_TEMP, M_WAITOK | M_ZERO); - pf->dsf_dir = dsdir; - NFSBCOPY(np->n_fhp->nfh_fh, &pf->dsf_fh, NFSX_MYFH); - NFSBCOPY(nmp->nm_nam, &pf->dsf_sin, - nmp->nm_nam->sa_len); - NFSBCOPY(named.ni_cnd.cn_nameptr, pf->dsf_filename, - sizeof(pf->dsf_filename)); - error = vn_start_write(vp, &mp, V_WAIT); - } else - printf("pNFS: pnfscreate can't get DS attr=%d\n", - error); - if (error == 0) { error = vn_extattr_set(vp, IO_NODELOCKED, EXTATTR_NAMESPACE_SYSTEM, "pnfsd.dsfile", - sizeof(*pf), (char *)pf, p); + sizeof(*pf) * mirrorcnt, (char *)pf, p); if (error == 0) error = vn_extattr_set(vp, IO_NODELOCKED, EXTATTR_NAMESPACE_SYSTEM, "pnfsd.dsattr", @@ -3713,11 +3734,9 @@ nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, error); } else printf("pNFS: pnfscreate startwrite=%d\n", error); - vput(nvp); - free(pf, M_TEMP); } else printf("pNFS: pnfscreate=%d\n", error); - nfsvno_relpathbuf(&named); + free(pf, M_TEMP); } /* From owner-svn-src-projects@freebsd.org Thu Aug 10 00:39:04 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4C9BCDD90C1 for ; Thu, 10 Aug 2017 00:39:04 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0B5A3663BB; Thu, 10 Aug 2017 00:39:03 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v7A0d3HN089028; Thu, 10 Aug 2017 00:39:03 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v7A0d3gE089026; Thu, 10 Aug 2017 00:39:03 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201708100039.v7A0d3gE089026@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Thu, 10 Aug 2017 00:39:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322334 - in projects/pnfs-planb-server/sys/fs: nfs nfsserver X-SVN-Group: projects X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in projects/pnfs-planb-server/sys/fs: nfs nfsserver X-SVN-Commit-Revision: 322334 X-SVN-Commit-Repository: base 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.23 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, 10 Aug 2017 00:39:04 -0000 Author: rmacklem Date: Thu Aug 10 00:39:02 2017 New Revision: 322334 URL: https://svnweb.freebsd.org/changeset/base/322334 Log: Add support for mirrors to nfsrv_pnfscreate(), which creates the data storage file(s) on the DS(s). It also defines NFSDEV_MAXMIRRORS, which limits the number of mirror DSs that can be configured for each DS. Modified: projects/pnfs-planb-server/sys/fs/nfs/nfs.h projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdport.c Modified: projects/pnfs-planb-server/sys/fs/nfs/nfs.h ============================================================================== --- projects/pnfs-planb-server/sys/fs/nfs/nfs.h Thu Aug 10 00:33:33 2017 (r322333) +++ projects/pnfs-planb-server/sys/fs/nfs/nfs.h Thu Aug 10 00:39:02 2017 (r322334) @@ -186,7 +186,15 @@ struct nfsd_nfsd_args { char *mirror; /* DS with same mirrorindex are mirrors */ int mirrorlen; /* Length of the mirrorindex array */ }; + +/* + * NFSDEV_MIRRORSTR - string of digits that number the DSs 0->999. + * (To support more than 1000 DSs on an MDS, this needs to be increased.) + * NFSDEV_MAXMIRRORS - Maximum # of mirrors for a DS. + * (Most will only have a single mirror, but this setting allows up to 3.) + */ #define NFSDEV_MIRRORSTR 3 +#define NFSDEV_MAXMIRRORS 4 /* Old version. */ struct nfsd_nfsd_oargs { Modified: projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdport.c Thu Aug 10 00:33:33 2017 (r322333) +++ projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdport.c Thu Aug 10 00:39:02 2017 (r322334) @@ -3598,14 +3598,14 @@ nfsrv_backupstable(void) } /* - * Create a pNFS data file on a Data Server. + * Create a pNFS data file on the Data Server(s). */ static void nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, struct ucred *cred, NFSPROC_T *p) { - struct vnode *dvp, *nvp; - struct nfsdevice *ds; + struct vnode *dvp[NFSDEV_MAXMIRRORS], *nvp; + struct nfsdevice *ds, *mds; fhandle_t fh; struct nameidata named; char *bufp; @@ -3613,17 +3613,18 @@ nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, struct mount *mp; struct nfsnode *np; struct nfsmount *nmp; - struct pnfsdsfile *pf; + struct pnfsdsfile *pf, *tpf; struct pnfsdsattr dsattr; struct vattr va; uid_t vauid; gid_t vagid; u_short vamode; struct ucred *tcred; - int error; - uint32_t dsdir; + int error, i, mirrorcnt; + uint32_t dsdir[NFSDEV_MAXMIRRORS]; /* Get a DS server directory in a round-robin order. */ + mirrorcnt = 1; NFSDDSLOCK(); ds = TAILQ_FIRST(&nfsrv_devidhead); if (ds == NULL) { @@ -3634,9 +3635,16 @@ nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, /* Put at end of list to implement round-robin usage. */ TAILQ_REMOVE(&nfsrv_devidhead, ds, nfsdev_list); TAILQ_INSERT_TAIL(&nfsrv_devidhead, ds, nfsdev_list); - dsdir = ds->nfsdev_nextdir; + i = dsdir[0] = ds->nfsdev_nextdir; ds->nfsdev_nextdir = (ds->nfsdev_nextdir + 1) % nfsrv_dsdirsize; - dvp = ds->nfsdev_dsdir[dsdir]; + dvp[0] = ds->nfsdev_dsdir[i]; + TAILQ_FOREACH(mds, &ds->nfsdev_mirrors, nfsdev_list) { + i = dsdir[mirrorcnt] = mds->nfsdev_nextdir; + mds->nfsdev_nextdir = (mds->nfsdev_nextdir + 1) % + nfsrv_dsdirsize; + dvp[mirrorcnt] = mds->nfsdev_dsdir[i]; + mirrorcnt++; + } NFSDDSUNLOCK(); error = nfsvno_getfh(vp, &fh, p); @@ -3649,77 +3657,90 @@ nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, NFSD_DEBUG(4, "nfsrv_pnfscreate: cruid=%d crgid=%d uid=%d gid=%d\n", cred->cr_uid, cred->cr_gid, va.va_uid, va.va_gid); - /* Make date file name based on FH. */ + /* Make data file name based on FH. */ tcred = newnfs_getcred(); - NFSNAMEICNDSET(&named.ni_cnd, tcred, CREATE, - LOCKPARENT | LOCKLEAF | SAVESTART | NOCACHE); - nfsvno_setpathbuf(&named, &bufp, &hashp); - named.ni_cnd.cn_lkflags = LK_EXCLUSIVE; - named.ni_cnd.cn_thread = p; - named.ni_cnd.cn_nameptr = bufp; - named.ni_cnd.cn_namelen = nfsrv_putfhname(&fh, bufp); + tpf = pf = malloc(sizeof(*pf) * mirrorcnt, M_TEMP, M_WAITOK | M_ZERO); - /* Create the date file in the DS mount. */ - error = NFSVOPLOCK(dvp, LK_EXCLUSIVE); - if (error == 0) { - error = VOP_CREATE(dvp, &nvp, &named.ni_cnd, vap); - NFSVOPUNLOCK(dvp, 0); + /* Create the file on each DS mirror. */ + for (i = 0; i < mirrorcnt && error == 0; i++) { + NFSNAMEICNDSET(&named.ni_cnd, tcred, CREATE, + LOCKPARENT | LOCKLEAF | SAVESTART | NOCACHE); + nfsvno_setpathbuf(&named, &bufp, &hashp); + named.ni_cnd.cn_lkflags = LK_EXCLUSIVE; + named.ni_cnd.cn_thread = p; + named.ni_cnd.cn_nameptr = bufp; + named.ni_cnd.cn_namelen = nfsrv_putfhname(&fh, bufp); + + /* Create the date file in the DS mount. */ + error = NFSVOPLOCK(dvp[i], LK_EXCLUSIVE); if (error == 0) { - /* Set the ownership of the file. */ - vauid = va.va_uid; - vagid = va.va_gid; - vamode = va.va_mode; - VATTR_NULL(&va); - va.va_uid = vauid; - va.va_gid = vagid; - va.va_mode = vamode; - error = VOP_SETATTR(nvp, &va, tcred); - NFSD_DEBUG(4, "nfsrv_pnfscreate: setattr-uid=%d\n", - error); + error = VOP_CREATE(dvp[i], &nvp, &named.ni_cnd, vap); + NFSVOPUNLOCK(dvp[i], 0); + if (error == 0) { + /* Set the ownership of the file. */ + vauid = va.va_uid; + vagid = va.va_gid; + vamode = va.va_mode; + VATTR_NULL(&va); + va.va_uid = vauid; + va.va_gid = vagid; + va.va_mode = vamode; + error = VOP_SETATTR(nvp, &va, tcred); + NFSD_DEBUG(4, "nfsrv_pnfscreate:" + " setattr-uid=%d\n", error); + if (error != 0) + vput(nvp); + } if (error != 0) - vput(nvp); + printf("pNFS: pnfscreate failed=%d\n", error); + } else + printf("pNFS: pnfscreate vnlock=%d\n", error); + if (error == 0) { + np = VTONFS(nvp); + nmp = VFSTONFS(nvp->v_mount); + if (strcmp(nvp->v_mount->mnt_vfc->vfc_name, "nfs") + != 0 || nmp->nm_nam->sa_len > sizeof( + struct sockaddr_in6) || + np->n_fhp->nfh_len != NFSX_MYFH) { + printf("Bad DS file: fstype=%s salen=%d" + " fhlen=%d\n", + nvp->v_mount->mnt_vfc->vfc_name, + nmp->nm_nam->sa_len, np->n_fhp->nfh_len); + error = ENOENT; + } + + /* Get the attributes of the DS file. */ + if (error == 0) + error = VOP_GETATTR(nvp, &va, cred); + /* Set extattrs for the DS on the MDS file. */ + if (error == 0) { + dsattr.dsa_filerev = va.va_filerev; + dsattr.dsa_size = va.va_size; + dsattr.dsa_atime = va.va_atime; + dsattr.dsa_mtime = va.va_mtime; + tpf->dsf_dir = dsdir[i]; + NFSBCOPY(np->n_fhp->nfh_fh, &tpf->dsf_fh, + NFSX_MYFH); + NFSBCOPY(nmp->nm_nam, &tpf->dsf_sin, + nmp->nm_nam->sa_len); + NFSBCOPY(named.ni_cnd.cn_nameptr, + tpf->dsf_filename, + sizeof(tpf->dsf_filename)); + tpf++; + } else + printf("pNFS: pnfscreate can't get DS" + " attr=%d\n", error); + vput(nvp); } - if (error != 0) - printf("pNFS: pnfscreate failed=%d\n", error); - } else - printf("pNFS: pnfscreate vnlock=%d\n", error); + nfsvno_relpathbuf(&named); + } NFSFREECRED(tcred); if (error == 0) { - pf = NULL; - np = VTONFS(nvp); - nmp = VFSTONFS(nvp->v_mount); - if (strcmp(nvp->v_mount->mnt_vfc->vfc_name, "nfs") != 0 || - nmp->nm_nam->sa_len > sizeof(struct sockaddr_in6) || - np->n_fhp->nfh_len != NFSX_MYFH) { - printf("Bad DS file: fstype=%s salen=%d fhlen=%d\n", - nvp->v_mount->mnt_vfc->vfc_name, - nmp->nm_nam->sa_len, np->n_fhp->nfh_len); - error = ENOENT; - } - - /* Get the attributes of the DS file. */ - error = VOP_GETATTR(nvp, &va, cred); - /* Set extattrs for the DS on the MDS file. */ + error = vn_start_write(vp, &mp, V_WAIT); if (error == 0) { - dsattr.dsa_filerev = va.va_filerev; - dsattr.dsa_size = va.va_size; - dsattr.dsa_atime = va.va_atime; - dsattr.dsa_mtime = va.va_mtime; - pf = malloc(sizeof(*pf), M_TEMP, M_WAITOK | M_ZERO); - pf->dsf_dir = dsdir; - NFSBCOPY(np->n_fhp->nfh_fh, &pf->dsf_fh, NFSX_MYFH); - NFSBCOPY(nmp->nm_nam, &pf->dsf_sin, - nmp->nm_nam->sa_len); - NFSBCOPY(named.ni_cnd.cn_nameptr, pf->dsf_filename, - sizeof(pf->dsf_filename)); - error = vn_start_write(vp, &mp, V_WAIT); - } else - printf("pNFS: pnfscreate can't get DS attr=%d\n", - error); - if (error == 0) { error = vn_extattr_set(vp, IO_NODELOCKED, EXTATTR_NAMESPACE_SYSTEM, "pnfsd.dsfile", - sizeof(*pf), (char *)pf, p); + sizeof(*pf) * mirrorcnt, (char *)pf, p); if (error == 0) error = vn_extattr_set(vp, IO_NODELOCKED, EXTATTR_NAMESPACE_SYSTEM, "pnfsd.dsattr", @@ -3730,11 +3751,9 @@ nfsrv_pnfscreate(struct vnode *vp, struct vattr *vap, error); } else printf("pNFS: pnfscreate startwrite=%d\n", error); - vput(nvp); - free(pf, M_TEMP); } else printf("pNFS: pnfscreate=%d\n", error); - nfsvno_relpathbuf(&named); + free(pf, M_TEMP); } /* From owner-svn-src-projects@freebsd.org Thu Aug 10 21:58:01 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1C452DDDD98 for ; Thu, 10 Aug 2017 21:58:01 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DD91A72E62; Thu, 10 Aug 2017 21:58:00 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v7ALw0xK018034; Thu, 10 Aug 2017 21:58:00 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v7ALw0Z6018030; Thu, 10 Aug 2017 21:58:00 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201708102158.v7ALw0Z6018030@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Thu, 10 Aug 2017 21:58:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322378 - projects/pnfs-planb-server-stable11/sys/fs/nfsserver X-SVN-Group: projects X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: projects/pnfs-planb-server-stable11/sys/fs/nfsserver X-SVN-Commit-Revision: 322378 X-SVN-Commit-Repository: base 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.23 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, 10 Aug 2017 21:58:01 -0000 Author: rmacklem Date: Thu Aug 10 21:57:59 2017 New Revision: 322378 URL: https://svnweb.freebsd.org/changeset/base/322378 Log: Add some handling of mirror limits. Modified: projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c Modified: projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c Thu Aug 10 21:48:34 2017 (r322377) +++ projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c Thu Aug 10 21:57:59 2017 (r322378) @@ -6839,7 +6839,9 @@ nfsrv_setdsserver(char *dspathp, char *mirrorp, NFSPRO i = 1; TAILQ_FOREACH(tds, &mds->nfsdev_mirrors, nfsdev_list) i++; - if (i > nfsrv_maxpnfsmirror) + if (i > NFSDEV_MAXMIRRORS) + error = ENXIO; + else if (i > nfsrv_maxpnfsmirror) nfsrv_maxpnfsmirror = i; break; } @@ -6940,6 +6942,7 @@ nfsrv_createdevids(struct nfsd_nfsd_args *args, NFSPRO dnshostp = args->dnshost; dspathp = args->dspath; mirrorp = args->mirror; + nfsrv_maxpnfsmirror = 1; if (addrp == NULL || dnshostp == NULL || dspathp == NULL || mirrorp == NULL) return (0); From owner-svn-src-projects@freebsd.org Thu Aug 10 22:00:09 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F13B4DDDDC5 for ; Thu, 10 Aug 2017 22:00:09 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C0C6E72F86; Thu, 10 Aug 2017 22:00:09 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v7AM08e8018215; Thu, 10 Aug 2017 22:00:09 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v7AM08La018214; Thu, 10 Aug 2017 22:00:08 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201708102200.v7AM08La018214@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Thu, 10 Aug 2017 22:00:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322379 - projects/pnfs-planb-server/sys/fs/nfsserver X-SVN-Group: projects X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: projects/pnfs-planb-server/sys/fs/nfsserver X-SVN-Commit-Revision: 322379 X-SVN-Commit-Repository: base 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.23 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, 10 Aug 2017 22:00:10 -0000 Author: rmacklem Date: Thu Aug 10 22:00:08 2017 New Revision: 322379 URL: https://svnweb.freebsd.org/changeset/base/322379 Log: Add some handling of mirror limits. Modified: projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c Modified: projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c ============================================================================== --- projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c Thu Aug 10 21:57:59 2017 (r322378) +++ projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c Thu Aug 10 22:00:08 2017 (r322379) @@ -6839,7 +6839,9 @@ nfsrv_setdsserver(char *dspathp, char *mirrorp, NFSPRO i = 1; TAILQ_FOREACH(tds, &mds->nfsdev_mirrors, nfsdev_list) i++; - if (i > nfsrv_maxpnfsmirror) + if (i > NFSDEV_MAXMIRRORS) + error = ENXIO; + else if (i > nfsrv_maxpnfsmirror) nfsrv_maxpnfsmirror = i; break; } @@ -6940,6 +6942,7 @@ nfsrv_createdevids(struct nfsd_nfsd_args *args, NFSPRO dnshostp = args->dnshost; dspathp = args->dspath; mirrorp = args->mirror; + nfsrv_maxpnfsmirror = 1; if (addrp == NULL || dnshostp == NULL || dspathp == NULL || mirrorp == NULL) return (0); From owner-svn-src-projects@freebsd.org Thu Aug 10 23:39:22 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2F778C789FA for ; Thu, 10 Aug 2017 23:39:22 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 097D275FC4; Thu, 10 Aug 2017 23:39:21 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v7ANdLsj059247; Thu, 10 Aug 2017 23:39:21 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v7ANdLG7059246; Thu, 10 Aug 2017 23:39:21 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201708102339.v7ANdLG7059246@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Thu, 10 Aug 2017 23:39:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322384 - projects/pnfs-planb-server-stable11/sys/fs/nfsserver X-SVN-Group: projects X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: projects/pnfs-planb-server-stable11/sys/fs/nfsserver X-SVN-Commit-Revision: 322384 X-SVN-Commit-Repository: base 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.23 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, 10 Aug 2017 23:39:22 -0000 Author: rmacklem Date: Thu Aug 10 23:39:20 2017 New Revision: 322384 URL: https://svnweb.freebsd.org/changeset/base/322384 Log: Fix up the arguments for nfsrv_dsgetsockmnt() to handle mirrors. Modified: projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdport.c Modified: projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdport.c Thu Aug 10 22:43:38 2017 (r322383) +++ projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdport.c Thu Aug 10 23:39:20 2017 (r322384) @@ -103,8 +103,9 @@ static void nfsrv_pnfsremove(struct vnode *, fhandle_t static int nfsrv_proxyds(struct nfsrv_descript *, struct vnode *, off_t, int, struct ucred *, struct thread *, int, struct mbuf **, char *, struct mbuf **, struct nfsvattr *, struct acl *); -static int nfsrv_dsgetsockmnt(struct vnode *, int, char *, int, NFSPROC_T *, - struct vnode **, struct nfsmount **, fhandle_t *, char *, char *); +static int nfsrv_dsgetsockmnt(struct vnode *, int, char *, int, int *, + NFSPROC_T *, struct vnode **, struct nfsmount **, fhandle_t *, char *, + char *); static int nfsrv_setextattr(struct vnode *, struct nfsvattr *, NFSPROC_T *); static int nfsrv_readdsrpc(fhandle_t *, off_t, int, struct ucred *, NFSPROC_T *, struct nfsmount *, struct mbuf **, struct mbuf **); @@ -3748,12 +3749,12 @@ static void nfsrv_pnfsremovesetup(struct vnode *vp, NFSPROC_T *p, struct vnode **dvpp, fhandle_t *fhp, char *fname) { - struct vnode *dvp; - struct nfsmount *nmp; + struct vnode *dvp[NFSDEV_MAXMIRRORS]; + struct nfsmount *nmp[NFSDEV_MAXMIRRORS]; struct vattr va; struct ucred *tcred; char *buf; - int buflen, error; + int buflen, error, mirrorcnt; *dvpp = NULL; /* If not an exported regular file or not a pNFS server, just return. */ @@ -3779,19 +3780,19 @@ nfsrv_pnfsremovesetup(struct vnode *vp, NFSPROC_T *p, buflen = 1024; buf = malloc(buflen, M_TEMP, M_WAITOK); /* Get the directory vnode for the DS mount and the file handle. */ - error = nfsrv_dsgetsockmnt(vp, LK_EXCLUSIVE, buf, buflen, p, &dvp, - &nmp, NULL, NULL, fname); + error = nfsrv_dsgetsockmnt(vp, LK_EXCLUSIVE, buf, buflen, &mirrorcnt, p, + dvp, nmp, NULL, NULL, fname); if (error == 0) { error = nfsvno_getfh(vp, fhp, p); if (error != 0) { - NFSVOPUNLOCK(dvp, 0); + NFSVOPUNLOCK(dvp[0], 0); printf("pNFS: nfsrv_pnfsremovesetup getfh=%d\n", error); } } else printf("pNFS: nfsrv_pnfsremovesetup getsockmnt=%d\n", error); free(buf, M_TEMP); if (error == 0) - *dvpp = dvp; + *dvpp = dvp[0]; } /* @@ -3892,12 +3893,12 @@ nfsrv_proxyds(struct nfsrv_descript *nd, struct vnode struct ucred *cred, struct thread *p, int ioproc, struct mbuf **mpp, char *cp, struct mbuf **mpp2, struct nfsvattr *nap, struct acl *aclp) { - struct nfsmount *nmp; - fhandle_t fh; - struct vnode *dvp; + struct nfsmount *nmp[NFSDEV_MAXMIRRORS]; + fhandle_t fh[NFSDEV_MAXMIRRORS]; + struct vnode *dvp[NFSDEV_MAXMIRRORS]; struct pnfsdsattr dsattr; char *buf; - int buflen, error; + int buflen, error, mirrorcnt; NFSD_DEBUG(4, "in nfsrv_proxyds\n"); /* @@ -3958,29 +3959,29 @@ nfsrv_proxyds(struct nfsrv_descript *nd, struct vnode if (error == 0) { buflen = 1024; - error = nfsrv_dsgetsockmnt(vp, LK_SHARED, buf, buflen, p, - &dvp, &nmp, &fh, NULL, NULL); + error = nfsrv_dsgetsockmnt(vp, LK_SHARED, buf, buflen, + &mirrorcnt, p, dvp, nmp, fh, NULL, NULL); if (error != 0) printf("pNFS: proxy getextattr sockaddr=%d\n", error); } else printf("pNFS: nfsrv_dsgetsockmnt=%d\n", error); if (error == 0) { if (ioproc == NFSPROC_READDS) - error = nfsrv_readdsrpc(&fh, off, cnt, cred, p, nmp, + error = nfsrv_readdsrpc(fh, off, cnt, cred, p, nmp[0], mpp, mpp2); else if (ioproc == NFSPROC_WRITEDS) - error = nfsrv_writedsrpc(&fh, off, cnt, cred, p, vp, - nmp, mpp, cp); + error = nfsrv_writedsrpc(fh, off, cnt, cred, p, vp, + nmp[0], mpp, cp); else if (ioproc == NFSPROC_SETATTR) - error = nfsrv_setattrdsrpc(&fh, cred, p, vp, nmp, + error = nfsrv_setattrdsrpc(fh, cred, p, vp, nmp[0], nap); else if (ioproc == NFSPROC_SETACL) - error = nfsrv_setacldsrpc(&fh, cred, p, vp, nmp, + error = nfsrv_setacldsrpc(fh, cred, p, vp, nmp[0], aclp); else - error = nfsrv_getattrdsrpc(&fh, cred, p, vp, nmp, + error = nfsrv_getattrdsrpc(fh, cred, p, vp, nmp[0], nap); - NFSVOPUNLOCK(dvp, 0); + NFSVOPUNLOCK(dvp[0], 0); NFSD_DEBUG(4, "nfsrv_proxyds: aft RPC=%d\n", error); } else { /* Return ENOENT for any Extended Attribute error. */ @@ -3997,8 +3998,8 @@ nfsrv_proxyds(struct nfsrv_descript *nd, struct vnode */ static int nfsrv_dsgetsockmnt(struct vnode *vp, int lktype, char *buf, int buflen, - NFSPROC_T *p, struct vnode **dvpp, struct nfsmount **nmpp, fhandle_t *fhp, - char *devid, char *fnamep) + int *mirrorcntp, NFSPROC_T *p, struct vnode **dvpp, struct nfsmount **nmpp, + fhandle_t *fhp, char *devid, char *fnamep) { struct vnode *dvp; struct nfsmount *nmp; @@ -4008,6 +4009,7 @@ nfsrv_dsgetsockmnt(struct vnode *vp, int lktype, char uint32_t dsdir; int error, fhiszero; + *mirrorcntp = 1; fhiszero = 0; if (lktype == 0) lktype = LK_SHARED; @@ -4523,9 +4525,8 @@ nfsrv_dsgetdevandfh(struct vnode *vp, NFSPROC_T *p, in buflen = 1024; buf = malloc(buflen, M_TEMP, M_WAITOK); - error = nfsrv_dsgetsockmnt(vp, 0, buf, buflen, p, NULL, NULL, fhp, - devid, NULL); - *mirrorcntp = 1; + error = nfsrv_dsgetsockmnt(vp, 0, buf, buflen, mirrorcntp, p, NULL, + NULL, fhp, devid, NULL); free(buf, M_TEMP); return (error); } From owner-svn-src-projects@freebsd.org Thu Aug 10 23:45:33 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E623FC7939A for ; Thu, 10 Aug 2017 23:45:33 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BD0F176488; Thu, 10 Aug 2017 23:45:33 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v7ANjWf2063032; Thu, 10 Aug 2017 23:45:32 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v7ANjWnN063031; Thu, 10 Aug 2017 23:45:32 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201708102345.v7ANjWnN063031@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Thu, 10 Aug 2017 23:45:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322385 - projects/pnfs-planb-server/sys/fs/nfsserver X-SVN-Group: projects X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: projects/pnfs-planb-server/sys/fs/nfsserver X-SVN-Commit-Revision: 322385 X-SVN-Commit-Repository: base 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.23 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, 10 Aug 2017 23:45:34 -0000 Author: rmacklem Date: Thu Aug 10 23:45:32 2017 New Revision: 322385 URL: https://svnweb.freebsd.org/changeset/base/322385 Log: Fix the arguments for nfsrv_dsgetsockmnt() to handle mirrors. Modified: projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdport.c Modified: projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdport.c Thu Aug 10 23:39:20 2017 (r322384) +++ projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdport.c Thu Aug 10 23:45:32 2017 (r322385) @@ -103,8 +103,9 @@ static void nfsrv_pnfsremove(struct vnode *, fhandle_t static int nfsrv_proxyds(struct nfsrv_descript *, struct vnode *, off_t, int, struct ucred *, struct thread *, int, struct mbuf **, char *, struct mbuf **, struct nfsvattr *, struct acl *); -static int nfsrv_dsgetsockmnt(struct vnode *, int, char *, int, NFSPROC_T *, - struct vnode **, struct nfsmount **, fhandle_t *, char *, char *); +static int nfsrv_dsgetsockmnt(struct vnode *, int, char *, int, int *, + NFSPROC_T *, struct vnode **, struct nfsmount **, fhandle_t *, char *, + char *); static int nfsrv_setextattr(struct vnode *, struct nfsvattr *, NFSPROC_T *); static int nfsrv_readdsrpc(fhandle_t *, off_t, int, struct ucred *, NFSPROC_T *, struct nfsmount *, struct mbuf **, struct mbuf **); @@ -3765,12 +3766,12 @@ static void nfsrv_pnfsremovesetup(struct vnode *vp, NFSPROC_T *p, struct vnode **dvpp, fhandle_t *fhp, char *fname) { - struct vnode *dvp; - struct nfsmount *nmp; + struct vnode *dvp[NFSDEV_MAXMIRRORS]; + struct nfsmount *nmp[NFSDEV_MAXMIRRORS]; struct vattr va; struct ucred *tcred; char *buf; - int buflen, error; + int buflen, error, mirrorcnt; *dvpp = NULL; /* If not an exported regular file or not a pNFS server, just return. */ @@ -3796,19 +3797,19 @@ nfsrv_pnfsremovesetup(struct vnode *vp, NFSPROC_T *p, buflen = 1024; buf = malloc(buflen, M_TEMP, M_WAITOK); /* Get the directory vnode for the DS mount and the file handle. */ - error = nfsrv_dsgetsockmnt(vp, LK_EXCLUSIVE, buf, buflen, p, &dvp, - &nmp, NULL, NULL, fname); + error = nfsrv_dsgetsockmnt(vp, LK_EXCLUSIVE, buf, buflen, &mirrorcnt, p, + dvp, nmp, NULL, NULL, fname); if (error == 0) { error = nfsvno_getfh(vp, fhp, p); if (error != 0) { - NFSVOPUNLOCK(dvp, 0); + NFSVOPUNLOCK(dvp[0], 0); printf("pNFS: nfsrv_pnfsremovesetup getfh=%d\n", error); } } else printf("pNFS: nfsrv_pnfsremovesetup getsockmnt=%d\n", error); free(buf, M_TEMP); if (error == 0) - *dvpp = dvp; + *dvpp = dvp[0]; } /* @@ -3909,12 +3910,12 @@ nfsrv_proxyds(struct nfsrv_descript *nd, struct vnode struct ucred *cred, struct thread *p, int ioproc, struct mbuf **mpp, char *cp, struct mbuf **mpp2, struct nfsvattr *nap, struct acl *aclp) { - struct nfsmount *nmp; - fhandle_t fh; - struct vnode *dvp; + struct nfsmount *nmp[NFSDEV_MAXMIRRORS]; + fhandle_t fh[NFSDEV_MAXMIRRORS]; + struct vnode *dvp[NFSDEV_MAXMIRRORS]; struct pnfsdsattr dsattr; char *buf; - int buflen, error; + int buflen, error, mirrorcnt; NFSD_DEBUG(4, "in nfsrv_proxyds\n"); /* @@ -3975,29 +3976,29 @@ nfsrv_proxyds(struct nfsrv_descript *nd, struct vnode if (error == 0) { buflen = 1024; - error = nfsrv_dsgetsockmnt(vp, LK_SHARED, buf, buflen, p, - &dvp, &nmp, &fh, NULL, NULL); + error = nfsrv_dsgetsockmnt(vp, LK_SHARED, buf, buflen, + &mirrorcnt, p, dvp, nmp, fh, NULL, NULL); if (error != 0) printf("pNFS: proxy getextattr sockaddr=%d\n", error); } else printf("pNFS: nfsrv_dsgetsockmnt=%d\n", error); if (error == 0) { if (ioproc == NFSPROC_READDS) - error = nfsrv_readdsrpc(&fh, off, cnt, cred, p, nmp, + error = nfsrv_readdsrpc(fh, off, cnt, cred, p, nmp[0], mpp, mpp2); else if (ioproc == NFSPROC_WRITEDS) - error = nfsrv_writedsrpc(&fh, off, cnt, cred, p, vp, - nmp, mpp, cp); + error = nfsrv_writedsrpc(fh, off, cnt, cred, p, vp, + nmp[0], mpp, cp); else if (ioproc == NFSPROC_SETATTR) - error = nfsrv_setattrdsrpc(&fh, cred, p, vp, nmp, + error = nfsrv_setattrdsrpc(fh, cred, p, vp, nmp[0], nap); else if (ioproc == NFSPROC_SETACL) - error = nfsrv_setacldsrpc(&fh, cred, p, vp, nmp, + error = nfsrv_setacldsrpc(fh, cred, p, vp, nmp[0], aclp); else - error = nfsrv_getattrdsrpc(&fh, cred, p, vp, nmp, + error = nfsrv_getattrdsrpc(fh, cred, p, vp, nmp[0], nap); - NFSVOPUNLOCK(dvp, 0); + NFSVOPUNLOCK(dvp[0], 0); NFSD_DEBUG(4, "nfsrv_proxyds: aft RPC=%d\n", error); } else { /* Return ENOENT for any Extended Attribute error. */ @@ -4014,8 +4015,8 @@ nfsrv_proxyds(struct nfsrv_descript *nd, struct vnode */ static int nfsrv_dsgetsockmnt(struct vnode *vp, int lktype, char *buf, int buflen, - NFSPROC_T *p, struct vnode **dvpp, struct nfsmount **nmpp, fhandle_t *fhp, - char *devid, char *fnamep) + int *mirrorcntp, NFSPROC_T *p, struct vnode **dvpp, struct nfsmount **nmpp, + fhandle_t *fhp, char *devid, char *fnamep) { struct vnode *dvp; struct nfsmount *nmp; @@ -4025,6 +4026,7 @@ nfsrv_dsgetsockmnt(struct vnode *vp, int lktype, char uint32_t dsdir; int error, fhiszero; + *mirrorcntp = 1; fhiszero = 0; if (lktype == 0) lktype = LK_SHARED; @@ -4540,9 +4542,8 @@ nfsrv_dsgetdevandfh(struct vnode *vp, NFSPROC_T *p, in buflen = 1024; buf = malloc(buflen, M_TEMP, M_WAITOK); - error = nfsrv_dsgetsockmnt(vp, 0, buf, buflen, p, NULL, NULL, fhp, - devid, NULL); - *mirrorcntp = 1; + error = nfsrv_dsgetsockmnt(vp, 0, buf, buflen, mirrorcntp, p, NULL, + NULL, fhp, devid, NULL); free(buf, M_TEMP); return (error); } From owner-svn-src-projects@freebsd.org Fri Aug 11 10:59:41 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BD18BDC5D5B for ; Fri, 11 Aug 2017 10:59:41 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E439E6CC31; Fri, 11 Aug 2017 10:59:40 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v7BAxe39036939; Fri, 11 Aug 2017 10:59:40 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v7BAxadv036898; Fri, 11 Aug 2017 10:59:36 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201708111059.v7BAxadv036898@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Fri, 11 Aug 2017 10:59:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322398 - in projects/bsd_rdma_4_9: . bin/cat bin/chmod/tests bin/date bin/dd bin/df bin/echo bin/expr bin/ln bin/ls bin/mv bin/pax bin/pkill bin/sh bin/sleep bin/test cddl cddl/contrib... X-SVN-Group: projects X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: in projects/bsd_rdma_4_9: . bin/cat bin/chmod/tests bin/date bin/dd bin/df bin/echo bin/expr bin/ln bin/ls bin/mv bin/pax bin/pkill bin/sh bin/sleep bin/test cddl cddl/contrib/opensolaris/cmd/dtrace/t... X-SVN-Commit-Revision: 322398 X-SVN-Commit-Repository: base 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.23 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: Fri, 11 Aug 2017 10:59:41 -0000 Author: hselasky Date: Fri Aug 11 10:59:34 2017 New Revision: 322398 URL: https://svnweb.freebsd.org/changeset/base/322398 Log: Merge ^/head r321383 through r322397. Added: projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/probes/tst.probestar.c - copied unchanged from r322397, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/probes/tst.probestar.c projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.NoSpecBuffer.exe - copied unchanged from r322397, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.NoSpecBuffer.exe projects/bsd_rdma_4_9/contrib/hyperv/tools/scripts/hyperv_vfattach - copied unchanged from r322397, head/contrib/hyperv/tools/scripts/hyperv_vfattach projects/bsd_rdma_4_9/contrib/hyperv/tools/scripts/hyperv_vfup - copied unchanged from r322397, head/contrib/hyperv/tools/scripts/hyperv_vfup projects/bsd_rdma_4_9/contrib/mdocml/compat_recallocarray.c - copied unchanged from r322397, head/contrib/mdocml/compat_recallocarray.c projects/bsd_rdma_4_9/contrib/mdocml/mandoc_xr.c - copied unchanged from r322397, head/contrib/mdocml/mandoc_xr.c projects/bsd_rdma_4_9/contrib/mdocml/mandoc_xr.h - copied unchanged from r322397, head/contrib/mdocml/mandoc_xr.h projects/bsd_rdma_4_9/contrib/mdocml/test-recallocarray.c - copied unchanged from r322397, head/contrib/mdocml/test-recallocarray.c projects/bsd_rdma_4_9/crypto/openssh/regress/unittests/conversion/ - copied from r322397, head/crypto/openssh/regress/unittests/conversion/ projects/bsd_rdma_4_9/share/vt/keymaps/tr.f.kbd - copied unchanged from r322397, head/share/vt/keymaps/tr.f.kbd projects/bsd_rdma_4_9/sys/arm/conf/GENERIC-NODEBUG - copied unchanged from r322397, head/sys/arm/conf/GENERIC-NODEBUG projects/bsd_rdma_4_9/sys/arm/freescale/imx/imx6_ahci.c - copied unchanged from r322397, head/sys/arm/freescale/imx/imx6_ahci.c projects/bsd_rdma_4_9/sys/boot/efi/include/efi_driver_utils.h - copied unchanged from r322397, head/sys/boot/efi/include/efi_driver_utils.h projects/bsd_rdma_4_9/sys/boot/efi/include/efi_drivers.h - copied unchanged from r322397, head/sys/boot/efi/include/efi_drivers.h projects/bsd_rdma_4_9/sys/boot/efi/include/efizfs.h - copied unchanged from r322397, head/sys/boot/efi/include/efizfs.h projects/bsd_rdma_4_9/sys/boot/efi/libefi/devicename.c - copied unchanged from r322397, head/sys/boot/efi/libefi/devicename.c projects/bsd_rdma_4_9/sys/boot/efi/libefi/efi_driver_utils.c - copied unchanged from r322397, head/sys/boot/efi/libefi/efi_driver_utils.c projects/bsd_rdma_4_9/sys/boot/efi/libefi/efizfs.c - copied unchanged from r322397, head/sys/boot/efi/libefi/efizfs.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslparseop.c - copied unchanged from r322397, head/sys/contrib/dev/acpica/compiler/aslparseop.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/dispatcher/dspkginit.c - copied unchanged from r322397, head/sys/contrib/dev/acpica/components/dispatcher/dspkginit.c projects/bsd_rdma_4_9/sys/dev/cxgbe/cudbg/ - copied from r322397, head/sys/dev/cxgbe/cudbg/ projects/bsd_rdma_4_9/sys/dev/iicbus/isl12xx.c - copied unchanged from r322397, head/sys/dev/iicbus/isl12xx.c projects/bsd_rdma_4_9/sys/dev/iicbus/nxprtc.c - copied unchanged from r322397, head/sys/dev/iicbus/nxprtc.c projects/bsd_rdma_4_9/sys/modules/i2c/ds1307/ - copied from r322397, head/sys/modules/i2c/ds1307/ projects/bsd_rdma_4_9/sys/modules/i2c/ds3231/ - copied from r322397, head/sys/modules/i2c/ds3231/ projects/bsd_rdma_4_9/sys/modules/i2c/isl12xx/ - copied from r322397, head/sys/modules/i2c/isl12xx/ projects/bsd_rdma_4_9/sys/modules/i2c/nxprtc/ - copied from r322397, head/sys/modules/i2c/nxprtc/ projects/bsd_rdma_4_9/usr.bin/indent/tests/comments.0.pro - copied unchanged from r322397, head/usr.bin/indent/tests/comments.0.pro Deleted: projects/bsd_rdma_4_9/contrib/jemalloc/src/spin.c projects/bsd_rdma_4_9/crypto/openssh/auth1.c projects/bsd_rdma_4_9/sys/boot/efi/loader/devicename.c projects/bsd_rdma_4_9/sys/boot/fdt/dts/riscv/ projects/bsd_rdma_4_9/sys/dev/iicbus/pcf8563.c projects/bsd_rdma_4_9/sys/dev/iicbus/pcf8563reg.h projects/bsd_rdma_4_9/sys/net/flowtable.c projects/bsd_rdma_4_9/sys/net/flowtable.h projects/bsd_rdma_4_9/sys/riscv/conf/LOWRISC projects/bsd_rdma_4_9/sys/riscv/conf/LOWRISC.hints projects/bsd_rdma_4_9/sys/riscv/conf/QEMU projects/bsd_rdma_4_9/sys/riscv/conf/ROCKET projects/bsd_rdma_4_9/sys/riscv/conf/SPIKE projects/bsd_rdma_4_9/sys/riscv/riscv/sbi.S projects/bsd_rdma_4_9/sys/sys/ksyms.h projects/bsd_rdma_4_9/usr.bin/indent/tests/comments.pro projects/bsd_rdma_4_9/usr.bin/netstat/flowtable.c Modified: projects/bsd_rdma_4_9/Makefile projects/bsd_rdma_4_9/Makefile.inc1 projects/bsd_rdma_4_9/Makefile.libcompat projects/bsd_rdma_4_9/ObsoleteFiles.inc projects/bsd_rdma_4_9/UPDATING projects/bsd_rdma_4_9/bin/cat/Makefile projects/bsd_rdma_4_9/bin/cat/cat.c projects/bsd_rdma_4_9/bin/chmod/tests/chmod_test.sh projects/bsd_rdma_4_9/bin/date/Makefile projects/bsd_rdma_4_9/bin/dd/Makefile projects/bsd_rdma_4_9/bin/df/df.1 projects/bsd_rdma_4_9/bin/df/df.c projects/bsd_rdma_4_9/bin/echo/Makefile projects/bsd_rdma_4_9/bin/expr/Makefile projects/bsd_rdma_4_9/bin/ln/Makefile projects/bsd_rdma_4_9/bin/ls/Makefile projects/bsd_rdma_4_9/bin/mv/Makefile projects/bsd_rdma_4_9/bin/pax/Makefile projects/bsd_rdma_4_9/bin/pkill/Makefile projects/bsd_rdma_4_9/bin/pkill/pkill.c projects/bsd_rdma_4_9/bin/sh/Makefile projects/bsd_rdma_4_9/bin/sleep/Makefile projects/bsd_rdma_4_9/bin/test/Makefile projects/bsd_rdma_4_9/cddl/Makefile projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.CoalesceTrace.d projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithFunction.d.ksh projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroFunctionProbes.d.ksh projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.basename.d projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.basename.d.out projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.cleanpath.d projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh.out projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/probes/tst.probestar.d projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.NoSpecBuffer.d projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/lockstat/sym.c projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/ztest/ztest.c projects/bsd_rdma_4_9/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c projects/bsd_rdma_4_9/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c projects/bsd_rdma_4_9/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_compat.c projects/bsd_rdma_4_9/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c projects/bsd_rdma_4_9/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c projects/bsd_rdma_4_9/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.h projects/bsd_rdma_4_9/cddl/lib/Makefile projects/bsd_rdma_4_9/cddl/sbin/Makefile projects/bsd_rdma_4_9/cddl/usr.bin/Makefile projects/bsd_rdma_4_9/cddl/usr.sbin/Makefile projects/bsd_rdma_4_9/cddl/usr.sbin/dtrace/tests/common/probes/Makefile projects/bsd_rdma_4_9/cddl/usr.sbin/dtrace/tests/common/speculation/Makefile projects/bsd_rdma_4_9/cddl/usr.sbin/dtrace/tests/tools/dtest.sh projects/bsd_rdma_4_9/contrib/bmake/ChangeLog projects/bsd_rdma_4_9/contrib/bmake/Makefile projects/bsd_rdma_4_9/contrib/bmake/compat.c projects/bsd_rdma_4_9/contrib/bmake/job.c projects/bsd_rdma_4_9/contrib/bmake/make.h projects/bsd_rdma_4_9/contrib/bmake/nonints.h projects/bsd_rdma_4_9/contrib/compiler-rt/lib/builtins/int_lib.h projects/bsd_rdma_4_9/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h projects/bsd_rdma_4_9/contrib/elftoolchain/libelf/_libelf_config.h projects/bsd_rdma_4_9/contrib/ipfilter/arc4random.c projects/bsd_rdma_4_9/contrib/ipfilter/tools/ippool.c projects/bsd_rdma_4_9/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_types.h projects/bsd_rdma_4_9/contrib/jemalloc/include/jemalloc/internal/spin.h projects/bsd_rdma_4_9/contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h projects/bsd_rdma_4_9/contrib/libarchive/libarchive/archive_cryptor_private.h projects/bsd_rdma_4_9/contrib/libarchive/libarchive/archive_write_set_format_ar.c projects/bsd_rdma_4_9/contrib/libc++/include/__bsd_locale_defaults.h projects/bsd_rdma_4_9/contrib/libc++/include/__bsd_locale_fallbacks.h projects/bsd_rdma_4_9/contrib/libc++/include/__locale projects/bsd_rdma_4_9/contrib/libc++/include/mutex projects/bsd_rdma_4_9/contrib/libc++/include/sstream projects/bsd_rdma_4_9/contrib/libxo/Makefile.am projects/bsd_rdma_4_9/contrib/libxo/configure.ac projects/bsd_rdma_4_9/contrib/libxo/doc/libxo-manual.html projects/bsd_rdma_4_9/contrib/libxo/libxo/libxo.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/libxo.c projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_attr.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_create.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_emit.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_emit_err.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_emit_f.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_err.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_error.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_finish.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_flush.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_format.5 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_message.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_no_setlocale.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_open_container.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_open_list.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_open_marker.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_options.7 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_parse_args.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_set_allocator.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_set_flags.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_set_info.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_set_options.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_set_style.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_set_syslog_enterprise_id.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_set_version.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_set_writer.3 projects/bsd_rdma_4_9/contrib/libxo/libxo/xo_syslog.3 projects/bsd_rdma_4_9/contrib/libxo/tests/core/saved/test_01.E.out projects/bsd_rdma_4_9/contrib/libxo/tests/core/saved/test_01.H.out projects/bsd_rdma_4_9/contrib/libxo/tests/core/saved/test_01.HIPx.out projects/bsd_rdma_4_9/contrib/libxo/tests/core/saved/test_01.HP.out projects/bsd_rdma_4_9/contrib/libxo/tests/core/saved/test_01.J.out projects/bsd_rdma_4_9/contrib/libxo/tests/core/saved/test_01.JP.out projects/bsd_rdma_4_9/contrib/libxo/tests/core/saved/test_01.T.out projects/bsd_rdma_4_9/contrib/libxo/tests/core/saved/test_01.X.out projects/bsd_rdma_4_9/contrib/libxo/tests/core/saved/test_01.XP.out projects/bsd_rdma_4_9/contrib/libxo/tests/core/saved/test_02.E.out projects/bsd_rdma_4_9/contrib/libxo/tests/core/saved/test_02.J.out projects/bsd_rdma_4_9/contrib/libxo/tests/core/saved/test_02.JP.out projects/bsd_rdma_4_9/contrib/libxo/tests/core/saved/test_02.X.out projects/bsd_rdma_4_9/contrib/libxo/tests/core/saved/test_02.XP.out projects/bsd_rdma_4_9/contrib/libxo/tests/core/test_01.c projects/bsd_rdma_4_9/contrib/libxo/tests/xo/saved/xo_01.H.out projects/bsd_rdma_4_9/contrib/libxo/tests/xo/saved/xo_01.HIPx.out projects/bsd_rdma_4_9/contrib/libxo/tests/xo/saved/xo_01.HP.out projects/bsd_rdma_4_9/contrib/libxo/tests/xo/saved/xo_01.J.out projects/bsd_rdma_4_9/contrib/libxo/tests/xo/saved/xo_01.JP.out projects/bsd_rdma_4_9/contrib/libxo/tests/xo/saved/xo_01.T.out projects/bsd_rdma_4_9/contrib/libxo/tests/xo/saved/xo_01.X.out projects/bsd_rdma_4_9/contrib/libxo/tests/xo/saved/xo_01.XP.out projects/bsd_rdma_4_9/contrib/libxo/tests/xo/xo_01.sh projects/bsd_rdma_4_9/contrib/libxo/xo/xo.1 projects/bsd_rdma_4_9/contrib/libxo/xohtml/xohtml.1 projects/bsd_rdma_4_9/contrib/libxo/xohtml/xohtml.sh.in projects/bsd_rdma_4_9/contrib/libxo/xolint/xolint.1 projects/bsd_rdma_4_9/contrib/libxo/xopo/xopo.1 projects/bsd_rdma_4_9/contrib/llvm/include/llvm/Analysis/ValueTracking.h projects/bsd_rdma_4_9/contrib/llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h projects/bsd_rdma_4_9/contrib/llvm/include/llvm/CodeGen/MachineFunction.h projects/bsd_rdma_4_9/contrib/llvm/include/llvm/CodeGen/MachineInstr.h projects/bsd_rdma_4_9/contrib/llvm/include/llvm/Support/CommandLine.h projects/bsd_rdma_4_9/contrib/llvm/include/llvm/Support/TargetRegistry.h projects/bsd_rdma_4_9/contrib/llvm/include/llvm/Transforms/Utils/LoopUtils.h projects/bsd_rdma_4_9/contrib/llvm/lib/Analysis/ValueTracking.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/CodeGen/BranchFolding.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/CodeGen/CodeGenPrepare.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/CodeGen/InlineSpiller.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/CodeGen/MachineFunction.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/CodeGen/MachineInstr.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/CodeGen/RegAllocBase.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/CodeGen/StackColoring.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/IR/ConstantFold.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/Object/COFFImportFile.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/Option/OptTable.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/Support/CommandLine.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/Support/ErrorHandling.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/Support/TargetRegistry.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.td projects/bsd_rdma_4_9/contrib/llvm/lib/Target/AArch64/AArch64MacroFusion.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/Target/AMDGPU/SIRegisterInfo.td projects/bsd_rdma_4_9/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZ14.td projects/bsd_rdma_4_9/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/Target/X86/X86InstrSSE.td projects/bsd_rdma_4_9/contrib/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/Transforms/Utils/CloneModule.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/Transforms/Utils/LoopUtils.cpp projects/bsd_rdma_4_9/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp projects/bsd_rdma_4_9/contrib/llvm/projects/libunwind/include/__libunwind_config.h projects/bsd_rdma_4_9/contrib/llvm/projects/libunwind/src/UnwindRegistersRestore.S projects/bsd_rdma_4_9/contrib/llvm/projects/libunwind/src/UnwindRegistersSave.S projects/bsd_rdma_4_9/contrib/llvm/projects/libunwind/src/config.h projects/bsd_rdma_4_9/contrib/llvm/projects/libunwind/src/libunwind.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/clang/include/clang/AST/StmtCXX.h projects/bsd_rdma_4_9/contrib/llvm/tools/clang/include/clang/AST/Type.h projects/bsd_rdma_4_9/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def projects/bsd_rdma_4_9/contrib/llvm/tools/clang/include/clang/Driver/Options.td projects/bsd_rdma_4_9/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/AST/ODRHash.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/AST/StmtCXX.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/AST/Type.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Basic/DiagnosticIDs.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Basic/Version.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTBAA.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Driver/Driver.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/Mips.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Driver/ToolChains/OpenBSD.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Headers/avx2intrin.h projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Headers/avx512fintrin.h projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Headers/avxintrin.h projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Headers/float.h projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Headers/unwind.h projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Lex/ScratchBuffer.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Sema/Sema.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/clang/lib/Serialization/ASTWriterStmt.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/clang/tools/clang-format/ClangFormat.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/lld/COFF/Config.h projects/bsd_rdma_4_9/contrib/llvm/tools/lld/COFF/Driver.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/lld/ELF/InputFiles.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/lld/ELF/InputFiles.h projects/bsd_rdma_4_9/contrib/llvm/tools/lld/ELF/SymbolTable.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/ObjCPass.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/lldb/include/lldb/API/SBAttachInfo.h projects/bsd_rdma_4_9/contrib/llvm/tools/lldb/include/lldb/API/SBBreakpoint.h projects/bsd_rdma_4_9/contrib/llvm/tools/lldb/include/lldb/API/SBProcess.h projects/bsd_rdma_4_9/contrib/llvm/tools/lldb/include/lldb/Target/Platform.h projects/bsd_rdma_4_9/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-i386/ABISysV_i386.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h projects/bsd_rdma_4_9/contrib/llvm/tools/lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.h projects/bsd_rdma_4_9/contrib/llvm/tools/lldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/lldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.h projects/bsd_rdma_4_9/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/POSIXStopInfo.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/POSIXStopInfo.h projects/bsd_rdma_4_9/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp projects/bsd_rdma_4_9/contrib/llvm/tools/lldb/source/Target/Platform.cpp projects/bsd_rdma_4_9/contrib/mdocml/INSTALL projects/bsd_rdma_4_9/contrib/mdocml/LICENSE projects/bsd_rdma_4_9/contrib/mdocml/Makefile projects/bsd_rdma_4_9/contrib/mdocml/Makefile.depend projects/bsd_rdma_4_9/contrib/mdocml/NEWS projects/bsd_rdma_4_9/contrib/mdocml/TODO projects/bsd_rdma_4_9/contrib/mdocml/apropos.1 projects/bsd_rdma_4_9/contrib/mdocml/att.c projects/bsd_rdma_4_9/contrib/mdocml/cgi.c projects/bsd_rdma_4_9/contrib/mdocml/chars.c projects/bsd_rdma_4_9/contrib/mdocml/config.h projects/bsd_rdma_4_9/contrib/mdocml/configure projects/bsd_rdma_4_9/contrib/mdocml/configure.local.example projects/bsd_rdma_4_9/contrib/mdocml/demandoc.c projects/bsd_rdma_4_9/contrib/mdocml/eqn.7 projects/bsd_rdma_4_9/contrib/mdocml/eqn.c projects/bsd_rdma_4_9/contrib/mdocml/eqn_html.c projects/bsd_rdma_4_9/contrib/mdocml/eqn_term.c projects/bsd_rdma_4_9/contrib/mdocml/gmdiff projects/bsd_rdma_4_9/contrib/mdocml/html.c projects/bsd_rdma_4_9/contrib/mdocml/html.h projects/bsd_rdma_4_9/contrib/mdocml/lib.c projects/bsd_rdma_4_9/contrib/mdocml/libmandoc.h projects/bsd_rdma_4_9/contrib/mdocml/libroff.h projects/bsd_rdma_4_9/contrib/mdocml/main.c projects/bsd_rdma_4_9/contrib/mdocml/man.7 projects/bsd_rdma_4_9/contrib/mdocml/man.c projects/bsd_rdma_4_9/contrib/mdocml/man.options.1 projects/bsd_rdma_4_9/contrib/mdocml/man_html.c projects/bsd_rdma_4_9/contrib/mdocml/man_macro.c projects/bsd_rdma_4_9/contrib/mdocml/man_term.c projects/bsd_rdma_4_9/contrib/mdocml/man_validate.c projects/bsd_rdma_4_9/contrib/mdocml/manconf.h projects/bsd_rdma_4_9/contrib/mdocml/mandoc.1 projects/bsd_rdma_4_9/contrib/mdocml/mandoc.3 projects/bsd_rdma_4_9/contrib/mdocml/mandoc.c projects/bsd_rdma_4_9/contrib/mdocml/mandoc.css projects/bsd_rdma_4_9/contrib/mdocml/mandoc.h projects/bsd_rdma_4_9/contrib/mdocml/mandoc_aux.c projects/bsd_rdma_4_9/contrib/mdocml/mandoc_aux.h projects/bsd_rdma_4_9/contrib/mdocml/mandoc_char.7 projects/bsd_rdma_4_9/contrib/mdocml/mandoc_escape.3 projects/bsd_rdma_4_9/contrib/mdocml/mandoc_headers.3 projects/bsd_rdma_4_9/contrib/mdocml/mandoc_html.3 projects/bsd_rdma_4_9/contrib/mdocml/mandocd.c projects/bsd_rdma_4_9/contrib/mdocml/mandocdb.c projects/bsd_rdma_4_9/contrib/mdocml/manpath.c projects/bsd_rdma_4_9/contrib/mdocml/mansearch.c projects/bsd_rdma_4_9/contrib/mdocml/mdoc.7 projects/bsd_rdma_4_9/contrib/mdocml/mdoc.c projects/bsd_rdma_4_9/contrib/mdocml/mdoc_html.c projects/bsd_rdma_4_9/contrib/mdocml/mdoc_man.c projects/bsd_rdma_4_9/contrib/mdocml/mdoc_markdown.c projects/bsd_rdma_4_9/contrib/mdocml/mdoc_term.c projects/bsd_rdma_4_9/contrib/mdocml/mdoc_validate.c projects/bsd_rdma_4_9/contrib/mdocml/msec.in projects/bsd_rdma_4_9/contrib/mdocml/out.c projects/bsd_rdma_4_9/contrib/mdocml/out.h projects/bsd_rdma_4_9/contrib/mdocml/read.c projects/bsd_rdma_4_9/contrib/mdocml/roff.7 projects/bsd_rdma_4_9/contrib/mdocml/roff.c projects/bsd_rdma_4_9/contrib/mdocml/roff.h projects/bsd_rdma_4_9/contrib/mdocml/roff_html.c projects/bsd_rdma_4_9/contrib/mdocml/roff_int.h projects/bsd_rdma_4_9/contrib/mdocml/roff_term.c projects/bsd_rdma_4_9/contrib/mdocml/roff_validate.c projects/bsd_rdma_4_9/contrib/mdocml/soelim.1 projects/bsd_rdma_4_9/contrib/mdocml/st.c projects/bsd_rdma_4_9/contrib/mdocml/st.in projects/bsd_rdma_4_9/contrib/mdocml/tbl.7 projects/bsd_rdma_4_9/contrib/mdocml/tbl.c projects/bsd_rdma_4_9/contrib/mdocml/tbl_data.c projects/bsd_rdma_4_9/contrib/mdocml/tbl_html.c projects/bsd_rdma_4_9/contrib/mdocml/tbl_layout.c projects/bsd_rdma_4_9/contrib/mdocml/tbl_term.c projects/bsd_rdma_4_9/contrib/mdocml/term.c projects/bsd_rdma_4_9/contrib/mdocml/term.h projects/bsd_rdma_4_9/contrib/mdocml/term_ascii.c projects/bsd_rdma_4_9/contrib/mdocml/term_tab.c projects/bsd_rdma_4_9/contrib/mdocml/tree.c projects/bsd_rdma_4_9/contrib/netbsd-tests/lib/libc/gen/t_dir.c projects/bsd_rdma_4_9/contrib/netbsd-tests/lib/libc/regex/data/repet_bounded.in projects/bsd_rdma_4_9/contrib/netbsd-tests/lib/libc/regex/data/repet_multi.in projects/bsd_rdma_4_9/contrib/netbsd-tests/lib/libc/sys/t_mlock.c projects/bsd_rdma_4_9/contrib/netbsd-tests/usr.bin/grep/t_grep.sh projects/bsd_rdma_4_9/contrib/sqlite3/Makefile.msc projects/bsd_rdma_4_9/contrib/sqlite3/configure projects/bsd_rdma_4_9/contrib/sqlite3/configure.ac projects/bsd_rdma_4_9/contrib/sqlite3/shell.c projects/bsd_rdma_4_9/contrib/sqlite3/sqlite3.c projects/bsd_rdma_4_9/contrib/sqlite3/sqlite3.h projects/bsd_rdma_4_9/contrib/sqlite3/sqlite3ext.h projects/bsd_rdma_4_9/contrib/sqlite3/tea/configure projects/bsd_rdma_4_9/contrib/sqlite3/tea/configure.ac projects/bsd_rdma_4_9/contrib/sqlite3/tea/generic/tclsqlite3.c projects/bsd_rdma_4_9/contrib/subversion/CHANGES projects/bsd_rdma_4_9/contrib/subversion/NOTICE projects/bsd_rdma_4_9/contrib/subversion/build-outputs.mk projects/bsd_rdma_4_9/contrib/subversion/configure projects/bsd_rdma_4_9/contrib/subversion/subversion/include/svn_version.h projects/bsd_rdma_4_9/contrib/subversion/subversion/libsvn_client/copy.c projects/bsd_rdma_4_9/contrib/subversion/subversion/libsvn_client/merge.c projects/bsd_rdma_4_9/contrib/subversion/subversion/libsvn_fs_fs/cached_data.c projects/bsd_rdma_4_9/contrib/subversion/subversion/libsvn_fs_fs/cached_data.h projects/bsd_rdma_4_9/contrib/subversion/subversion/libsvn_fs_fs/rep-cache-db.h projects/bsd_rdma_4_9/contrib/subversion/subversion/libsvn_fs_fs/rep-cache.c projects/bsd_rdma_4_9/contrib/subversion/subversion/libsvn_fs_fs/transaction.c projects/bsd_rdma_4_9/contrib/subversion/subversion/libsvn_fs_x/rep-cache-db.h projects/bsd_rdma_4_9/contrib/subversion/subversion/libsvn_ra_svn/client.c projects/bsd_rdma_4_9/contrib/subversion/subversion/libsvn_repos/dump.c projects/bsd_rdma_4_9/contrib/subversion/subversion/libsvn_subr/config_file.c projects/bsd_rdma_4_9/contrib/subversion/subversion/libsvn_subr/internal_statements.h projects/bsd_rdma_4_9/contrib/subversion/subversion/libsvn_subr/io.c projects/bsd_rdma_4_9/contrib/subversion/subversion/libsvn_subr/version.c projects/bsd_rdma_4_9/contrib/subversion/subversion/libsvn_wc/wc-checks.h projects/bsd_rdma_4_9/contrib/subversion/subversion/libsvn_wc/wc-metadata.h projects/bsd_rdma_4_9/contrib/subversion/subversion/libsvn_wc/wc-queries.h projects/bsd_rdma_4_9/contrib/subversion/subversion/svnadmin/svnadmin.c projects/bsd_rdma_4_9/contrib/subversion/win-tests.py projects/bsd_rdma_4_9/contrib/top/machine.h projects/bsd_rdma_4_9/contrib/top/top.c projects/bsd_rdma_4_9/contrib/top/top.xs projects/bsd_rdma_4_9/contrib/zstd/lib/common/xxhash.c projects/bsd_rdma_4_9/crypto/openssh/ChangeLog projects/bsd_rdma_4_9/crypto/openssh/INSTALL projects/bsd_rdma_4_9/crypto/openssh/Makefile.in projects/bsd_rdma_4_9/crypto/openssh/README projects/bsd_rdma_4_9/crypto/openssh/auth-pam.c projects/bsd_rdma_4_9/crypto/openssh/auth2-pubkey.c projects/bsd_rdma_4_9/crypto/openssh/auth2.c projects/bsd_rdma_4_9/crypto/openssh/channels.c projects/bsd_rdma_4_9/crypto/openssh/channels.h projects/bsd_rdma_4_9/crypto/openssh/clientloop.c projects/bsd_rdma_4_9/crypto/openssh/compat.c projects/bsd_rdma_4_9/crypto/openssh/config.h projects/bsd_rdma_4_9/crypto/openssh/configure.ac projects/bsd_rdma_4_9/crypto/openssh/contrib/cygwin/ssh-host-config projects/bsd_rdma_4_9/crypto/openssh/contrib/redhat/openssh.spec projects/bsd_rdma_4_9/crypto/openssh/contrib/suse/openssh.spec projects/bsd_rdma_4_9/crypto/openssh/digest-openssl.c projects/bsd_rdma_4_9/crypto/openssh/freebsd-configure.sh projects/bsd_rdma_4_9/crypto/openssh/hostfile.c projects/bsd_rdma_4_9/crypto/openssh/kex.c projects/bsd_rdma_4_9/crypto/openssh/krl.c projects/bsd_rdma_4_9/crypto/openssh/log.c projects/bsd_rdma_4_9/crypto/openssh/match.c projects/bsd_rdma_4_9/crypto/openssh/match.h projects/bsd_rdma_4_9/crypto/openssh/misc.c projects/bsd_rdma_4_9/crypto/openssh/monitor.c projects/bsd_rdma_4_9/crypto/openssh/mux.c projects/bsd_rdma_4_9/crypto/openssh/openbsd-compat/bsd-misc.c projects/bsd_rdma_4_9/crypto/openssh/openbsd-compat/bsd-misc.h projects/bsd_rdma_4_9/crypto/openssh/openbsd-compat/fmt_scaled.c projects/bsd_rdma_4_9/crypto/openssh/packet.c projects/bsd_rdma_4_9/crypto/openssh/packet.h projects/bsd_rdma_4_9/crypto/openssh/pathnames.h projects/bsd_rdma_4_9/crypto/openssh/readconf.c projects/bsd_rdma_4_9/crypto/openssh/regress/Makefile projects/bsd_rdma_4_9/crypto/openssh/regress/agent-getpeereid.sh projects/bsd_rdma_4_9/crypto/openssh/regress/allow-deny-users.sh projects/bsd_rdma_4_9/crypto/openssh/regress/cert-file.sh projects/bsd_rdma_4_9/crypto/openssh/regress/forwarding.sh projects/bsd_rdma_4_9/crypto/openssh/regress/integrity.sh projects/bsd_rdma_4_9/crypto/openssh/regress/test-exec.sh projects/bsd_rdma_4_9/crypto/openssh/regress/unittests/Makefile projects/bsd_rdma_4_9/crypto/openssh/regress/unittests/match/tests.c projects/bsd_rdma_4_9/crypto/openssh/regress/unittests/test_helper/test_helper.c projects/bsd_rdma_4_9/crypto/openssh/regress/unittests/test_helper/test_helper.h projects/bsd_rdma_4_9/crypto/openssh/regress/unittests/utf8/tests.c projects/bsd_rdma_4_9/crypto/openssh/sandbox-seccomp-filter.c projects/bsd_rdma_4_9/crypto/openssh/servconf.c projects/bsd_rdma_4_9/crypto/openssh/serverloop.c projects/bsd_rdma_4_9/crypto/openssh/session.c projects/bsd_rdma_4_9/crypto/openssh/sftp-client.c projects/bsd_rdma_4_9/crypto/openssh/sftp.c projects/bsd_rdma_4_9/crypto/openssh/ssh-agent.c projects/bsd_rdma_4_9/crypto/openssh/ssh-keygen.c projects/bsd_rdma_4_9/crypto/openssh/ssh-keyscan.c projects/bsd_rdma_4_9/crypto/openssh/ssh.c projects/bsd_rdma_4_9/crypto/openssh/ssh_config projects/bsd_rdma_4_9/crypto/openssh/ssh_config.5 projects/bsd_rdma_4_9/crypto/openssh/ssh_namespace.h projects/bsd_rdma_4_9/crypto/openssh/sshconnect.c projects/bsd_rdma_4_9/crypto/openssh/sshconnect1.c projects/bsd_rdma_4_9/crypto/openssh/sshconnect2.c projects/bsd_rdma_4_9/crypto/openssh/sshd.8 projects/bsd_rdma_4_9/crypto/openssh/sshd.c projects/bsd_rdma_4_9/crypto/openssh/sshd_config projects/bsd_rdma_4_9/crypto/openssh/sshd_config.5 projects/bsd_rdma_4_9/crypto/openssh/sshkey.c projects/bsd_rdma_4_9/crypto/openssh/sshkey.h projects/bsd_rdma_4_9/crypto/openssh/utf8.c projects/bsd_rdma_4_9/crypto/openssh/version.h projects/bsd_rdma_4_9/etc/Makefile projects/bsd_rdma_4_9/etc/devd/hyperv.conf projects/bsd_rdma_4_9/etc/mtree/Makefile projects/bsd_rdma_4_9/etc/rc.d/nfsd projects/bsd_rdma_4_9/gnu/Makefile projects/bsd_rdma_4_9/kerberos5/lib/libkafs5/Makefile projects/bsd_rdma_4_9/kerberos5/libexec/ipropd-master/Makefile projects/bsd_rdma_4_9/lib/atf/Makefile projects/bsd_rdma_4_9/lib/atf/libatf-c++/Makefile projects/bsd_rdma_4_9/lib/atf/libatf-c/Makefile projects/bsd_rdma_4_9/lib/clang/include/clang/Basic/Version.inc projects/bsd_rdma_4_9/lib/clang/include/clang/Config/config.h projects/bsd_rdma_4_9/lib/clang/include/lld/Config/Version.inc projects/bsd_rdma_4_9/lib/clang/include/llvm/Support/VCSRevision.h projects/bsd_rdma_4_9/lib/clang/liblldb/Makefile projects/bsd_rdma_4_9/lib/clang/libllvm/Makefile projects/bsd_rdma_4_9/lib/csu/riscv/crt1.c projects/bsd_rdma_4_9/lib/csu/riscv/crti.S projects/bsd_rdma_4_9/lib/libarchive/Makefile projects/bsd_rdma_4_9/lib/libc/Makefile projects/bsd_rdma_4_9/lib/libc/gen/fnmatch.c projects/bsd_rdma_4_9/lib/libc/gen/tls.c projects/bsd_rdma_4_9/lib/libc/regex/engine.c projects/bsd_rdma_4_9/lib/libc/regex/regcomp.c projects/bsd_rdma_4_9/lib/libc/riscv/gen/fabs.S projects/bsd_rdma_4_9/lib/libc/stdlib/jemalloc/Makefile.inc projects/bsd_rdma_4_9/lib/libc/tests/gen/fnmatch_testcases.h projects/bsd_rdma_4_9/lib/libc/x86/sys/__vdso_gettc.c projects/bsd_rdma_4_9/lib/libcapsicum/capsicum_helpers.h projects/bsd_rdma_4_9/lib/libcasper/services/cap_dns/Makefile projects/bsd_rdma_4_9/lib/libcasper/services/cap_grp/Makefile projects/bsd_rdma_4_9/lib/libcasper/services/cap_pwd/Makefile projects/bsd_rdma_4_9/lib/libcasper/services/cap_sysctl/Makefile projects/bsd_rdma_4_9/lib/libcrypt/Makefile projects/bsd_rdma_4_9/lib/libefivar/uefi-dputil.c projects/bsd_rdma_4_9/lib/libmp/Makefile projects/bsd_rdma_4_9/lib/libnv/Makefile projects/bsd_rdma_4_9/lib/libpathconv/Makefile projects/bsd_rdma_4_9/lib/libproc/Makefile projects/bsd_rdma_4_9/lib/libproc/proc_bkpt.c projects/bsd_rdma_4_9/lib/libproc/proc_regs.c projects/bsd_rdma_4_9/lib/libprocstat/libprocstat.3 projects/bsd_rdma_4_9/lib/librt/Makefile projects/bsd_rdma_4_9/lib/libstand/Makefile projects/bsd_rdma_4_9/lib/libtelnet/Makefile projects/bsd_rdma_4_9/lib/libthr/Makefile projects/bsd_rdma_4_9/lib/libusb/libusb.h projects/bsd_rdma_4_9/lib/libusb/libusb10_desc.c projects/bsd_rdma_4_9/lib/libutil/Makefile projects/bsd_rdma_4_9/lib/libutil/flopen.3 projects/bsd_rdma_4_9/lib/libutil/flopen.c projects/bsd_rdma_4_9/lib/libutil/libutil.h projects/bsd_rdma_4_9/lib/libutil/pidfile.c projects/bsd_rdma_4_9/lib/libxo/Makefile projects/bsd_rdma_4_9/lib/libxo/add.man projects/bsd_rdma_4_9/lib/libxo/tests/Makefile projects/bsd_rdma_4_9/lib/libxo/xo_config.h projects/bsd_rdma_4_9/lib/msun/Makefile projects/bsd_rdma_4_9/lib/msun/tests/Makefile projects/bsd_rdma_4_9/lib/msun/tests/trig_test.c projects/bsd_rdma_4_9/libexec/atf/atf-check/Makefile projects/bsd_rdma_4_9/libexec/atf/atf-sh/Makefile projects/bsd_rdma_4_9/libexec/hyperv/Makefile projects/bsd_rdma_4_9/libexec/rtld-elf/Makefile projects/bsd_rdma_4_9/libexec/rtld-elf/riscv/reloc.c projects/bsd_rdma_4_9/libexec/rtld-elf/rtld.c projects/bsd_rdma_4_9/release/arm/BANANAPI.conf projects/bsd_rdma_4_9/release/arm/CUBIEBOARD2.conf projects/bsd_rdma_4_9/release/packages/kernel.ucl projects/bsd_rdma_4_9/release/packages/runtime.ucl projects/bsd_rdma_4_9/sbin/devd/Makefile projects/bsd_rdma_4_9/sbin/dhclient/Makefile projects/bsd_rdma_4_9/sbin/fsck_ffs/setup.c projects/bsd_rdma_4_9/sbin/growfs/Makefile projects/bsd_rdma_4_9/sbin/ifconfig/Makefile projects/bsd_rdma_4_9/sbin/ifconfig/af_link.c projects/bsd_rdma_4_9/sbin/ifconfig/ifconfig.c projects/bsd_rdma_4_9/sbin/mdconfig/Makefile projects/bsd_rdma_4_9/sbin/newfs/mkfs.c projects/bsd_rdma_4_9/sbin/pfctl/Makefile projects/bsd_rdma_4_9/sbin/savecore/savecore.c projects/bsd_rdma_4_9/sbin/sysctl/sysctl.c projects/bsd_rdma_4_9/sbin/umount/umount.8 projects/bsd_rdma_4_9/sbin/umount/umount.c projects/bsd_rdma_4_9/secure/Makefile projects/bsd_rdma_4_9/secure/lib/Makefile projects/bsd_rdma_4_9/secure/libexec/Makefile projects/bsd_rdma_4_9/secure/usr.bin/Makefile projects/bsd_rdma_4_9/secure/usr.sbin/Makefile projects/bsd_rdma_4_9/share/Makefile projects/bsd_rdma_4_9/share/examples/Makefile projects/bsd_rdma_4_9/share/examples/ppp/ppp.conf.sample projects/bsd_rdma_4_9/share/man/man3/makedev.3 projects/bsd_rdma_4_9/share/man/man4/ehci.4 projects/bsd_rdma_4_9/share/man/man4/enc.4 projects/bsd_rdma_4_9/share/man/man4/geom.4 projects/bsd_rdma_4_9/share/man/man4/geom_fox.4 projects/bsd_rdma_4_9/share/man/man4/ksyms.4 projects/bsd_rdma_4_9/share/man/man4/linux.4 projects/bsd_rdma_4_9/share/man/man4/ohci.4 projects/bsd_rdma_4_9/share/man/man4/rtwn.4 projects/bsd_rdma_4_9/share/man/man4/ucom.4 projects/bsd_rdma_4_9/share/man/man4/ugen.4 projects/bsd_rdma_4_9/share/man/man4/uhci.4 projects/bsd_rdma_4_9/share/man/man4/uhid.4 projects/bsd_rdma_4_9/share/man/man4/ukbd.4 projects/bsd_rdma_4_9/share/man/man4/ums.4 projects/bsd_rdma_4_9/share/man/man4/uplcom.4 projects/bsd_rdma_4_9/share/man/man4/usb.4 projects/bsd_rdma_4_9/share/man/man4/xhci.4 projects/bsd_rdma_4_9/share/man/man5/fdescfs.5 projects/bsd_rdma_4_9/share/man/man5/src.conf.5 projects/bsd_rdma_4_9/share/man/man7/arch.7 projects/bsd_rdma_4_9/share/man/man9/disk.9 projects/bsd_rdma_4_9/share/man/man9/taskqueue.9 projects/bsd_rdma_4_9/share/misc/committers-src.dot projects/bsd_rdma_4_9/share/misc/organization.dot projects/bsd_rdma_4_9/share/misc/pci_vendors projects/bsd_rdma_4_9/share/mk/bsd.compiler.mk projects/bsd_rdma_4_9/share/mk/bsd.cpu.mk projects/bsd_rdma_4_9/share/mk/bsd.dep.mk projects/bsd_rdma_4_9/share/mk/bsd.linker.mk projects/bsd_rdma_4_9/share/mk/bsd.obj.mk projects/bsd_rdma_4_9/share/mk/bsd.opts.mk projects/bsd_rdma_4_9/share/mk/bsd.progs.mk projects/bsd_rdma_4_9/share/mk/bsd.stand.mk projects/bsd_rdma_4_9/share/mk/src.opts.mk projects/bsd_rdma_4_9/share/vt/keymaps/INDEX.keymaps projects/bsd_rdma_4_9/share/vt/keymaps/Makefile projects/bsd_rdma_4_9/share/zoneinfo/Makefile projects/bsd_rdma_4_9/sys/amd64/amd64/efirt.c (contents, props changed) projects/bsd_rdma_4_9/sys/amd64/amd64/elf_machdep.c projects/bsd_rdma_4_9/sys/amd64/amd64/genassym.c projects/bsd_rdma_4_9/sys/amd64/amd64/initcpu.c projects/bsd_rdma_4_9/sys/amd64/amd64/machdep.c projects/bsd_rdma_4_9/sys/amd64/amd64/pmap.c projects/bsd_rdma_4_9/sys/amd64/amd64/trap.c projects/bsd_rdma_4_9/sys/amd64/cloudabi64/cloudabi64_sysvec.c projects/bsd_rdma_4_9/sys/amd64/include/cpufunc.h projects/bsd_rdma_4_9/sys/amd64/include/efi.h projects/bsd_rdma_4_9/sys/amd64/include/md_var.h projects/bsd_rdma_4_9/sys/amd64/linux/linux_sysvec.c projects/bsd_rdma_4_9/sys/amd64/linux32/linux32_sysvec.c projects/bsd_rdma_4_9/sys/arm/allwinner/aw_ccu.c projects/bsd_rdma_4_9/sys/arm/allwinner/axp209.c projects/bsd_rdma_4_9/sys/arm/allwinner/clk/aw_modclk.c projects/bsd_rdma_4_9/sys/arm/allwinner/clkng/aw_ccung.c projects/bsd_rdma_4_9/sys/arm/allwinner/clkng/ccu_a64.c projects/bsd_rdma_4_9/sys/arm/arm/generic_timer.c projects/bsd_rdma_4_9/sys/arm/arm/mpcore_timer.c projects/bsd_rdma_4_9/sys/arm/arm/pmap-v6.c projects/bsd_rdma_4_9/sys/arm/conf/GENERIC projects/bsd_rdma_4_9/sys/arm/conf/IMX6 projects/bsd_rdma_4_9/sys/arm/freescale/imx/files.imx6 projects/bsd_rdma_4_9/sys/arm/freescale/imx/imx6_ccm.c projects/bsd_rdma_4_9/sys/arm/freescale/imx/imx6_ccmreg.h projects/bsd_rdma_4_9/sys/arm/freescale/imx/imx_ccmvar.h projects/bsd_rdma_4_9/sys/arm/freescale/imx/imx_i2c.c projects/bsd_rdma_4_9/sys/arm/freescale/imx/imx_iomux.c projects/bsd_rdma_4_9/sys/arm/freescale/imx/imx_iomuxreg.h projects/bsd_rdma_4_9/sys/arm/freescale/imx/imx_iomuxvar.h projects/bsd_rdma_4_9/sys/arm/freescale/imx/std.imx6 projects/bsd_rdma_4_9/sys/arm/include/pte-v6.h projects/bsd_rdma_4_9/sys/arm/include/ucontext.h projects/bsd_rdma_4_9/sys/arm/mv/armada38x/armada38x_pl310.c projects/bsd_rdma_4_9/sys/arm/mv/mv_machdep.c projects/bsd_rdma_4_9/sys/arm/ti/am335x/am335x_prcm.c projects/bsd_rdma_4_9/sys/arm64/arm64/gic_v3.c projects/bsd_rdma_4_9/sys/arm64/arm64/gic_v3_fdt.c projects/bsd_rdma_4_9/sys/arm64/arm64/gic_v3_var.h projects/bsd_rdma_4_9/sys/arm64/arm64/gicv3_its.c projects/bsd_rdma_4_9/sys/arm64/arm64/mp_machdep.c projects/bsd_rdma_4_9/sys/arm64/arm64/trap.c projects/bsd_rdma_4_9/sys/arm64/conf/GENERIC projects/bsd_rdma_4_9/sys/arm64/include/param.h projects/bsd_rdma_4_9/sys/boot/efi/include/efilib.h projects/bsd_rdma_4_9/sys/boot/efi/include/efiprot.h projects/bsd_rdma_4_9/sys/boot/efi/libefi/Makefile projects/bsd_rdma_4_9/sys/boot/efi/libefi/efinet.c projects/bsd_rdma_4_9/sys/boot/efi/libefi/errno.c projects/bsd_rdma_4_9/sys/boot/efi/libefi/time.c projects/bsd_rdma_4_9/sys/boot/efi/loader/Makefile projects/bsd_rdma_4_9/sys/boot/efi/loader/loader_efi.h projects/bsd_rdma_4_9/sys/boot/efi/loader/main.c projects/bsd_rdma_4_9/sys/boot/fdt/dts/arm/armada-385-db-ap.dts projects/bsd_rdma_4_9/sys/boot/fdt/dts/arm/armada-388-gp.dts projects/bsd_rdma_4_9/sys/boot/fdt/dts/arm/armada-38x-solidrun-microsom.dtsi projects/bsd_rdma_4_9/sys/boot/fdt/dts/arm/armada-38x.dtsi projects/bsd_rdma_4_9/sys/boot/fdt/dts/arm/nanopi-neo.dts projects/bsd_rdma_4_9/sys/boot/geli/Makefile projects/bsd_rdma_4_9/sys/boot/i386/boot2/Makefile projects/bsd_rdma_4_9/sys/boot/zfs/zfsimpl.c projects/bsd_rdma_4_9/sys/cam/ata/ata_da.c projects/bsd_rdma_4_9/sys/cam/ctl/scsi_ctl.c projects/bsd_rdma_4_9/sys/cam/nvme/nvme_da.c projects/bsd_rdma_4_9/sys/cddl/compat/opensolaris/sys/atomic.h projects/bsd_rdma_4_9/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c projects/bsd_rdma_4_9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/bsd_rdma_4_9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c projects/bsd_rdma_4_9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c projects/bsd_rdma_4_9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_bookmark.c projects/bsd_rdma_4_9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c projects/bsd_rdma_4_9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/bsd_rdma_4_9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/abd.h projects/bsd_rdma_4_9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h projects/bsd_rdma_4_9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/uberblock_impl.h projects/bsd_rdma_4_9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c projects/bsd_rdma_4_9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c projects/bsd_rdma_4_9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/bsd_rdma_4_9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c projects/bsd_rdma_4_9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c projects/bsd_rdma_4_9/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h projects/bsd_rdma_4_9/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h projects/bsd_rdma_4_9/sys/cddl/dev/profile/profile.c projects/bsd_rdma_4_9/sys/compat/cloudabi/cloudabi_fd.c projects/bsd_rdma_4_9/sys/compat/cloudabi/cloudabi_mem.c projects/bsd_rdma_4_9/sys/compat/cloudabi/cloudabi_sock.c projects/bsd_rdma_4_9/sys/compat/cloudabi/cloudabi_util.h projects/bsd_rdma_4_9/sys/compat/cloudabi32/cloudabi32_proto.h projects/bsd_rdma_4_9/sys/compat/cloudabi32/cloudabi32_sock.c projects/bsd_rdma_4_9/sys/compat/cloudabi32/cloudabi32_syscall.h projects/bsd_rdma_4_9/sys/compat/cloudabi32/cloudabi32_syscalls.c projects/bsd_rdma_4_9/sys/compat/cloudabi32/cloudabi32_sysent.c projects/bsd_rdma_4_9/sys/compat/cloudabi32/cloudabi32_systrace_args.c projects/bsd_rdma_4_9/sys/compat/cloudabi64/cloudabi64_proto.h projects/bsd_rdma_4_9/sys/compat/cloudabi64/cloudabi64_sock.c projects/bsd_rdma_4_9/sys/compat/cloudabi64/cloudabi64_syscall.h projects/bsd_rdma_4_9/sys/compat/cloudabi64/cloudabi64_syscalls.c projects/bsd_rdma_4_9/sys/compat/cloudabi64/cloudabi64_sysent.c projects/bsd_rdma_4_9/sys/compat/cloudabi64/cloudabi64_systrace_args.c projects/bsd_rdma_4_9/sys/compat/linux/linux_vdso.c projects/bsd_rdma_4_9/sys/compat/linux/linux_vdso.h projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/include/linux/cdev.h projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/include/linux/clocksource.h projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/include/linux/completion.h projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/include/linux/device.h projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/include/linux/fs.h projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/include/linux/hrtimer.h projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/include/linux/jiffies.h projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/include/linux/kdev_t.h projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/include/linux/page.h projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/include/linux/pci.h projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/include/linux/sched.h projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/include/linux/sysfs.h projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/include/linux/timer.h projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/include/linux/wait.h projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/src/linux_compat.c projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/src/linux_hrtimer.c projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/src/linux_page.c projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/src/linux_pci.c projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/src/linux_schedule.c projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/src/linux_work.c projects/bsd_rdma_4_9/sys/conf/Makefile.riscv projects/bsd_rdma_4_9/sys/conf/NOTES projects/bsd_rdma_4_9/sys/conf/files projects/bsd_rdma_4_9/sys/conf/files.amd64 projects/bsd_rdma_4_9/sys/conf/files.arm64 projects/bsd_rdma_4_9/sys/conf/files.riscv projects/bsd_rdma_4_9/sys/conf/kern.mk projects/bsd_rdma_4_9/sys/conf/kern.post.mk projects/bsd_rdma_4_9/sys/conf/options projects/bsd_rdma_4_9/sys/conf/options.arm64 projects/bsd_rdma_4_9/sys/contrib/cloudabi/cloudabi32_types.h projects/bsd_rdma_4_9/sys/contrib/cloudabi/cloudabi64_types.h projects/bsd_rdma_4_9/sys/contrib/cloudabi/cloudabi_types_common.h projects/bsd_rdma_4_9/sys/contrib/cloudabi/cloudabi_vdso_aarch64.S projects/bsd_rdma_4_9/sys/contrib/cloudabi/cloudabi_vdso_armv6.S projects/bsd_rdma_4_9/sys/contrib/cloudabi/cloudabi_vdso_i686.S projects/bsd_rdma_4_9/sys/contrib/cloudabi/cloudabi_vdso_i686_on_64bit.S projects/bsd_rdma_4_9/sys/contrib/cloudabi/cloudabi_vdso_x86_64.S projects/bsd_rdma_4_9/sys/contrib/cloudabi/syscalls32.master projects/bsd_rdma_4_9/sys/contrib/cloudabi/syscalls64.master projects/bsd_rdma_4_9/sys/contrib/dev/acpica/acpica_prep.sh projects/bsd_rdma_4_9/sys/contrib/dev/acpica/changes.txt projects/bsd_rdma_4_9/sys/contrib/dev/acpica/common/acfileio.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/common/adisasm.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/common/adwalk.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/common/ahpredef.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/common/ahtable.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/common/dmtable.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/common/dmtbinfo.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslanalyze.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslbtypes.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslcodegen.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslcompile.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslcompiler.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslcompiler.l projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslcstyle.y projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/asldefine.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslerror.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslexternal.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslfold.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslglobal.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslhelp.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslhelpers.y projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslkeywords.y projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/asllength.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/asllisting.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslload.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/asllookup.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslmap.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslmapoutput.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslmessages.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslmessages.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslmethod.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/asloffset.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslopcodes.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslopt.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/asloptions.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslpld.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslpredef.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslprimaries.y projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslprintf.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslresource.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslresources.y projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslrules.y projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslstartup.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslsupport.y projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/asltokens.y projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/asltransform.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/asltree.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/asltypes.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslutils.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslwalks.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/aslxref.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/cvcompiler.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/cvdisasm.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/cvparser.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/dtcompile.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/dtcompiler.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/dttemplate.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/dtutils.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/prmacros.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/debugger/dbdisply.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/disassembler/dmopcode.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/dispatcher/dsfield.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/dispatcher/dsobject.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/dispatcher/dsopcode.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/executer/excreate.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/executer/exdump.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/executer/exmisc.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/executer/exoparg2.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/hardware/hwregs.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/namespace/nsaccess.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/namespace/nsarguments.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/namespace/nsinit.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/namespace/nsnames.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/namespace/nsprepkg.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/parser/psloop.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/parser/psobject.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/resources/rsxface.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/tables/tbdata.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/tables/tbinstal.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/tables/tbutils.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/tables/tbxface.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/tables/tbxfload.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/utilities/uthex.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/utilities/utmath.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/utilities/utmisc.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/utilities/utobject.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/utilities/utresrc.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/utilities/utstate.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/utilities/utstrtoul64.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/utilities/uttrack.c projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/acapps.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/acdisasm.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/acdispat.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/aclocal.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/acnames.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/acobject.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/acpi.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/acpixf.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/actables.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/actbl.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/actbl2.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/actypes.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/acutils.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/platform/acenv.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/platform/acfreebsd.h projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/platform/acgcc.h projects/bsd_rdma_4_9/sys/contrib/ena-com/ena_plat.h projects/bsd_rdma_4_9/sys/contrib/ipfilter/netinet/ip_nat.c projects/bsd_rdma_4_9/sys/dev/acpica/acpi.c projects/bsd_rdma_4_9/sys/dev/ahci/ahci_pci.c projects/bsd_rdma_4_9/sys/dev/ata/ata-pci.h projects/bsd_rdma_4_9/sys/dev/ata/chipsets/ata-intel.c projects/bsd_rdma_4_9/sys/dev/bnxt/bnxt.h projects/bsd_rdma_4_9/sys/dev/bnxt/bnxt_hwrm.c projects/bsd_rdma_4_9/sys/dev/bnxt/bnxt_hwrm.h projects/bsd_rdma_4_9/sys/dev/bnxt/bnxt_sysctl.c projects/bsd_rdma_4_9/sys/dev/bnxt/if_bnxt.c projects/bsd_rdma_4_9/sys/dev/cxgbe/common/common.h projects/bsd_rdma_4_9/sys/dev/cxgbe/common/t4_hw.c projects/bsd_rdma_4_9/sys/dev/cxgbe/common/t4_hw.h projects/bsd_rdma_4_9/sys/dev/cxgbe/iw_cxgbe/cm.c projects/bsd_rdma_4_9/sys/dev/cxgbe/t4_ioctl.h projects/bsd_rdma_4_9/sys/dev/cxgbe/t4_main.c projects/bsd_rdma_4_9/sys/dev/cxgbe/t4_sched.c projects/bsd_rdma_4_9/sys/dev/cxgbe/t4_sge.c projects/bsd_rdma_4_9/sys/dev/cyapa/cyapa.c projects/bsd_rdma_4_9/sys/dev/e1000/if_em.h projects/bsd_rdma_4_9/sys/dev/efidev/efidev.c projects/bsd_rdma_4_9/sys/dev/etherswitch/e6000sw/e6000sw.c projects/bsd_rdma_4_9/sys/dev/etherswitch/e6000sw/e6000swreg.h projects/bsd_rdma_4_9/sys/dev/evdev/cdev.c projects/bsd_rdma_4_9/sys/dev/evdev/evdev.c projects/bsd_rdma_4_9/sys/dev/evdev/evdev_mt.c projects/bsd_rdma_4_9/sys/dev/evdev/evdev_private.h projects/bsd_rdma_4_9/sys/dev/evdev/evdev_utils.c projects/bsd_rdma_4_9/sys/dev/evdev/input-event-codes.h projects/bsd_rdma_4_9/sys/dev/evdev/input.h projects/bsd_rdma_4_9/sys/dev/evdev/uinput.c projects/bsd_rdma_4_9/sys/dev/evdev/uinput.h projects/bsd_rdma_4_9/sys/dev/fdt/fdt_common.c projects/bsd_rdma_4_9/sys/dev/hwpmc/hwpmc_piv.c projects/bsd_rdma_4_9/sys/dev/hyperv/netvsc/if_hn.c projects/bsd_rdma_4_9/sys/dev/hyperv/netvsc/if_hnreg.h projects/bsd_rdma_4_9/sys/dev/hyperv/netvsc/if_hnvar.h projects/bsd_rdma_4_9/sys/dev/hyperv/utilities/hv_kvp.c projects/bsd_rdma_4_9/sys/dev/ichwd/ichwd.c projects/bsd_rdma_4_9/sys/dev/iicbus/ds1307.c projects/bsd_rdma_4_9/sys/dev/iicbus/ds1307reg.h projects/bsd_rdma_4_9/sys/dev/iicbus/ds3231.c projects/bsd_rdma_4_9/sys/dev/iicbus/ds3231reg.h projects/bsd_rdma_4_9/sys/dev/iicbus/iicbus.h projects/bsd_rdma_4_9/sys/dev/iicbus/iiconf.c projects/bsd_rdma_4_9/sys/dev/iicbus/iiconf.h projects/bsd_rdma_4_9/sys/dev/isp/isp.c projects/bsd_rdma_4_9/sys/dev/iwm/if_iwm.c projects/bsd_rdma_4_9/sys/dev/iwm/if_iwm_scan.c projects/bsd_rdma_4_9/sys/dev/iwm/if_iwm_sta.c projects/bsd_rdma_4_9/sys/dev/iwm/if_iwm_util.c projects/bsd_rdma_4_9/sys/dev/iwm/if_iwm_util.h projects/bsd_rdma_4_9/sys/dev/iwm/if_iwmreg.h projects/bsd_rdma_4_9/sys/dev/iwm/if_iwmvar.h projects/bsd_rdma_4_9/sys/dev/ixgbe/ix_txrx.c projects/bsd_rdma_4_9/sys/dev/ixl/ixl_txrx.c projects/bsd_rdma_4_9/sys/dev/ksyms/ksyms.c projects/bsd_rdma_4_9/sys/dev/mlx4/device.h projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_main.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_port.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_en/en.h projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_en/mlx4_en_netdev.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_en/mlx4_en_port.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_en/mlx4_en_tx.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_mad.c projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_main.c projects/bsd_rdma_4_9/sys/dev/mlx4/stats.h projects/bsd_rdma_4_9/sys/dev/mlx5/mlx5_core/mlx5_cmd.c projects/bsd_rdma_4_9/sys/dev/mlx5/mlx5_core/mlx5_pagealloc.c projects/bsd_rdma_4_9/sys/dev/mlx5/mlx5_en/mlx5_en_main.c projects/bsd_rdma_4_9/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c projects/bsd_rdma_4_9/sys/dev/mly/mly.c projects/bsd_rdma_4_9/sys/dev/mmc/bridge.h projects/bsd_rdma_4_9/sys/dev/mmc/mmc.c projects/bsd_rdma_4_9/sys/dev/mmc/mmc_ioctl.h projects/bsd_rdma_4_9/sys/dev/mmc/mmc_private.h projects/bsd_rdma_4_9/sys/dev/mmc/mmc_subr.c projects/bsd_rdma_4_9/sys/dev/mmc/mmc_subr.h projects/bsd_rdma_4_9/sys/dev/mmc/mmcbr_if.m projects/bsd_rdma_4_9/sys/dev/mmc/mmcbrvar.h projects/bsd_rdma_4_9/sys/dev/mmc/mmcbus_if.m projects/bsd_rdma_4_9/sys/dev/mmc/mmcreg.h projects/bsd_rdma_4_9/sys/dev/mmc/mmcsd.c projects/bsd_rdma_4_9/sys/dev/mmc/mmcvar.h projects/bsd_rdma_4_9/sys/dev/mpr/mpr.c projects/bsd_rdma_4_9/sys/dev/mpr/mpr_config.c projects/bsd_rdma_4_9/sys/dev/mpr/mpr_pci.c projects/bsd_rdma_4_9/sys/dev/mpr/mpr_sas.c projects/bsd_rdma_4_9/sys/dev/mpr/mpr_sas_lsi.c projects/bsd_rdma_4_9/sys/dev/mpr/mpr_table.c projects/bsd_rdma_4_9/sys/dev/mpr/mpr_table.h projects/bsd_rdma_4_9/sys/dev/mpr/mpr_user.c projects/bsd_rdma_4_9/sys/dev/mpr/mprvar.h projects/bsd_rdma_4_9/sys/dev/mps/mps.c projects/bsd_rdma_4_9/sys/dev/mps/mps_config.c projects/bsd_rdma_4_9/sys/dev/mps/mps_pci.c projects/bsd_rdma_4_9/sys/dev/mps/mps_sas.c projects/bsd_rdma_4_9/sys/dev/mps/mps_sas_lsi.c projects/bsd_rdma_4_9/sys/dev/mps/mps_table.c projects/bsd_rdma_4_9/sys/dev/mps/mps_table.h projects/bsd_rdma_4_9/sys/dev/mps/mps_user.c projects/bsd_rdma_4_9/sys/dev/mps/mpsvar.h projects/bsd_rdma_4_9/sys/dev/nvd/nvd.c projects/bsd_rdma_4_9/sys/dev/nvme/nvme.h projects/bsd_rdma_4_9/sys/dev/nvme/nvme_sim.c projects/bsd_rdma_4_9/sys/dev/nvme/nvme_sysctl.c projects/bsd_rdma_4_9/sys/dev/ofw/ofw_bus_subr.c projects/bsd_rdma_4_9/sys/dev/ofw/ofw_fdt.c projects/bsd_rdma_4_9/sys/dev/ow/owc_gpiobus.c projects/bsd_rdma_4_9/sys/dev/pci/pci.c projects/bsd_rdma_4_9/sys/dev/qlnx/qlnxe/qlnx_os.c projects/bsd_rdma_4_9/sys/dev/qlnx/qlnxe/qlnx_ver.h projects/bsd_rdma_4_9/sys/dev/rtwn/if_rtwnreg.h projects/bsd_rdma_4_9/sys/dev/rtwn/rtl8188e/r88e_rx.c projects/bsd_rdma_4_9/sys/dev/rtwn/usb/rtwn_usb_attach.c projects/bsd_rdma_4_9/sys/dev/rtwn/usb/rtwn_usb_ep.c projects/bsd_rdma_4_9/sys/dev/rtwn/usb/rtwn_usb_rx.c projects/bsd_rdma_4_9/sys/dev/rtwn/usb/rtwn_usb_var.h projects/bsd_rdma_4_9/sys/dev/sdhci/sdhci.c projects/bsd_rdma_4_9/sys/dev/sdhci/sdhci.h projects/bsd_rdma_4_9/sys/dev/sdhci/sdhci_acpi.c projects/bsd_rdma_4_9/sys/dev/sdhci/sdhci_if.m projects/bsd_rdma_4_9/sys/dev/sdhci/sdhci_pci.c projects/bsd_rdma_4_9/sys/dev/sound/pci/hda/hdac.c projects/bsd_rdma_4_9/sys/dev/sound/pci/hda/hdac.h projects/bsd_rdma_4_9/sys/dev/sym/sym_hipd.c projects/bsd_rdma_4_9/sys/dev/uart/uart_bus_pci.c projects/bsd_rdma_4_9/sys/dev/usb/controller/xhci_pci.c projects/bsd_rdma_4_9/sys/dev/usb/wlan/if_rsu.c projects/bsd_rdma_4_9/sys/dev/usb/wlan/if_zyd.c projects/bsd_rdma_4_9/sys/dev/virtio/network/if_vtnetvar.h projects/bsd_rdma_4_9/sys/fs/fdescfs/fdesc.h projects/bsd_rdma_4_9/sys/fs/fdescfs/fdesc_vfsops.c projects/bsd_rdma_4_9/sys/fs/fdescfs/fdesc_vnops.c projects/bsd_rdma_4_9/sys/fs/nfs/nfs_commonkrpc.c projects/bsd_rdma_4_9/sys/fs/nfs/nfs_commonsubs.c projects/bsd_rdma_4_9/sys/fs/nfs/nfscl.h projects/bsd_rdma_4_9/sys/fs/nfsclient/nfs_clbio.c projects/bsd_rdma_4_9/sys/fs/nfsclient/nfs_clport.c projects/bsd_rdma_4_9/sys/fs/nfsclient/nfs_clrpcops.c projects/bsd_rdma_4_9/sys/fs/nfsclient/nfs_clstate.c projects/bsd_rdma_4_9/sys/fs/nfsclient/nfs_clvfsops.c projects/bsd_rdma_4_9/sys/fs/nfsclient/nfs_clvnops.c projects/bsd_rdma_4_9/sys/fs/nfsclient/nfsmount.h projects/bsd_rdma_4_9/sys/fs/nfsserver/nfs_fha_new.c projects/bsd_rdma_4_9/sys/fs/pseudofs/pseudofs.h projects/bsd_rdma_4_9/sys/fs/smbfs/smbfs_io.c projects/bsd_rdma_4_9/sys/geom/geom.h projects/bsd_rdma_4_9/sys/geom/geom_bsd.c projects/bsd_rdma_4_9/sys/geom/geom_dev.c projects/bsd_rdma_4_9/sys/geom/geom_disk.c projects/bsd_rdma_4_9/sys/geom/geom_disk.h projects/bsd_rdma_4_9/sys/geom/geom_dump.c projects/bsd_rdma_4_9/sys/geom/geom_fox.c projects/bsd_rdma_4_9/sys/geom/geom_mbr.c projects/bsd_rdma_4_9/sys/geom/geom_subr.c projects/bsd_rdma_4_9/sys/geom/geom_sunlabel.c projects/bsd_rdma_4_9/sys/geom/geom_vol_ffs.c projects/bsd_rdma_4_9/sys/geom/journal/g_journal.c projects/bsd_rdma_4_9/sys/geom/journal/g_journal.h projects/bsd_rdma_4_9/sys/geom/part/g_part.c projects/bsd_rdma_4_9/sys/i386/i386/genassym.c projects/bsd_rdma_4_9/sys/i386/i386/machdep.c projects/bsd_rdma_4_9/sys/i386/i386/pmap.c projects/bsd_rdma_4_9/sys/i386/i386/trap.c projects/bsd_rdma_4_9/sys/i386/include/cpufunc.h projects/bsd_rdma_4_9/sys/i386/include/md_var.h projects/bsd_rdma_4_9/sys/i386/linux/linux_sysvec.c projects/bsd_rdma_4_9/sys/kern/kern_linker.c projects/bsd_rdma_4_9/sys/kern/kern_mutex.c projects/bsd_rdma_4_9/sys/kern/kern_sendfile.c projects/bsd_rdma_4_9/sys/kern/kern_sig.c projects/bsd_rdma_4_9/sys/kern/posix4_mib.c projects/bsd_rdma_4_9/sys/kern/subr_blist.c projects/bsd_rdma_4_9/sys/kern/subr_clock.c projects/bsd_rdma_4_9/sys/kern/subr_devmap.c projects/bsd_rdma_4_9/sys/kern/subr_pctrie.c projects/bsd_rdma_4_9/sys/kern/subr_rtc.c projects/bsd_rdma_4_9/sys/kern/subr_taskqueue.c projects/bsd_rdma_4_9/sys/kern/subr_witness.c projects/bsd_rdma_4_9/sys/kern/vfs_aio.c projects/bsd_rdma_4_9/sys/kern/vfs_bio.c projects/bsd_rdma_4_9/sys/kern/vfs_syscalls.c projects/bsd_rdma_4_9/sys/mips/conf/TL-WDR4300 projects/bsd_rdma_4_9/sys/modules/cxgbe/if_cxgbe/Makefile projects/bsd_rdma_4_9/sys/modules/dtb/allwinner/Makefile projects/bsd_rdma_4_9/sys/modules/dtrace/dtraceall/dtraceall.c projects/bsd_rdma_4_9/sys/modules/i2c/Makefile projects/bsd_rdma_4_9/sys/modules/qlnx/qlnxe/Makefile projects/bsd_rdma_4_9/sys/net/ethernet.h projects/bsd_rdma_4_9/sys/net/if_enc.c projects/bsd_rdma_4_9/sys/net/if_enc.h projects/bsd_rdma_4_9/sys/net/if_ethersubr.c projects/bsd_rdma_4_9/sys/net/if_lagg.c projects/bsd_rdma_4_9/sys/net/if_stf.c projects/bsd_rdma_4_9/sys/net/iflib.c projects/bsd_rdma_4_9/sys/net/iflib.h projects/bsd_rdma_4_9/sys/net/rndis.h projects/bsd_rdma_4_9/sys/net/route.c projects/bsd_rdma_4_9/sys/net80211/ieee80211_amrr.c projects/bsd_rdma_4_9/sys/net80211/ieee80211_ioctl.c projects/bsd_rdma_4_9/sys/net80211/ieee80211_mesh.c projects/bsd_rdma_4_9/sys/net80211/ieee80211_rssadapt.c projects/bsd_rdma_4_9/sys/netinet/cc/cc_cdg.c projects/bsd_rdma_4_9/sys/netinet/cc/cc_chd.c projects/bsd_rdma_4_9/sys/netinet/cc/cc_cubic.c projects/bsd_rdma_4_9/sys/netinet/cc/cc_dctcp.c projects/bsd_rdma_4_9/sys/netinet/cc/cc_htcp.c projects/bsd_rdma_4_9/sys/netinet/cc/cc_newreno.c projects/bsd_rdma_4_9/sys/netinet/if_ether.c projects/bsd_rdma_4_9/sys/netinet/in.h projects/bsd_rdma_4_9/sys/netinet/ip_output.c projects/bsd_rdma_4_9/sys/netinet/sctp_indata.c projects/bsd_rdma_4_9/sys/netinet/tcp_input.c projects/bsd_rdma_4_9/sys/netinet/tcp_stacks/fastpath.c projects/bsd_rdma_4_9/sys/netinet6/ip6_output.c projects/bsd_rdma_4_9/sys/netipsec/ipsec.h projects/bsd_rdma_4_9/sys/netipsec/ipsec_input.c projects/bsd_rdma_4_9/sys/netipsec/ipsec_output.c projects/bsd_rdma_4_9/sys/netipsec/key.c projects/bsd_rdma_4_9/sys/netpfil/pf/pf_lb.c projects/bsd_rdma_4_9/sys/nfs/nfs_fha.c projects/bsd_rdma_4_9/sys/nfs/nfs_fha.h projects/bsd_rdma_4_9/sys/nfs/nfs_nfssvc.c projects/bsd_rdma_4_9/sys/nfs/nfssvc.h projects/bsd_rdma_4_9/sys/riscv/conf/GENERIC projects/bsd_rdma_4_9/sys/riscv/include/machdep.h projects/bsd_rdma_4_9/sys/riscv/include/riscvreg.h projects/bsd_rdma_4_9/sys/riscv/include/sbi.h projects/bsd_rdma_4_9/sys/riscv/riscv/cpufunc_asm.S projects/bsd_rdma_4_9/sys/riscv/riscv/exception.S projects/bsd_rdma_4_9/sys/riscv/riscv/intr_machdep.c projects/bsd_rdma_4_9/sys/riscv/riscv/locore.S projects/bsd_rdma_4_9/sys/riscv/riscv/machdep.c projects/bsd_rdma_4_9/sys/riscv/riscv/nexus.c projects/bsd_rdma_4_9/sys/riscv/riscv/pmap.c projects/bsd_rdma_4_9/sys/riscv/riscv/riscv_console.c projects/bsd_rdma_4_9/sys/riscv/riscv/swtch.S projects/bsd_rdma_4_9/sys/riscv/riscv/timer.c projects/bsd_rdma_4_9/sys/riscv/riscv/trap.c projects/bsd_rdma_4_9/sys/riscv/riscv/vm_machdep.c projects/bsd_rdma_4_9/sys/sparc64/sparc64/pmap.c projects/bsd_rdma_4_9/sys/sys/_termios.h projects/bsd_rdma_4_9/sys/sys/ata.h projects/bsd_rdma_4_9/sys/sys/blist.h projects/bsd_rdma_4_9/sys/sys/cdefs.h projects/bsd_rdma_4_9/sys/sys/clock.h projects/bsd_rdma_4_9/sys/sys/copyright.h projects/bsd_rdma_4_9/sys/sys/param.h projects/bsd_rdma_4_9/sys/sys/pctrie.h projects/bsd_rdma_4_9/sys/sys/taskqueue.h projects/bsd_rdma_4_9/sys/sys/time.h projects/bsd_rdma_4_9/sys/sys/types.h projects/bsd_rdma_4_9/sys/sys/vnode.h projects/bsd_rdma_4_9/sys/ufs/ffs/ffs_snapshot.c projects/bsd_rdma_4_9/sys/ufs/ffs/fs.h projects/bsd_rdma_4_9/sys/vm/vm_fault.c projects/bsd_rdma_4_9/sys/vm/vm_glue.c projects/bsd_rdma_4_9/sys/vm/vm_kern.c projects/bsd_rdma_4_9/sys/vm/vm_page.c projects/bsd_rdma_4_9/sys/vm/vm_page.h projects/bsd_rdma_4_9/sys/vm/vm_reserv.c projects/bsd_rdma_4_9/sys/vm/vm_reserv.h projects/bsd_rdma_4_9/sys/vm/vnode_pager.c projects/bsd_rdma_4_9/sys/vm/vnode_pager.h projects/bsd_rdma_4_9/sys/x86/acpica/madt.c projects/bsd_rdma_4_9/sys/x86/acpica/srat.c projects/bsd_rdma_4_9/sys/x86/include/apicvar.h projects/bsd_rdma_4_9/sys/x86/include/x86_smp.h projects/bsd_rdma_4_9/sys/x86/include/x86_var.h projects/bsd_rdma_4_9/sys/x86/x86/identcpu.c projects/bsd_rdma_4_9/sys/x86/x86/local_apic.c projects/bsd_rdma_4_9/sys/x86/x86/mp_x86.c projects/bsd_rdma_4_9/sys/x86/x86/mptable.c projects/bsd_rdma_4_9/sys/x86/x86/stack_machdep.c projects/bsd_rdma_4_9/sys/x86/xen/pvcpu_enum.c projects/bsd_rdma_4_9/tests/sys/aio/lio_test.c projects/bsd_rdma_4_9/tests/sys/file/newfileops_on_fork_test.c projects/bsd_rdma_4_9/tests/sys/fs/tmpfs/Makefile projects/bsd_rdma_4_9/tests/sys/geom/class/gate/ggate_test.sh (contents, props changed) projects/bsd_rdma_4_9/tests/sys/kern/ptrace_test.c projects/bsd_rdma_4_9/tests/sys/netinet/fibs_test.sh (contents, props changed) projects/bsd_rdma_4_9/tools/build/mk/OptionalObsoleteFiles.inc projects/bsd_rdma_4_9/tools/tools/bootparttest/Makefile projects/bsd_rdma_4_9/tools/tools/bootparttest/bootparttest.c projects/bsd_rdma_4_9/tools/tools/bootparttest/stub.c projects/bsd_rdma_4_9/tools/tools/nanobsd/defaults.sh projects/bsd_rdma_4_9/tools/tools/nanobsd/legacy.sh projects/bsd_rdma_4_9/tools/tools/net80211/wlanwds/wlanwds.c projects/bsd_rdma_4_9/tools/tools/zfsboottest/Makefile projects/bsd_rdma_4_9/tools/tools/zfsboottest/zfsboottest.c projects/bsd_rdma_4_9/usr.bin/Makefile projects/bsd_rdma_4_9/usr.bin/apply/Makefile projects/bsd_rdma_4_9/usr.bin/ar/write.c projects/bsd_rdma_4_9/usr.bin/basename/Makefile projects/bsd_rdma_4_9/usr.bin/bmake/Makefile projects/bsd_rdma_4_9/usr.bin/bmake/Makefile.inc projects/bsd_rdma_4_9/usr.bin/bsdcat/Makefile projects/bsd_rdma_4_9/usr.bin/calendar/Makefile projects/bsd_rdma_4_9/usr.bin/calendar/calendars/calendar.freebsd projects/bsd_rdma_4_9/usr.bin/cmp/Makefile projects/bsd_rdma_4_9/usr.bin/col/Makefile projects/bsd_rdma_4_9/usr.bin/comm/Makefile projects/bsd_rdma_4_9/usr.bin/compress/Makefile projects/bsd_rdma_4_9/usr.bin/cpio/Makefile projects/bsd_rdma_4_9/usr.bin/csplit/Makefile projects/bsd_rdma_4_9/usr.bin/cut/Makefile projects/bsd_rdma_4_9/usr.bin/cut/cut.1 projects/bsd_rdma_4_9/usr.bin/diff/Makefile projects/bsd_rdma_4_9/usr.bin/diff3/Makefile projects/bsd_rdma_4_9/usr.bin/dirname/Makefile projects/bsd_rdma_4_9/usr.bin/du/du.1 projects/bsd_rdma_4_9/usr.bin/du/du.c projects/bsd_rdma_4_9/usr.bin/du/tests/du_test.sh projects/bsd_rdma_4_9/usr.bin/file2c/Makefile projects/bsd_rdma_4_9/usr.bin/getconf/Makefile projects/bsd_rdma_4_9/usr.bin/grep/Makefile projects/bsd_rdma_4_9/usr.bin/grep/util.c projects/bsd_rdma_4_9/usr.bin/gzip/Makefile projects/bsd_rdma_4_9/usr.bin/hexdump/Makefile projects/bsd_rdma_4_9/usr.bin/ident/Makefile projects/bsd_rdma_4_9/usr.bin/indent/Makefile projects/bsd_rdma_4_9/usr.bin/indent/args.c projects/bsd_rdma_4_9/usr.bin/indent/indent.1 projects/bsd_rdma_4_9/usr.bin/indent/indent.c projects/bsd_rdma_4_9/usr.bin/indent/indent_globs.h projects/bsd_rdma_4_9/usr.bin/indent/io.c projects/bsd_rdma_4_9/usr.bin/indent/pr_comment.c projects/bsd_rdma_4_9/usr.bin/indent/tests/comments.0 projects/bsd_rdma_4_9/usr.bin/indent/tests/comments.0.stdout projects/bsd_rdma_4_9/usr.bin/join/Makefile projects/bsd_rdma_4_9/usr.bin/jot/Makefile projects/bsd_rdma_4_9/usr.bin/ktrace/ktrace.1 projects/bsd_rdma_4_9/usr.bin/lastcomm/Makefile projects/bsd_rdma_4_9/usr.bin/ldd/ldd.c projects/bsd_rdma_4_9/usr.bin/limits/Makefile projects/bsd_rdma_4_9/usr.bin/m4/Makefile projects/bsd_rdma_4_9/usr.bin/mandoc/Makefile projects/bsd_rdma_4_9/usr.bin/mkimg/Makefile projects/bsd_rdma_4_9/usr.bin/mt/mt.1 projects/bsd_rdma_4_9/usr.bin/ncal/Makefile projects/bsd_rdma_4_9/usr.bin/netstat/Makefile projects/bsd_rdma_4_9/usr.bin/netstat/main.c projects/bsd_rdma_4_9/usr.bin/netstat/netstat.h projects/bsd_rdma_4_9/usr.bin/pr/Makefile projects/bsd_rdma_4_9/usr.bin/printf/Makefile projects/bsd_rdma_4_9/usr.bin/procstat/Makefile projects/bsd_rdma_4_9/usr.bin/procstat/procstat_ptlwpinfo.c projects/bsd_rdma_4_9/usr.bin/ruptime/ruptime.1 projects/bsd_rdma_4_9/usr.bin/rwho/rwho.1 projects/bsd_rdma_4_9/usr.bin/sdiff/Makefile projects/bsd_rdma_4_9/usr.bin/sed/Makefile projects/bsd_rdma_4_9/usr.bin/soelim/Makefile projects/bsd_rdma_4_9/usr.bin/tail/Makefile projects/bsd_rdma_4_9/usr.bin/tar/Makefile projects/bsd_rdma_4_9/usr.bin/timeout/Makefile projects/bsd_rdma_4_9/usr.bin/top/machine.c projects/bsd_rdma_4_9/usr.bin/tr/Makefile projects/bsd_rdma_4_9/usr.bin/truncate/Makefile projects/bsd_rdma_4_9/usr.bin/truss/syscalls.c projects/bsd_rdma_4_9/usr.bin/uniq/Makefile projects/bsd_rdma_4_9/usr.bin/units/Makefile projects/bsd_rdma_4_9/usr.bin/uudecode/Makefile projects/bsd_rdma_4_9/usr.bin/uuencode/Makefile projects/bsd_rdma_4_9/usr.bin/vmstat/vmstat.c projects/bsd_rdma_4_9/usr.bin/w/w.c projects/bsd_rdma_4_9/usr.bin/xargs/Makefile projects/bsd_rdma_4_9/usr.bin/xinstall/Makefile projects/bsd_rdma_4_9/usr.bin/xlint/lint1/param.h projects/bsd_rdma_4_9/usr.bin/xo/Makefile projects/bsd_rdma_4_9/usr.bin/xohtml/xohtml.sh projects/bsd_rdma_4_9/usr.bin/yacc/Makefile projects/bsd_rdma_4_9/usr.sbin/Makefile projects/bsd_rdma_4_9/usr.sbin/acpi/acpidb/Makefile projects/bsd_rdma_4_9/usr.sbin/acpi/acpidump/acpi.c projects/bsd_rdma_4_9/usr.sbin/acpi/iasl/Makefile projects/bsd_rdma_4_9/usr.sbin/bhyve/pci_e82545.c projects/bsd_rdma_4_9/usr.sbin/bhyve/vga.c (contents, props changed) projects/bsd_rdma_4_9/usr.sbin/binmiscctl/binmiscctl.c projects/bsd_rdma_4_9/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.8 projects/bsd_rdma_4_9/usr.sbin/bsdinstall/scripts/netconfig_ipv4 projects/bsd_rdma_4_9/usr.sbin/bsdinstall/scripts/zfsboot projects/bsd_rdma_4_9/usr.sbin/chown/Makefile projects/bsd_rdma_4_9/usr.sbin/cxgbetool/cxgbetool.c projects/bsd_rdma_4_9/usr.sbin/etcupdate/Makefile projects/bsd_rdma_4_9/usr.sbin/extattr/Makefile projects/bsd_rdma_4_9/usr.sbin/fstyp/Makefile projects/bsd_rdma_4_9/usr.sbin/makefs/Makefile projects/bsd_rdma_4_9/usr.sbin/makefs/tests/makefs_cd9660_tests.sh projects/bsd_rdma_4_9/usr.sbin/mpsutil/mps_cmd.c projects/bsd_rdma_4_9/usr.sbin/newsyslog/Makefile projects/bsd_rdma_4_9/usr.sbin/nmtree/Makefile projects/bsd_rdma_4_9/usr.sbin/pmcstat/pmcpl_gprof.c projects/bsd_rdma_4_9/usr.sbin/prometheus_sysctl_exporter/prometheus_sysctl_exporter.c projects/bsd_rdma_4_9/usr.sbin/pw/Makefile projects/bsd_rdma_4_9/usr.sbin/rpcbind/Makefile projects/bsd_rdma_4_9/usr.sbin/rwhod/rwhod.8 projects/bsd_rdma_4_9/usr.sbin/sa/Makefile projects/bsd_rdma_4_9/usr.sbin/tzsetup/tzsetup.c projects/bsd_rdma_4_9/usr.sbin/ypldap/entries.c Directory Properties: projects/bsd_rdma_4_9/ (props changed) projects/bsd_rdma_4_9/cddl/ (props changed) projects/bsd_rdma_4_9/cddl/contrib/opensolaris/ (props changed) projects/bsd_rdma_4_9/cddl/contrib/opensolaris/lib/libzfs/ (props changed) projects/bsd_rdma_4_9/contrib/bmake/ (props changed) projects/bsd_rdma_4_9/contrib/compiler-rt/ (props changed) projects/bsd_rdma_4_9/contrib/elftoolchain/ (props changed) projects/bsd_rdma_4_9/contrib/ipfilter/ (props changed) projects/bsd_rdma_4_9/contrib/libarchive/ (props changed) projects/bsd_rdma_4_9/contrib/libc++/ (props changed) projects/bsd_rdma_4_9/contrib/libxo/ (props changed) projects/bsd_rdma_4_9/contrib/llvm/ (props changed) projects/bsd_rdma_4_9/contrib/llvm/projects/libunwind/ (props changed) projects/bsd_rdma_4_9/contrib/llvm/tools/clang/ (props changed) projects/bsd_rdma_4_9/contrib/llvm/tools/lld/ (props changed) projects/bsd_rdma_4_9/contrib/llvm/tools/lldb/ (props changed) projects/bsd_rdma_4_9/contrib/mdocml/ (props changed) projects/bsd_rdma_4_9/contrib/netbsd-tests/ (props changed) projects/bsd_rdma_4_9/contrib/sqlite3/ (props changed) projects/bsd_rdma_4_9/contrib/subversion/ (props changed) projects/bsd_rdma_4_9/contrib/top/ (props changed) projects/bsd_rdma_4_9/contrib/zstd/ (props changed) projects/bsd_rdma_4_9/crypto/openssh/ (props changed) projects/bsd_rdma_4_9/sys/cddl/contrib/opensolaris/ (props changed) projects/bsd_rdma_4_9/sys/contrib/dev/acpica/ (props changed) projects/bsd_rdma_4_9/sys/contrib/ena-com/ (props changed) projects/bsd_rdma_4_9/sys/contrib/ipfilter/ (props changed) projects/bsd_rdma_4_9/tests/etc/rc.d/routing_test.sh (props changed) projects/bsd_rdma_4_9/tests/sys/acl/aclfuzzer.sh (props changed) projects/bsd_rdma_4_9/tests/sys/acl/mktrivial.sh (props changed) projects/bsd_rdma_4_9/tests/sys/file/flock_test.sh (props changed) projects/bsd_rdma_4_9/tests/sys/geom/class/eli/conf.sh (props changed) projects/bsd_rdma_4_9/tests/sys/geom/class/eli/init_alias_test.sh (props changed) projects/bsd_rdma_4_9/tests/sys/geom/class/mirror/8_test.sh (props changed) projects/bsd_rdma_4_9/tests/sys/geom/class/mirror/9_test.sh (props changed) projects/bsd_rdma_4_9/tests/sys/geom/class/nop/nop_test.sh (props changed) projects/bsd_rdma_4_9/tests/sys/geom/class/uzip/conf.sh (props changed) projects/bsd_rdma_4_9/tests/sys/kern/coredump_phnum_test.sh (props changed) projects/bsd_rdma_4_9/tests/sys/kqueue/libkqueue/kqueue_test.sh (props changed) projects/bsd_rdma_4_9/tests/sys/mac/portacl/misc.sh (props changed) projects/bsd_rdma_4_9/tests/sys/mac/portacl/nobody_test.sh (props changed) projects/bsd_rdma_4_9/tests/sys/mac/portacl/root_test.sh (props changed) projects/bsd_rdma_4_9/tests/sys/mqueue/mqueue_test.sh (props changed) projects/bsd_rdma_4_9/tests/sys/opencrypto/runtests.sh (props changed) projects/bsd_rdma_4_9/tests/sys/vfs/trailing_slash.sh (props changed) Modified: projects/bsd_rdma_4_9/Makefile ============================================================================== --- projects/bsd_rdma_4_9/Makefile Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/Makefile Fri Aug 11 10:59:34 2017 (r322398) @@ -158,8 +158,18 @@ META_TGT_WHITELIST+= \ toolchains universe world worlds xdev xdev-build .ORDER: buildworld installworld +.ORDER: buildworld distrib-dirs +.ORDER: buildworld distribution +.ORDER: buildworld distribute .ORDER: buildworld distributeworld .ORDER: buildworld buildkernel +.ORDER: distrib-dirs distribute +.ORDER: distrib-dirs distributeworld +.ORDER: distrib-dirs installworld +.ORDER: distribution distribute +.ORDER: distributeworld distribute +.ORDER: distributeworld distribution +.ORDER: installworld distribute .ORDER: installworld distribution .ORDER: installworld installkernel .ORDER: buildkernel installkernel @@ -431,14 +441,22 @@ TARGET_ARCHES_${target}?= ${target} MAKE_PARAMS_riscv?= CROSS_TOOLCHAIN=riscv64-gcc -# XXX Remove riscv from universe if the required toolchain package is missing. -.if !exists(/usr/local/share/toolchains/riscv64-gcc.mk) && ${TARGETS:Mriscv} -_UNIVERSE_TARGETS:= ${_UNIVERSE_TARGETS:Nriscv} -universe: universe_riscv_skip .PHONY -universe_epilogue: universe_riscv_skip .PHONY -universe_riscv_skip: universe_prologue .PHONY - @echo ">> riscv skipped - install riscv64-xtoolchain-gcc port or package to build" +# XXX Remove architectures only supported by external toolchain from universe +# if required toolchain packages are missing. +TOOLCHAINS_riscv= riscv64 +.for target in riscv +.if ${_UNIVERSE_TARGETS:M${target}} +.for toolchain in ${TOOLCHAINS_${target}} +.if !exists(/usr/local/share/toolchains/${toolchain}-gcc.mk) +_UNIVERSE_TARGETS:= ${_UNIVERSE_TARGETS:N${target}} +universe: universe_${toolchain}_skip .PHONY +universe_epilogue: universe_${toolchain}_skip .PHONY +universe_${toolchain}_skip: universe_prologue .PHONY + @echo ">> ${target} skipped - install ${toolchain}-xtoolchain-gcc port or package to build" .endif +.endfor +.endif +.endfor .if defined(UNIVERSE_TARGET) MAKE_JUST_WORLDS= YES Modified: projects/bsd_rdma_4_9/Makefile.inc1 ============================================================================== --- projects/bsd_rdma_4_9/Makefile.inc1 Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/Makefile.inc1 Fri Aug 11 10:59:34 2017 (r322398) @@ -444,7 +444,7 @@ BUILD_ARCH!= uname -p .endif .endif WORLDTMP= ${OBJTREE}${.CURDIR}/tmp -BPATH= ${WORLDTMP}/legacy/usr/sbin:${WORLDTMP}/legacy/usr/bin:${WORLDTMP}/legacy/bin +BPATH= ${CCACHE_WRAPPER_PATH_PFX}${WORLDTMP}/legacy/usr/sbin:${WORLDTMP}/legacy/usr/bin:${WORLDTMP}/legacy/bin XPATH= ${WORLDTMP}/usr/sbin:${WORLDTMP}/usr/bin STRICTTMPPATH= ${BPATH}:${XPATH} TMPPATH= ${STRICTTMPPATH}:${PATH} @@ -624,8 +624,7 @@ XCFLAGS+= -isystem ${WORLDTMP}/usr/include -L${WORLDTM # combined with --sysroot. XCFLAGS+= -B${WORLDTMP}/usr/lib # Force using libc++ for external GCC. -# XXX: This should be checking MK_GNUCXX == no -.if ${X_COMPILER_VERSION} >= 40800 +.if ${X_COMPILER_TYPE} == gcc && ${X_COMPILER_VERSION} >= 40800 XCXXFLAGS+= -isystem ${WORLDTMP}/usr/include/c++/v1 -std=c++11 \ -nostdinc++ .endif @@ -761,6 +760,16 @@ _worldtmp: .PHONY rm -rf ${LIBCOMPATTMP} .endif .else +.if exists(${WORLDTMP}) + @echo ">>> Deleting stale files in build tree..." + ${_+_}cd ${.CURDIR}; ${WMAKE} -DBATCH_DELETE_OLD_FILES \ + delete-old delete-old-libs >/dev/null +.endif +.if defined(LIBCOMPAT) && exists(${LIBCOMPATTMP}) + ${_+_}cd ${.CURDIR}; ${WMAKE} -DBATCH_DELETE_OLD_FILES \ + DESTDIR=${LIBCOMPATTMP} \ + delete-old delete-old-libs >/dev/null +.endif rm -rf ${WORLDTMP}/legacy/usr/include .if ${USING_SYSTEM_COMPILER} == "yes" .for cc in cc c++ @@ -770,7 +779,6 @@ _worldtmp: .PHONY fi .endfor .endif # ${USING_SYSTEM_COMPILER} == "yes" -.endif # !defined(NO_CLEAN) # Our current approach to dependency tracking cannot cope with certain source # tree changes, particularly with respect to removing source files and @@ -813,6 +821,9 @@ _worldtmp: .PHONY ${OBJTREE}${.CURDIR}/world32/${.CURDIR}/lib/libc/.depend.${f}.* .endif .endfor + +.endif # !defined(NO_CLEAN) + .for _dir in \ lib lib/casper usr legacy/bin legacy/usr mkdir -p ${WORLDTMP}/${_dir} @@ -1607,7 +1618,10 @@ create-world-package-${pkgname}: .PHONY @awk -F\" ' \ /^name/ { printf("===> Creating %s-", $$2); next } \ /^version/ { print $$2; next } \ - ' ${WSTAGEDIR}/${pkgname}.ucl ; \ + ' ${WSTAGEDIR}/${pkgname}.ucl ; + @if [ "${pkgname}" == "runtime" ]; then \ + sed -i '' -e "s/%KERNCONF%/${INSTALLKERNEL:tl}/" ${WSTAGEDIR}/${pkgname}.ucl ; \ + fi ${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh -o ALLOW_BASE_SHLIBS=yes \ create -M ${WSTAGEDIR}/${pkgname}.ucl \ -p ${WSTAGEDIR}/${pkgname}.plist \ @@ -1618,7 +1632,7 @@ create-world-package-${pkgname}: .PHONY create-kernel-packages: .PHONY _default_flavor= -default .if exists(${KSTAGEDIR}/kernel.meta) -.for flavor in "" -debug +. for flavor in "" -debug create-kernel-packages: create-kernel-packages-flavor${flavor:C,^""$,${_default_flavor},} create-kernel-packages-flavor${flavor:C,^""$,${_default_flavor},}: _pkgbootstrap .PHONY @cd ${KSTAGEDIR}/${DISTDIR} ; \ @@ -1644,12 +1658,12 @@ create-kernel-packages-flavor${flavor:C,^""$,${_defaul -p ${KSTAGEDIR}/${DISTDIR}/kernel.${INSTALLKERNEL}${flavor}.plist \ -r ${KSTAGEDIR}/${DISTDIR} \ -o ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION} -.endfor +. endfor .endif .if ${BUILDKERNELS:[#]} > 1 && ${NO_INSTALLEXTRAKERNELS} != "yes" -.for _kernel in ${BUILDKERNELS:[2..-1]} -.if exists(${KSTAGEDIR}/kernel.${_kernel}.meta) -.for flavor in "" -debug +. for _kernel in ${BUILDKERNELS:[2..-1]} +. if exists(${KSTAGEDIR}/kernel.${_kernel}.meta) +. for flavor in "" -debug create-kernel-packages: create-kernel-packages-extra-flavor${flavor:C,^""$,${_default_flavor},}-${_kernel} create-kernel-packages-extra-flavor${flavor:C,^""$,${_default_flavor},}-${_kernel}: _pkgbootstrap .PHONY @cd ${KSTAGEDIR}/kernel.${_kernel} ; \ @@ -1675,10 +1689,10 @@ create-kernel-packages-extra-flavor${flavor:C,^""$,${_ -p ${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.plist \ -r ${KSTAGEDIR}/kernel.${_kernel} \ -o ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION} -.endfor +. endfor +. endif +. endfor .endif -.endfor -.endif sign-packages: _pkgbootstrap .PHONY @[ -L "${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/latest" ] && \ @@ -2327,11 +2341,12 @@ _cddl_lib_libumem= cddl/lib/libumem _cddl_lib_libnvpair= cddl/lib/libnvpair _cddl_lib_libavl= cddl/lib/libavl _cddl_lib_libuutil= cddl/lib/libuutil +.if ${MK_ZFS} != "no" _cddl_lib_libzfs_core= cddl/lib/libzfs_core +cddl/lib/libzfs_core__L: cddl/lib/libnvpair__L +.endif _cddl_lib_libctf= cddl/lib/libctf _cddl_lib= cddl/lib -cddl/lib/libzfs_core__L: cddl/lib/libnvpair__L -cddl/lib/libzfs__L: lib/libgeom__L cddl/lib/libctf__L: lib/libz__L .endif # cddl/lib/libdtrace requires lib/libproc and lib/librtld_db; it's only built @@ -2730,8 +2745,7 @@ CD2CFLAGS+= -isystem ${XDDESTDIR}/usr/include -L${XDDE # combined with --sysroot. CD2CFLAGS+= -B${XDDESTDIR}/usr/lib # Force using libc++ for external GCC. -# XXX: This should be checking MK_GNUCXX == no -.if ${X_COMPILER_VERSION} >= 40800 +.if ${X_COMPILER_TYPE} == gcc && ${X_COMPILER_VERSION} >= 40800 CD2CXXFLAGS+= -isystem ${XDDESTDIR}/usr/include/c++/v1 -std=c++11 \ -nostdinc++ .endif @@ -2749,9 +2763,6 @@ CD2MAKE=${CD2ENV} PATH=${CDTMP}/usr/bin:${XDDESTDIR}/u CD2MAKE+= BUILD_TOOLS_META=.NOMETA .endif XDDESTDIR=${DESTDIR}/${XDTP} -.if !defined(OSREL) -OSREL!= uname -r | sed -e 's/[-(].*//' -.endif .ORDER: xdev-build xdev-install xdev-links xdev: xdev-build xdev-install .PHONY @@ -2845,7 +2856,7 @@ xdev-links: .PHONY ln -sf ../../${XDTP}/usr/bin/$$i \ ../../../../usr/bin/${XDDIR}-$$i; \ ln -sf ../../${XDTP}/usr/bin/$$i \ - ../../../../usr/bin/${XDDIR}${OSREL}-$$i; \ + ../../../../usr/bin/${XDDIR}${_REVISION}-$$i; \ done .else xdev xdev-build xdev-install xdev-links: .PHONY Modified: projects/bsd_rdma_4_9/Makefile.libcompat ============================================================================== --- projects/bsd_rdma_4_9/Makefile.libcompat Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/Makefile.libcompat Fri Aug 11 10:59:34 2017 (r322398) @@ -99,8 +99,7 @@ LIBCOMPATCFLAGS+= -B${LIBCOMPATTMP}/usr/lib${libcompat # sysroot path which --sysroot does not actually do for headers. LIBCOMPATCFLAGS+= -isystem ${LIBCOMPATTMP}/usr/include # Force using libc++ for external GCC. -# XXX: This should be checking MK_GNUCXX == no -.if ${X_COMPILER_VERSION} >= 40800 && \ +.if ${X_COMPILER_TYPE} == gcc && ${X_COMPILER_VERSION} >= 40800 && \ (${MK_CLANG_BOOTSTRAP} == "no" && ${MK_GCC_BOOTSTRAP} == "no") LIBCOMPATCXXFLAGS+= -isystem ${LIBCOMPATTMP}/usr/include/c++/v1 -std=c++11 \ -nostdinc++ Modified: projects/bsd_rdma_4_9/ObsoleteFiles.inc ============================================================================== --- projects/bsd_rdma_4_9/ObsoleteFiles.inc Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/ObsoleteFiles.inc Fri Aug 11 10:59:34 2017 (r322398) @@ -38,6 +38,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20170802: ksyms(4) ioctl interface was removed +OLD_FILES+=usr/include/sys/ksyms.h + # 20170722: new clang import which bumps version from 4.0.0 to 5.0.0. OLD_FILES+=usr/lib/clang/4.0.0/include/sanitizer/allocator_interface.h OLD_FILES+=usr/lib/clang/4.0.0/include/sanitizer/asan_interface.h Modified: projects/bsd_rdma_4_9/UPDATING ============================================================================== --- projects/bsd_rdma_4_9/UPDATING Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/UPDATING Fri Aug 11 10:59:34 2017 (r322398) @@ -51,14 +51,34 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW: ****************************** SPECIAL WARNING: ****************************** +20170808: + Since the switch to GPT disk labels, fsck for UFS/FFS has been + unable to automatically find alternate superblocks. As of r322297, + the information needed to find alternate superblocks has been + moved to the end of the area reserved for the boot block. + Filesystems created with a newfs of this vintage or later + will create the recovery information. If you have a filesystem + created prior to this change and wish to have a recovery block + created for your filesystem, you can do so by running fsck in + forground mode (i.e., do not use the -p or -y options). As it + starts, fsck will ask ``SAVE DATA TO FIND ALTERNATE SUPERBLOCKS'' + to which you should answer yes. + +20170728: + As of r321665, an NFSv4 server configuration that services + Kerberos mounts or clients that do not support the uid/gid in + owner/owner_group string capability, must explicitly enable + the nfsuserd daemon by adding nfsuserd_enable="YES" to the + machine's /etc/rc.conf file. + 20170722: Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 5.0.0. Please see the 20141231 entry below for information about prerequisites and upgrading, if you are not already using clang 3.5.0 or higher. 20170701: - WITHOUT_RCMDS is now the default. Set WITH_RCMDS if you need them to be - built with the base system. + WITHOUT_RCMDS is now the default. Set WITH_RCMDS if you need the + r-commands (rlogin, rsh, etc.) to be built with the base system. 20170625: The FreeBSD/powerpc platform now uses a 64-bit type for time_t. This is Modified: projects/bsd_rdma_4_9/bin/cat/Makefile ============================================================================== --- projects/bsd_rdma_4_9/bin/cat/Makefile Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/bin/cat/Makefile Fri Aug 11 10:59:34 2017 (r322398) @@ -6,8 +6,6 @@ PACKAGE=runtime PROG= cat -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/bsd_rdma_4_9/bin/cat/cat.c ============================================================================== --- projects/bsd_rdma_4_9/bin/cat/cat.c Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/bin/cat/cat.c Fri Aug 11 10:59:34 2017 (r322398) @@ -51,12 +51,12 @@ __FBSDID("$FreeBSD$"); #ifndef NO_UDOM_SUPPORT #include #include -#include #include #endif #include #include +#include #include #include #include Modified: projects/bsd_rdma_4_9/bin/chmod/tests/chmod_test.sh ============================================================================== --- projects/bsd_rdma_4_9/bin/chmod/tests/chmod_test.sh Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/bin/chmod/tests/chmod_test.sh Fri Aug 11 10:59:34 2017 (r322398) @@ -25,6 +25,13 @@ # # $FreeBSD$ +get_filesystem() +{ + local mountpoint=$1 + + df -T $mountpoint | tail -n 1 | cut -wf 2 +} + atf_test_case RH_flag RH_flag_head() { @@ -94,6 +101,11 @@ f_flag_body() { atf_check truncate -s 0 foo bar atf_check chmod 0750 foo bar + case "$(get_filesystem .)" in + zfs) + atf_expect_fail "ZFS doesn't support UF_IMMUTABLE; returns EPERM - bug 221189" + ;; + esac atf_check chflags uchg foo atf_check -e not-empty -s not-exit:0 chmod 0700 foo bar atf_check -o inline:'100750\n100700\n' stat -f '%p' foo bar @@ -103,7 +115,7 @@ f_flag_body() f_flag_cleanup() { - atf_check chflags 0 foo + chflags 0 foo || : } atf_test_case h_flag @@ -140,6 +152,11 @@ v_flag_body() atf_check truncate -s 0 foo bar atf_check chmod 0600 foo atf_check chmod 0750 bar + case "$(get_filesystem .)" in + zfs) + atf_expect_fail "ZFS updates mode for foo unnecessarily - bug 221188" + ;; + esac atf_check -o 'inline:bar\n' chmod -v 0600 foo bar atf_check chmod -v 0600 foo bar for f in foo bar; do Modified: projects/bsd_rdma_4_9/bin/date/Makefile ============================================================================== --- projects/bsd_rdma_4_9/bin/date/Makefile Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/bin/date/Makefile Fri Aug 11 10:59:34 2017 (r322398) @@ -7,8 +7,6 @@ PACKAGE=runtime PROG= date SRCS= date.c netdate.c vary.c -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/bsd_rdma_4_9/bin/dd/Makefile ============================================================================== --- projects/bsd_rdma_4_9/bin/dd/Makefile Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/bin/dd/Makefile Fri Aug 11 10:59:34 2017 (r322398) @@ -38,8 +38,6 @@ test: ${PROG} gen @rm -f gen 1M_zeroes* obs_zeroes -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/bsd_rdma_4_9/bin/df/df.1 ============================================================================== --- projects/bsd_rdma_4_9/bin/df/df.1 Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/bin/df/df.1 Fri Aug 11 10:59:34 2017 (r322398) @@ -29,7 +29,7 @@ .\" @(#)df.1 8.3 (Berkeley) 5/8/95 .\" $FreeBSD$ .\" -.Dd December 1, 2015 +.Dd August 8, 2017 .Dt DF 1 .Os .Sh NAME @@ -97,7 +97,7 @@ output. Use unit suffixes: Byte, Kibibyte, Mebibyte, Gibibyte, Tebibyte and Pebibyte (based on powers of 1024) in order to reduce the number of digits to four or fewer. -.It Fl H +.It Fl H , Fl Fl si .Dq Human-readable output. Use unit suffixes: Byte, Kilobyte, Megabyte, Modified: projects/bsd_rdma_4_9/bin/df/df.c ============================================================================== --- projects/bsd_rdma_4_9/bin/df/df.c Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/bin/df/df.c Fri Aug 11 10:59:34 2017 (r322398) @@ -54,6 +54,7 @@ __FBSDID("$FreeBSD$"); #include #endif #include +#include #include #include #ifdef MOUNT_CHAR_DEVS @@ -107,6 +108,12 @@ static int thousands; static struct ufs_args mdev; #endif +static const struct option long_options[] = +{ + { "si", no_argument, NULL, 'H' }, + { NULL, no_argument, NULL, 0 }, +}; + int main(int argc, char *argv[]) { @@ -142,7 +149,8 @@ main(int argc, char *argv[]) if (argc < 0) exit(1); - while ((ch = getopt(argc, argv, "abcgHhiklmnPt:T,")) != -1) + while ((ch = getopt_long(argc, argv, "+abcgHhiklmnPt:T,", long_options, + NULL)) != -1) switch (ch) { case 'a': aflag = 1; Modified: projects/bsd_rdma_4_9/bin/echo/Makefile ============================================================================== --- projects/bsd_rdma_4_9/bin/echo/Makefile Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/bin/echo/Makefile Fri Aug 11 10:59:34 2017 (r322398) @@ -6,8 +6,6 @@ PACKAGE=runtime PROG= echo -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/bsd_rdma_4_9/bin/expr/Makefile ============================================================================== --- projects/bsd_rdma_4_9/bin/expr/Makefile Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/bin/expr/Makefile Fri Aug 11 10:59:34 2017 (r322398) @@ -12,8 +12,6 @@ CFLAGS+= -fwrapv NO_WMISSING_VARIABLE_DECLARATIONS= -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/bsd_rdma_4_9/bin/ln/Makefile ============================================================================== --- projects/bsd_rdma_4_9/bin/ln/Makefile Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/bin/ln/Makefile Fri Aug 11 10:59:34 2017 (r322398) @@ -10,8 +10,6 @@ MAN= ln.1 symlink.7 LINKS= ${BINDIR}/ln ${BINDIR}/link MLINKS= ln.1 link.1 -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/bsd_rdma_4_9/bin/ls/Makefile ============================================================================== --- projects/bsd_rdma_4_9/bin/ls/Makefile Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/bin/ls/Makefile Fri Aug 11 10:59:34 2017 (r322398) @@ -14,8 +14,6 @@ CFLAGS+= -DCOLORLS LIBADD+= termcapw .endif -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/bsd_rdma_4_9/bin/mv/Makefile ============================================================================== --- projects/bsd_rdma_4_9/bin/mv/Makefile Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/bin/mv/Makefile Fri Aug 11 10:59:34 2017 (r322398) @@ -6,8 +6,6 @@ PACKAGE=runtime PROG= mv -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/bsd_rdma_4_9/bin/pax/Makefile ============================================================================== --- projects/bsd_rdma_4_9/bin/pax/Makefile Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/bin/pax/Makefile Fri Aug 11 10:59:34 2017 (r322398) @@ -33,8 +33,6 @@ SRCS= ar_io.c ar_subs.c buf_subs.c cache.c cpio.c file gen_subs.c getoldopt.c options.c pat_rep.c pax.c sel_subs.c \ tables.c tar.c tty_subs.c -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/bsd_rdma_4_9/bin/pkill/Makefile ============================================================================== --- projects/bsd_rdma_4_9/bin/pkill/Makefile Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/bin/pkill/Makefile Fri Aug 11 10:59:34 2017 (r322398) @@ -19,8 +19,6 @@ MLINKS= pkill.1 pgrep.1 SYMLINKS= ../..${BINDIR}/pkill /usr/bin/pkill SYMLINKS+= ../..${BINDIR}/pgrep /usr/bin/pgrep -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/bsd_rdma_4_9/bin/pkill/pkill.c ============================================================================== --- projects/bsd_rdma_4_9/bin/pkill/pkill.c Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/bin/pkill/pkill.c Fri Aug 11 10:59:34 2017 (r322398) @@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -656,10 +657,12 @@ killact(const struct kinfo_proc *kp) static int grepact(const struct kinfo_proc *kp) { + static bool first = true; - show_process(kp); - if (!quiet) + if (!quiet && !first) printf("%s", delim); + show_process(kp); + first = false; return (1); } Modified: projects/bsd_rdma_4_9/bin/sh/Makefile ============================================================================== --- projects/bsd_rdma_4_9/bin/sh/Makefile Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/bin/sh/Makefile Fri Aug 11 10:59:34 2017 (r322398) @@ -64,8 +64,6 @@ syntax.c syntax.h: mksyntax token.h: mktokens sh ${.CURDIR}/mktokens -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/bsd_rdma_4_9/bin/sleep/Makefile ============================================================================== --- projects/bsd_rdma_4_9/bin/sleep/Makefile Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/bin/sleep/Makefile Fri Aug 11 10:59:34 2017 (r322398) @@ -6,8 +6,6 @@ PACKAGE=runtime PROG= sleep -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/bsd_rdma_4_9/bin/test/Makefile ============================================================================== --- projects/bsd_rdma_4_9/bin/test/Makefile Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/bin/test/Makefile Fri Aug 11 10:59:34 2017 (r322398) @@ -8,8 +8,6 @@ PROG= test LINKS= ${BINDIR}/test ${BINDIR}/[ MLINKS= test.1 [.1 -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/bsd_rdma_4_9/cddl/Makefile ============================================================================== --- projects/bsd_rdma_4_9/cddl/Makefile Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/cddl/Makefile Fri Aug 11 10:59:34 2017 (r322398) @@ -5,9 +5,7 @@ SUBDIR= lib .WAIT \ sbin usr.bin usr.sbin -.if ${MK_TESTS} != "no" -SUBDIR+=tests -.endif +SUBDIR.${MK_TESTS}+= tests SUBDIR_PARALLEL= Modified: projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl ============================================================================== --- projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/cmd/scripts/dtest.pl Fri Aug 11 10:59:34 2017 (r322398) @@ -116,7 +116,7 @@ sub fail open(README, ">$opt_d/failure.$n/README"); print README "ERROR: " . $file . " " . $msg; - + if (scalar @parms > 1) { print README "; see $errfile\n"; } else { @@ -250,7 +250,7 @@ sub run_tests { $name = $1; $base = $2; $ext = $3; - + $dir = dirname($file); $isksh = 0; $tag = 0; @@ -372,7 +372,7 @@ sub run_tests { "modunload -i 0"); if (!system("modinfo | grep dtrace")) { warn "ERROR: couldn't unload dtrace\n"; - system("svcadm enable " . + system("svcadm enable " . "-s svc:/network/nfs/mapid:default"); exit(124); } @@ -387,7 +387,7 @@ sub run_tests { "modunload -i 0"); if (!system("modinfo | grep dtrace")) { warn "ERROR: couldn't unload dtrace\n"; - system("svcadm enable " . + system("svcadm enable " . "-s svc:/network/nfs/mapid:default"); exit(124); } @@ -679,7 +679,7 @@ if ($opt_b) { # # Run all the tests specified on the command-line (the entire test suite # by default) once for each dtrace command tested, skipping any tests -# not valid for that command. +# not valid for that command. # foreach $dtrace_cmd (@dtrace_cmds) { run_tests($dtrace_cmd, $exception_lists{$dtrace_cmd}); Modified: projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.CoalesceTrace.d ============================================================================== --- projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.CoalesceTrace.d Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/man.CoalesceTrace.d Fri Aug 11 10:59:34 2017 (r322398) @@ -1,4 +1,4 @@ -#!/bin/ksh -p +#!/usr/bin/env ksh -p /* * CDDL HEADER START Modified: projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithFunction.d.ksh ============================================================================== --- projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithFunction.d.ksh Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.DestructWithFunction.d.ksh Fri Aug 11 10:59:34 2017 (r322398) @@ -38,6 +38,14 @@ ## +reader() +{ + while true + do + sleep 0.1 + cat /etc/motd > /dev/null + done +} if [ $# != 1 ]; then echo expected one argument: '<'dtrace-path'>' @@ -46,11 +54,16 @@ fi dtrace=$1 +reader & +child=$! + $dtrace -qwf read'{chill(15); printf("Done chilling"); exit(0);}' status=$? if [ "$status" -ne 0 ]; then echo $tst: dtrace failed fi + +kill $child exit $status Modified: projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroFunctionProbes.d.ksh ============================================================================== --- projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroFunctionProbes.d.ksh Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/dtraceUtil/tst.ZeroFunctionProbes.d.ksh Fri Aug 11 10:59:34 2017 (r322398) @@ -39,6 +39,15 @@ ## +reader() +{ + while true + do + sleep 0.1 + cat /etc/motd > /dev/null + done +} + if [ $# != 1 ]; then echo expected one argument: '<'dtrace-path'>' exit 2 @@ -46,6 +55,9 @@ fi dtrace=$1 +reader & +child=$! + $dtrace -qZf wassup'{printf("Iamkool");}' \ -qf read'{printf("I am done"); exit(0);}' @@ -54,5 +66,7 @@ status=$? if [ "$status" -ne 0 ]; then echo $tst: dtrace failed fi + +kill $child exit $status Modified: projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.basename.d ============================================================================== --- projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.basename.d Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.basename.d Fri Aug 11 10:59:34 2017 (r322398) @@ -27,6 +27,7 @@ #pragma ident "%Z%%M% %I% %E% SMI" #pragma D option quiet +#pragma D option dynvarsize=2m /* * This test verifies that the basename() and dirname() functions are working @@ -54,12 +55,16 @@ BEGIN dir[i++] = "f"; dir[i++] = "f/"; dir[i++] = "/////"; + /* + * basename(3) and basename(1) return different results for the empty + * string on FreeBSD, so we need special handling. dir[i++] = ""; + */ end = i; i = 0; - printf("#!/usr/bin/ksh\n\n"); + printf("#!/usr/bin/env ksh\n\n"); } tick-1ms @@ -83,5 +88,19 @@ tick-1ms tick-1ms /i == end/ { + dir[i] = ""; + printf("if [ \"`basename \"%s\"`\" != \"%s\" -a \".\" != \"%s\" ]; then\n", + dir[i], basename(dir[i]), basename(dir[i])); + printf(" echo \"basename(\\\"%s\\\") is \\\"%s\\\"; ", + dir[i], basename(dir[i])); + printf("expected \\\"`basename \"%s\"`\\\" or \\\".\\\"\"\n", dir[i]); + printf("fi\n\n"); + printf("if [ `dirname \"%s\"` != \"%s\" ]; then\n", + dir[i], dirname(dir[i])); + printf(" echo \"dirname(\\\"%s\\\") is \\\"%s\\\"; ", + dir[i], dirname(dir[i])); + printf("expected \\\"`dirname \"%s\"`\"\\\"\n", dir[i]); + printf("fi\n\n"); + exit(0); } Modified: projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.basename.d.out ============================================================================== --- projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.basename.d.out Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.basename.d.out Fri Aug 11 10:59:34 2017 (r322398) @@ -1,4 +1,4 @@ -#!/usr/bin/ksh +#!/usr/bin/env ksh if [ `basename "/foo/bar/baz"` != "baz" ]; then echo "basename(\"/foo/bar/baz\") is \"baz\"; expected \"`basename "/foo/bar/baz"`"\" @@ -152,8 +152,8 @@ if [ `dirname "/////"` != "/" ]; then echo "dirname(\"/////\") is \"/\"; expected \"`dirname "/////"`"\" fi -if [ `basename ""` != "." ]; then - echo "basename(\"\") is \".\"; expected \"`basename ""`"\" +if [ "`basename ""`" != "." -a "." != "." ]; then + echo "basename(\"\") is \".\"; expected \"`basename ""`\" or \".\"" fi if [ `dirname ""` != "." ]; then Modified: projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.cleanpath.d ============================================================================== --- projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.cleanpath.d Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/funcs/tst.cleanpath.d Fri Aug 11 10:59:34 2017 (r322398) @@ -27,6 +27,7 @@ #pragma ident "%Z%%M% %I% %E% SMI" #pragma D option quiet +#pragma D option dynvarsize=2m BEGIN { Modified: projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh ============================================================================== --- projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh Fri Aug 11 10:59:34 2017 (r322398) @@ -31,11 +31,12 @@ fi dtrace=$1 -$dtrace -ln 'syscall::*$1:entry' read | awk '{print $(NF-1),$NF}' | sort -$dtrace -ln 'syscall::$1*:entry' read | awk '{print $(NF-1),$NF}' | sort -$dtrace -ln 'syscall::re$1*:entry' ad | awk '{print $(NF-1),$NF}' | sort -$dtrace -ln 'syscall::$1l*:entry' read | awk '{print $(NF-1),$NF}' | sort -$dtrace -ln 'syscall::p$1[0-9][0-9]:entry' read | awk '{print $(NF-1),$NF}' | \ - sort +$dtrace -ln 'syscall:freebsd:*$1:entry' read | \ + awk '{print $(NF-1),$NF}' | grep -v -E 'compat.\.' | sort +$dtrace -ln 'syscall:freebsd:$1*:entry' read | awk '{print $(NF-1),$NF}' | sort +$dtrace -ln 'syscall:freebsd:re$1*:entry' ad | awk '{print $(NF-1),$NF}' | sort +$dtrace -ln 'syscall:freebsd:$1l*:entry' read | awk '{print $(NF-1),$NF}' | sort +$dtrace -ln 'syscall:freebsd:w$1[0-9]:entry' ait | \ + awk '{print $(NF-1),$NF}' | sort exit $status Modified: projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh.out ============================================================================== --- projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh.out Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/misc/tst.macroglob.ksh.out Fri Aug 11 10:59:34 2017 (r322398) @@ -1,15 +1,22 @@ FUNCTION NAME +aio_read entry +obs_vread entry pread entry read entry +rtprio_thread entry FUNCTION NAME read entry readlink entry +readlinkat entry readv entry FUNCTION NAME read entry readlink entry +readlinkat entry readv entry FUNCTION NAME readlink entry +readlinkat entry FUNCTION NAME -pread64 entry +wait4 entry +wait6 entry Copied: projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/probes/tst.probestar.c (from r322397, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/probes/tst.probestar.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/probes/tst.probestar.c Fri Aug 11 10:59:34 2017 (r322398, copy of r322397, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/probes/tst.probestar.c) @@ -0,0 +1,47 @@ +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2017 Li-Wen Hsu + */ + +#include +#include +#include + +int +main(void) +{ + + sigset_t set; + siginfo_t info; + struct timespec timeout; + + (void)sigemptyset(&set); + (void)sigaddset(&set, SIGHUP); + timeout.tv_sec = 1; + timeout.tv_nsec = 0; + + for (;;) + (void)sigtimedwait(&set, &info, &timeout); + + return (0); +} Modified: projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/probes/tst.probestar.d ============================================================================== --- projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/probes/tst.probestar.d Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/probes/tst.probestar.d Fri Aug 11 10:59:34 2017 (r322398) @@ -45,6 +45,7 @@ BEGIN } syscall::*wait*:entry +/pid == $1/ { exit(0); } Modified: projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.NoSpecBuffer.d ============================================================================== --- projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.NoSpecBuffer.d Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.NoSpecBuffer.d Fri Aug 11 10:59:34 2017 (r322398) @@ -39,6 +39,7 @@ BEGIN { i = 0; + notused = $1; } syscall::open:entry Copied: projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.NoSpecBuffer.exe (from r322397, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.NoSpecBuffer.exe) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.NoSpecBuffer.exe Fri Aug 11 10:59:34 2017 (r322398, copy of r322397, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/speculation/tst.NoSpecBuffer.exe) @@ -0,0 +1,30 @@ +#!/usr/bin/env ksh +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2017 Li-Wen Hsu + +while true +do + sleep 0.1 + cat /etc/motd > /dev/null +done Modified: projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/lockstat/sym.c ============================================================================== --- projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/lockstat/sym.c Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/lockstat/sym.c Fri Aug 11 10:59:34 2017 (r322398) @@ -48,7 +48,6 @@ #include #else #include -#include #include #include #include @@ -175,10 +174,6 @@ symtab_init(void) int fd; int i; int strindex = -1; -#ifndef illumos - void *ksyms; - size_t sz; -#endif #ifndef illumos if ((fd = open("/dev/ksyms", O_RDONLY)) == -1) { @@ -194,33 +189,9 @@ symtab_init(void) return (-1); #endif -#ifdef illumos (void) elf_version(EV_CURRENT); elf = elf_begin(fd, ELF_C_READ, NULL); -#else - /* - * XXX - libelf needs to be fixed so it will work with - * non 'ordinary' files like /dev/ksyms. The following - * is a work around for now. - */ - if (elf_version(EV_CURRENT) == EV_NONE) { - close(fd); - return (-1); - } - if (ioctl(fd, KIOCGSIZE, &sz) < 0) { - close(fd); - return (-1); - } - if (ioctl(fd, KIOCGADDR, &ksyms) < 0) { - close(fd); - return (-1); - } - if ((elf = elf_memory(ksyms, sz)) == NULL) { - close(fd); - return (-1); - } -#endif for (cnt = 1; (scn = elf_nextscn(elf, scn)) != NULL; cnt++) { Shdr *shdr = elf_getshdr(scn); Modified: projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/ztest/ztest.c ============================================================================== --- projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/ztest/ztest.c Fri Aug 11 10:44:40 2017 (r322397) +++ projects/bsd_rdma_4_9/cddl/contrib/opensolaris/cmd/ztest/ztest.c Fri Aug 11 10:59:34 2017 (r322398) @@ -1838,7 +1838,6 @@ ztest_get_data(void *arg, lr_write_t *lr, char *buf, z uint64_t object = lr->lr_foid; uint64_t offset = lr->lr_offset; uint64_t size = lr->lr_length; - blkptr_t *bp = &lr->lr_blkptr; uint64_t txg = lr->lr_common.lrc_txg; uint64_t crtxg; dmu_object_info_t doi; @@ -1892,11 +1891,7 @@ ztest_get_data(void *arg, lr_write_t *lr, char *buf, z DMU_READ_NO_PREFETCH); if (error == 0) { - blkptr_t *obp = dmu_buf_get_blkptr(db); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Fri Aug 11 22:39:46 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 26D71DCC2A5 for ; Fri, 11 Aug 2017 22:39:46 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A309B67AA1; Fri, 11 Aug 2017 22:39:45 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v7BMdiYt026769; Fri, 11 Aug 2017 22:39:44 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v7BMddJl026721; Fri, 11 Aug 2017 22:39:39 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201708112239.v7BMddJl026721@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Fri, 11 Aug 2017 22:39:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322417 - in projects/numa2: . bin/cat bin/chmod/tests bin/date bin/dd bin/df bin/echo bin/expr bin/ln bin/ls bin/mv bin/pax bin/pkill bin/sh bin/sleep bin/test cddl cddl/contrib/openso... X-SVN-Group: projects X-SVN-Commit-Author: markj X-SVN-Commit-Paths: in projects/numa2: . bin/cat bin/chmod/tests bin/date bin/dd bin/df bin/echo bin/expr bin/ln bin/ls bin/mv bin/pax bin/pkill bin/sh bin/sleep bin/test cddl cddl/contrib/opensolaris/cmd/lockstat cddl/c... X-SVN-Commit-Revision: 322417 X-SVN-Commit-Repository: base 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.23 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: Fri, 11 Aug 2017 22:39:46 -0000 Author: markj Date: Fri Aug 11 22:39:38 2017 New Revision: 322417 URL: https://svnweb.freebsd.org/changeset/base/322417 Log: MFH at r322416. Added: projects/numa2/contrib/mdocml/compat_recallocarray.c - copied unchanged from r322416, head/contrib/mdocml/compat_recallocarray.c projects/numa2/contrib/mdocml/mandoc_xr.c - copied unchanged from r322416, head/contrib/mdocml/mandoc_xr.c projects/numa2/contrib/mdocml/mandoc_xr.h - copied unchanged from r322416, head/contrib/mdocml/mandoc_xr.h projects/numa2/contrib/mdocml/test-recallocarray.c - copied unchanged from r322416, head/contrib/mdocml/test-recallocarray.c projects/numa2/crypto/openssh/regress/unittests/conversion/ - copied from r322416, head/crypto/openssh/regress/unittests/conversion/ projects/numa2/share/vt/keymaps/tr.f.kbd - copied unchanged from r322416, head/share/vt/keymaps/tr.f.kbd projects/numa2/sys/arm/conf/GENERIC-NODEBUG - copied unchanged from r322416, head/sys/arm/conf/GENERIC-NODEBUG projects/numa2/sys/arm/freescale/imx/imx6_ahci.c - copied unchanged from r322416, head/sys/arm/freescale/imx/imx6_ahci.c projects/numa2/sys/boot/efi/include/efi_driver_utils.h - copied unchanged from r322416, head/sys/boot/efi/include/efi_driver_utils.h projects/numa2/sys/boot/efi/include/efi_drivers.h - copied unchanged from r322416, head/sys/boot/efi/include/efi_drivers.h projects/numa2/sys/boot/efi/include/efizfs.h - copied unchanged from r322416, head/sys/boot/efi/include/efizfs.h projects/numa2/sys/boot/efi/libefi/devicename.c - copied unchanged from r322416, head/sys/boot/efi/libefi/devicename.c projects/numa2/sys/boot/efi/libefi/efi_driver_utils.c - copied unchanged from r322416, head/sys/boot/efi/libefi/efi_driver_utils.c projects/numa2/sys/boot/efi/libefi/efizfs.c - copied unchanged from r322416, head/sys/boot/efi/libefi/efizfs.c projects/numa2/sys/dev/cxgbe/cudbg/ - copied from r322416, head/sys/dev/cxgbe/cudbg/ projects/numa2/sys/dev/iicbus/isl12xx.c - copied unchanged from r322416, head/sys/dev/iicbus/isl12xx.c projects/numa2/sys/modules/i2c/ds1307/ - copied from r322416, head/sys/modules/i2c/ds1307/ projects/numa2/sys/modules/i2c/ds3231/ - copied from r322416, head/sys/modules/i2c/ds3231/ projects/numa2/sys/modules/i2c/isl12xx/ - copied from r322416, head/sys/modules/i2c/isl12xx/ projects/numa2/sys/modules/i2c/nxprtc/ - copied from r322416, head/sys/modules/i2c/nxprtc/ Deleted: projects/numa2/contrib/jemalloc/src/spin.c projects/numa2/crypto/openssh/auth1.c projects/numa2/sys/boot/efi/loader/devicename.c projects/numa2/sys/boot/fdt/dts/riscv/ projects/numa2/sys/riscv/conf/LOWRISC projects/numa2/sys/riscv/conf/LOWRISC.hints projects/numa2/sys/riscv/conf/QEMU projects/numa2/sys/riscv/conf/ROCKET projects/numa2/sys/riscv/conf/SPIKE projects/numa2/sys/riscv/riscv/sbi.S projects/numa2/sys/sys/ksyms.h Modified: projects/numa2/Makefile.inc1 projects/numa2/Makefile.libcompat projects/numa2/ObsoleteFiles.inc projects/numa2/UPDATING projects/numa2/bin/cat/Makefile projects/numa2/bin/cat/cat.c projects/numa2/bin/chmod/tests/chmod_test.sh projects/numa2/bin/date/Makefile projects/numa2/bin/dd/Makefile projects/numa2/bin/df/df.1 projects/numa2/bin/df/df.c projects/numa2/bin/echo/Makefile projects/numa2/bin/expr/Makefile projects/numa2/bin/ln/Makefile projects/numa2/bin/ls/Makefile projects/numa2/bin/mv/Makefile projects/numa2/bin/pax/Makefile projects/numa2/bin/pkill/Makefile projects/numa2/bin/pkill/pkill.c projects/numa2/bin/sh/Makefile projects/numa2/bin/sleep/Makefile projects/numa2/bin/test/Makefile projects/numa2/cddl/Makefile projects/numa2/cddl/contrib/opensolaris/cmd/lockstat/sym.c projects/numa2/cddl/contrib/opensolaris/cmd/ztest/ztest.c projects/numa2/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c projects/numa2/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c projects/numa2/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_compat.c projects/numa2/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c projects/numa2/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c projects/numa2/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.h projects/numa2/cddl/lib/Makefile projects/numa2/cddl/sbin/Makefile projects/numa2/cddl/usr.bin/Makefile projects/numa2/cddl/usr.sbin/Makefile projects/numa2/contrib/compiler-rt/lib/builtins/int_lib.h projects/numa2/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h projects/numa2/contrib/elftoolchain/libelf/_libelf_config.h projects/numa2/contrib/ipfilter/tools/ippool.c projects/numa2/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_types.h projects/numa2/contrib/jemalloc/include/jemalloc/internal/spin.h projects/numa2/contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h projects/numa2/contrib/libc++/include/__bsd_locale_defaults.h projects/numa2/contrib/libc++/include/__bsd_locale_fallbacks.h projects/numa2/contrib/libc++/include/__locale projects/numa2/contrib/libc++/include/mutex projects/numa2/contrib/libc++/include/sstream projects/numa2/contrib/libxo/Makefile.am projects/numa2/contrib/libxo/configure.ac projects/numa2/contrib/libxo/doc/libxo-manual.html projects/numa2/contrib/libxo/libxo/libxo.3 projects/numa2/contrib/libxo/libxo/libxo.c projects/numa2/contrib/libxo/libxo/xo_attr.3 projects/numa2/contrib/libxo/libxo/xo_create.3 projects/numa2/contrib/libxo/libxo/xo_emit.3 projects/numa2/contrib/libxo/libxo/xo_emit_err.3 projects/numa2/contrib/libxo/libxo/xo_emit_f.3 projects/numa2/contrib/libxo/libxo/xo_err.3 projects/numa2/contrib/libxo/libxo/xo_error.3 projects/numa2/contrib/libxo/libxo/xo_finish.3 projects/numa2/contrib/libxo/libxo/xo_flush.3 projects/numa2/contrib/libxo/libxo/xo_format.5 projects/numa2/contrib/libxo/libxo/xo_message.3 projects/numa2/contrib/libxo/libxo/xo_no_setlocale.3 projects/numa2/contrib/libxo/libxo/xo_open_container.3 projects/numa2/contrib/libxo/libxo/xo_open_list.3 projects/numa2/contrib/libxo/libxo/xo_open_marker.3 projects/numa2/contrib/libxo/libxo/xo_options.7 projects/numa2/contrib/libxo/libxo/xo_parse_args.3 projects/numa2/contrib/libxo/libxo/xo_set_allocator.3 projects/numa2/contrib/libxo/libxo/xo_set_flags.3 projects/numa2/contrib/libxo/libxo/xo_set_info.3 projects/numa2/contrib/libxo/libxo/xo_set_options.3 projects/numa2/contrib/libxo/libxo/xo_set_style.3 projects/numa2/contrib/libxo/libxo/xo_set_syslog_enterprise_id.3 projects/numa2/contrib/libxo/libxo/xo_set_version.3 projects/numa2/contrib/libxo/libxo/xo_set_writer.3 projects/numa2/contrib/libxo/libxo/xo_syslog.3 projects/numa2/contrib/libxo/tests/core/saved/test_01.E.out projects/numa2/contrib/libxo/tests/core/saved/test_01.H.out projects/numa2/contrib/libxo/tests/core/saved/test_01.HIPx.out projects/numa2/contrib/libxo/tests/core/saved/test_01.HP.out projects/numa2/contrib/libxo/tests/core/saved/test_01.J.out projects/numa2/contrib/libxo/tests/core/saved/test_01.JP.out projects/numa2/contrib/libxo/tests/core/saved/test_01.T.out projects/numa2/contrib/libxo/tests/core/saved/test_01.X.out projects/numa2/contrib/libxo/tests/core/saved/test_01.XP.out projects/numa2/contrib/libxo/tests/core/saved/test_02.E.out projects/numa2/contrib/libxo/tests/core/saved/test_02.J.out projects/numa2/contrib/libxo/tests/core/saved/test_02.JP.out projects/numa2/contrib/libxo/tests/core/saved/test_02.X.out projects/numa2/contrib/libxo/tests/core/saved/test_02.XP.out projects/numa2/contrib/libxo/tests/core/test_01.c projects/numa2/contrib/libxo/tests/xo/saved/xo_01.H.out projects/numa2/contrib/libxo/tests/xo/saved/xo_01.HIPx.out projects/numa2/contrib/libxo/tests/xo/saved/xo_01.HP.out projects/numa2/contrib/libxo/tests/xo/saved/xo_01.J.out projects/numa2/contrib/libxo/tests/xo/saved/xo_01.JP.out projects/numa2/contrib/libxo/tests/xo/saved/xo_01.T.out projects/numa2/contrib/libxo/tests/xo/saved/xo_01.X.out projects/numa2/contrib/libxo/tests/xo/saved/xo_01.XP.out projects/numa2/contrib/libxo/tests/xo/xo_01.sh projects/numa2/contrib/libxo/xo/xo.1 projects/numa2/contrib/libxo/xohtml/xohtml.1 projects/numa2/contrib/libxo/xohtml/xohtml.sh.in projects/numa2/contrib/libxo/xolint/xolint.1 projects/numa2/contrib/libxo/xopo/xopo.1 projects/numa2/contrib/llvm/include/llvm/Analysis/ValueTracking.h projects/numa2/contrib/llvm/include/llvm/CodeGen/MachineFunction.h projects/numa2/contrib/llvm/include/llvm/CodeGen/MachineInstr.h projects/numa2/contrib/llvm/lib/Analysis/ValueTracking.cpp projects/numa2/contrib/llvm/lib/CodeGen/BranchFolding.cpp projects/numa2/contrib/llvm/lib/CodeGen/MachineFunction.cpp projects/numa2/contrib/llvm/lib/CodeGen/MachineInstr.cpp projects/numa2/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp projects/numa2/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp projects/numa2/contrib/llvm/lib/CodeGen/StackColoring.cpp projects/numa2/contrib/llvm/lib/IR/ConstantFold.cpp projects/numa2/contrib/llvm/lib/Object/COFFImportFile.cpp projects/numa2/contrib/llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp projects/numa2/contrib/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp projects/numa2/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp projects/numa2/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.td projects/numa2/contrib/llvm/lib/Target/AArch64/AArch64MacroFusion.cpp projects/numa2/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/numa2/contrib/llvm/lib/Target/X86/X86InstrSSE.td projects/numa2/contrib/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp projects/numa2/contrib/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp projects/numa2/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp projects/numa2/contrib/llvm/lib/Transforms/Utils/CloneModule.cpp projects/numa2/contrib/llvm/projects/libunwind/include/__libunwind_config.h projects/numa2/contrib/llvm/projects/libunwind/src/UnwindRegistersRestore.S projects/numa2/contrib/llvm/projects/libunwind/src/UnwindRegistersSave.S projects/numa2/contrib/llvm/projects/libunwind/src/config.h projects/numa2/contrib/llvm/projects/libunwind/src/libunwind.cpp projects/numa2/contrib/llvm/tools/clang/include/clang/AST/StmtCXX.h projects/numa2/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def projects/numa2/contrib/llvm/tools/clang/include/clang/Driver/Options.td projects/numa2/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h projects/numa2/contrib/llvm/tools/clang/lib/AST/ODRHash.cpp projects/numa2/contrib/llvm/tools/clang/lib/AST/StmtCXX.cpp projects/numa2/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/numa2/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/Mips.cpp projects/numa2/contrib/llvm/tools/clang/lib/Driver/ToolChains/OpenBSD.cpp projects/numa2/contrib/llvm/tools/clang/lib/Headers/avx2intrin.h projects/numa2/contrib/llvm/tools/clang/lib/Headers/avx512fintrin.h projects/numa2/contrib/llvm/tools/clang/lib/Headers/avxintrin.h projects/numa2/contrib/llvm/tools/clang/lib/Headers/float.h projects/numa2/contrib/llvm/tools/clang/lib/Sema/Sema.cpp projects/numa2/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp projects/numa2/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp projects/numa2/contrib/llvm/tools/clang/lib/Serialization/ASTWriterStmt.cpp projects/numa2/contrib/llvm/tools/lldb/include/lldb/Target/Platform.h projects/numa2/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-i386/ABISysV_i386.cpp projects/numa2/contrib/llvm/tools/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp projects/numa2/contrib/llvm/tools/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.h projects/numa2/contrib/llvm/tools/lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.cpp projects/numa2/contrib/llvm/tools/lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.h projects/numa2/contrib/llvm/tools/lldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.cpp projects/numa2/contrib/llvm/tools/lldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.h projects/numa2/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp projects/numa2/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/POSIXStopInfo.cpp projects/numa2/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/POSIXStopInfo.h projects/numa2/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp projects/numa2/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp projects/numa2/contrib/llvm/tools/lldb/source/Target/Platform.cpp projects/numa2/contrib/mdocml/INSTALL projects/numa2/contrib/mdocml/LICENSE projects/numa2/contrib/mdocml/Makefile projects/numa2/contrib/mdocml/Makefile.depend projects/numa2/contrib/mdocml/NEWS projects/numa2/contrib/mdocml/TODO projects/numa2/contrib/mdocml/apropos.1 projects/numa2/contrib/mdocml/att.c projects/numa2/contrib/mdocml/cgi.c projects/numa2/contrib/mdocml/chars.c projects/numa2/contrib/mdocml/config.h projects/numa2/contrib/mdocml/configure projects/numa2/contrib/mdocml/configure.local.example projects/numa2/contrib/mdocml/demandoc.c projects/numa2/contrib/mdocml/eqn.7 projects/numa2/contrib/mdocml/eqn.c projects/numa2/contrib/mdocml/eqn_html.c projects/numa2/contrib/mdocml/eqn_term.c projects/numa2/contrib/mdocml/gmdiff projects/numa2/contrib/mdocml/html.c projects/numa2/contrib/mdocml/html.h projects/numa2/contrib/mdocml/lib.c projects/numa2/contrib/mdocml/libmandoc.h projects/numa2/contrib/mdocml/libroff.h projects/numa2/contrib/mdocml/main.c projects/numa2/contrib/mdocml/man.7 projects/numa2/contrib/mdocml/man.c projects/numa2/contrib/mdocml/man.options.1 projects/numa2/contrib/mdocml/man_html.c projects/numa2/contrib/mdocml/man_macro.c projects/numa2/contrib/mdocml/man_term.c projects/numa2/contrib/mdocml/man_validate.c projects/numa2/contrib/mdocml/manconf.h projects/numa2/contrib/mdocml/mandoc.1 projects/numa2/contrib/mdocml/mandoc.3 projects/numa2/contrib/mdocml/mandoc.c projects/numa2/contrib/mdocml/mandoc.css projects/numa2/contrib/mdocml/mandoc.h projects/numa2/contrib/mdocml/mandoc_aux.c projects/numa2/contrib/mdocml/mandoc_aux.h projects/numa2/contrib/mdocml/mandoc_char.7 projects/numa2/contrib/mdocml/mandoc_escape.3 projects/numa2/contrib/mdocml/mandoc_headers.3 projects/numa2/contrib/mdocml/mandoc_html.3 projects/numa2/contrib/mdocml/mandocd.c projects/numa2/contrib/mdocml/mandocdb.c projects/numa2/contrib/mdocml/manpath.c projects/numa2/contrib/mdocml/mansearch.c projects/numa2/contrib/mdocml/mdoc.7 projects/numa2/contrib/mdocml/mdoc.c projects/numa2/contrib/mdocml/mdoc_html.c projects/numa2/contrib/mdocml/mdoc_man.c projects/numa2/contrib/mdocml/mdoc_markdown.c projects/numa2/contrib/mdocml/mdoc_term.c projects/numa2/contrib/mdocml/mdoc_validate.c projects/numa2/contrib/mdocml/msec.in projects/numa2/contrib/mdocml/out.c projects/numa2/contrib/mdocml/out.h projects/numa2/contrib/mdocml/read.c projects/numa2/contrib/mdocml/roff.7 projects/numa2/contrib/mdocml/roff.c projects/numa2/contrib/mdocml/roff.h projects/numa2/contrib/mdocml/roff_html.c projects/numa2/contrib/mdocml/roff_int.h projects/numa2/contrib/mdocml/roff_term.c projects/numa2/contrib/mdocml/roff_validate.c projects/numa2/contrib/mdocml/soelim.1 projects/numa2/contrib/mdocml/st.c projects/numa2/contrib/mdocml/st.in projects/numa2/contrib/mdocml/tbl.7 projects/numa2/contrib/mdocml/tbl.c projects/numa2/contrib/mdocml/tbl_data.c projects/numa2/contrib/mdocml/tbl_html.c projects/numa2/contrib/mdocml/tbl_layout.c projects/numa2/contrib/mdocml/tbl_term.c projects/numa2/contrib/mdocml/term.c projects/numa2/contrib/mdocml/term.h projects/numa2/contrib/mdocml/term_ascii.c projects/numa2/contrib/mdocml/term_tab.c projects/numa2/contrib/mdocml/tree.c projects/numa2/contrib/netbsd-tests/lib/libc/gen/t_dir.c projects/numa2/contrib/netbsd-tests/lib/libc/regex/data/repet_bounded.in projects/numa2/contrib/netbsd-tests/lib/libc/regex/data/repet_multi.in projects/numa2/contrib/netbsd-tests/lib/libc/sys/t_mlock.c projects/numa2/contrib/ofed/usr.bin/Makefile projects/numa2/contrib/sqlite3/Makefile.msc projects/numa2/contrib/sqlite3/configure projects/numa2/contrib/sqlite3/configure.ac projects/numa2/contrib/sqlite3/shell.c projects/numa2/contrib/sqlite3/sqlite3.c projects/numa2/contrib/sqlite3/sqlite3.h projects/numa2/contrib/sqlite3/sqlite3ext.h projects/numa2/contrib/sqlite3/tea/configure projects/numa2/contrib/sqlite3/tea/configure.ac projects/numa2/contrib/sqlite3/tea/generic/tclsqlite3.c projects/numa2/contrib/subversion/CHANGES projects/numa2/contrib/subversion/NOTICE projects/numa2/contrib/subversion/build-outputs.mk projects/numa2/contrib/subversion/configure projects/numa2/contrib/subversion/subversion/include/svn_version.h projects/numa2/contrib/subversion/subversion/libsvn_client/copy.c projects/numa2/contrib/subversion/subversion/libsvn_client/merge.c projects/numa2/contrib/subversion/subversion/libsvn_fs_fs/cached_data.c projects/numa2/contrib/subversion/subversion/libsvn_fs_fs/cached_data.h projects/numa2/contrib/subversion/subversion/libsvn_fs_fs/rep-cache-db.h projects/numa2/contrib/subversion/subversion/libsvn_fs_fs/rep-cache.c projects/numa2/contrib/subversion/subversion/libsvn_fs_fs/transaction.c projects/numa2/contrib/subversion/subversion/libsvn_fs_x/rep-cache-db.h projects/numa2/contrib/subversion/subversion/libsvn_ra_svn/client.c projects/numa2/contrib/subversion/subversion/libsvn_repos/dump.c projects/numa2/contrib/subversion/subversion/libsvn_subr/config_file.c projects/numa2/contrib/subversion/subversion/libsvn_subr/internal_statements.h projects/numa2/contrib/subversion/subversion/libsvn_subr/io.c projects/numa2/contrib/subversion/subversion/libsvn_subr/version.c projects/numa2/contrib/subversion/subversion/libsvn_wc/wc-checks.h projects/numa2/contrib/subversion/subversion/libsvn_wc/wc-metadata.h projects/numa2/contrib/subversion/subversion/libsvn_wc/wc-queries.h projects/numa2/contrib/subversion/subversion/svnadmin/svnadmin.c projects/numa2/contrib/subversion/win-tests.py projects/numa2/contrib/top/machine.h projects/numa2/contrib/top/top.c projects/numa2/contrib/top/top.xs projects/numa2/contrib/zstd/lib/common/xxhash.c projects/numa2/crypto/openssh/ChangeLog projects/numa2/crypto/openssh/INSTALL projects/numa2/crypto/openssh/Makefile.in projects/numa2/crypto/openssh/README projects/numa2/crypto/openssh/auth-pam.c projects/numa2/crypto/openssh/auth2-pubkey.c projects/numa2/crypto/openssh/auth2.c projects/numa2/crypto/openssh/channels.c projects/numa2/crypto/openssh/channels.h projects/numa2/crypto/openssh/clientloop.c projects/numa2/crypto/openssh/compat.c projects/numa2/crypto/openssh/config.h projects/numa2/crypto/openssh/configure.ac projects/numa2/crypto/openssh/contrib/cygwin/ssh-host-config projects/numa2/crypto/openssh/contrib/redhat/openssh.spec projects/numa2/crypto/openssh/contrib/suse/openssh.spec projects/numa2/crypto/openssh/digest-openssl.c projects/numa2/crypto/openssh/freebsd-configure.sh projects/numa2/crypto/openssh/hostfile.c projects/numa2/crypto/openssh/kex.c projects/numa2/crypto/openssh/krl.c projects/numa2/crypto/openssh/log.c projects/numa2/crypto/openssh/match.c projects/numa2/crypto/openssh/match.h projects/numa2/crypto/openssh/misc.c projects/numa2/crypto/openssh/monitor.c projects/numa2/crypto/openssh/mux.c projects/numa2/crypto/openssh/openbsd-compat/bsd-misc.c projects/numa2/crypto/openssh/openbsd-compat/bsd-misc.h projects/numa2/crypto/openssh/openbsd-compat/fmt_scaled.c projects/numa2/crypto/openssh/packet.c projects/numa2/crypto/openssh/packet.h projects/numa2/crypto/openssh/pathnames.h projects/numa2/crypto/openssh/readconf.c projects/numa2/crypto/openssh/regress/Makefile projects/numa2/crypto/openssh/regress/agent-getpeereid.sh projects/numa2/crypto/openssh/regress/allow-deny-users.sh projects/numa2/crypto/openssh/regress/cert-file.sh projects/numa2/crypto/openssh/regress/forwarding.sh projects/numa2/crypto/openssh/regress/integrity.sh projects/numa2/crypto/openssh/regress/test-exec.sh projects/numa2/crypto/openssh/regress/unittests/Makefile projects/numa2/crypto/openssh/regress/unittests/match/tests.c projects/numa2/crypto/openssh/regress/unittests/test_helper/test_helper.c projects/numa2/crypto/openssh/regress/unittests/test_helper/test_helper.h projects/numa2/crypto/openssh/regress/unittests/utf8/tests.c projects/numa2/crypto/openssh/sandbox-seccomp-filter.c projects/numa2/crypto/openssh/servconf.c projects/numa2/crypto/openssh/serverloop.c projects/numa2/crypto/openssh/session.c projects/numa2/crypto/openssh/sftp-client.c projects/numa2/crypto/openssh/sftp.c projects/numa2/crypto/openssh/ssh-agent.c projects/numa2/crypto/openssh/ssh-keygen.c projects/numa2/crypto/openssh/ssh-keyscan.c projects/numa2/crypto/openssh/ssh.c projects/numa2/crypto/openssh/ssh_config projects/numa2/crypto/openssh/ssh_config.5 projects/numa2/crypto/openssh/ssh_namespace.h projects/numa2/crypto/openssh/sshconnect.c projects/numa2/crypto/openssh/sshconnect1.c projects/numa2/crypto/openssh/sshconnect2.c projects/numa2/crypto/openssh/sshd.8 projects/numa2/crypto/openssh/sshd.c projects/numa2/crypto/openssh/sshd_config projects/numa2/crypto/openssh/sshd_config.5 projects/numa2/crypto/openssh/sshkey.c projects/numa2/crypto/openssh/sshkey.h projects/numa2/crypto/openssh/utf8.c projects/numa2/crypto/openssh/version.h projects/numa2/gnu/Makefile projects/numa2/kerberos5/lib/libkafs5/Makefile projects/numa2/kerberos5/libexec/ipropd-master/Makefile projects/numa2/lib/atf/Makefile projects/numa2/lib/atf/libatf-c++/Makefile projects/numa2/lib/atf/libatf-c/Makefile projects/numa2/lib/clang/include/clang/Basic/Version.inc projects/numa2/lib/clang/include/lld/Config/Version.inc projects/numa2/lib/clang/include/llvm/Support/VCSRevision.h projects/numa2/lib/csu/riscv/crt1.c projects/numa2/lib/csu/riscv/crti.S projects/numa2/lib/libarchive/Makefile projects/numa2/lib/libc/Makefile projects/numa2/lib/libc/gen/fnmatch.c projects/numa2/lib/libc/gen/tls.c projects/numa2/lib/libc/regex/engine.c projects/numa2/lib/libc/regex/regcomp.c projects/numa2/lib/libc/riscv/gen/fabs.S projects/numa2/lib/libc/stdlib/jemalloc/Makefile.inc projects/numa2/lib/libc/tests/gen/fnmatch_testcases.h projects/numa2/lib/libcapsicum/capsicum_helpers.h projects/numa2/lib/libcasper/services/cap_dns/Makefile projects/numa2/lib/libcasper/services/cap_grp/Makefile projects/numa2/lib/libcasper/services/cap_pwd/Makefile projects/numa2/lib/libcasper/services/cap_sysctl/Makefile projects/numa2/lib/libcrypt/Makefile projects/numa2/lib/libmp/Makefile projects/numa2/lib/libnv/Makefile projects/numa2/lib/libpathconv/Makefile projects/numa2/lib/libproc/Makefile projects/numa2/lib/libproc/proc_bkpt.c projects/numa2/lib/libproc/proc_regs.c projects/numa2/lib/librt/Makefile projects/numa2/lib/libstand/Makefile projects/numa2/lib/libthr/Makefile projects/numa2/lib/libusb/libusb.h projects/numa2/lib/libusb/libusb10_desc.c projects/numa2/lib/libutil/Makefile projects/numa2/lib/libutil/flopen.3 projects/numa2/lib/libutil/flopen.c projects/numa2/lib/libutil/libutil.h projects/numa2/lib/libutil/pidfile.c projects/numa2/lib/libxo/Makefile projects/numa2/lib/libxo/add.man projects/numa2/lib/libxo/tests/Makefile projects/numa2/lib/libxo/xo_config.h projects/numa2/lib/msun/Makefile projects/numa2/libexec/atf/atf-check/Makefile projects/numa2/libexec/atf/atf-sh/Makefile projects/numa2/libexec/rtld-elf/Makefile projects/numa2/libexec/rtld-elf/riscv/reloc.c projects/numa2/libexec/rtld-elf/rtld.c projects/numa2/release/packages/kernel.ucl projects/numa2/release/packages/runtime.ucl projects/numa2/sbin/devd/Makefile projects/numa2/sbin/dhclient/Makefile projects/numa2/sbin/fsck_ffs/setup.c projects/numa2/sbin/growfs/Makefile projects/numa2/sbin/ifconfig/Makefile projects/numa2/sbin/ifconfig/af_link.c projects/numa2/sbin/ifconfig/ifconfig.c projects/numa2/sbin/mdconfig/Makefile projects/numa2/sbin/newfs/mkfs.c projects/numa2/sbin/pfctl/Makefile projects/numa2/secure/Makefile projects/numa2/secure/lib/Makefile projects/numa2/secure/libexec/Makefile projects/numa2/secure/usr.bin/Makefile projects/numa2/secure/usr.sbin/Makefile projects/numa2/share/Makefile projects/numa2/share/examples/Makefile projects/numa2/share/examples/ppp/ppp.conf.sample projects/numa2/share/man/man3/makedev.3 projects/numa2/share/man/man4/ehci.4 projects/numa2/share/man/man4/enc.4 projects/numa2/share/man/man4/geom.4 projects/numa2/share/man/man4/geom_fox.4 projects/numa2/share/man/man4/ksyms.4 projects/numa2/share/man/man4/linux.4 projects/numa2/share/man/man4/ohci.4 projects/numa2/share/man/man4/ucom.4 projects/numa2/share/man/man4/ugen.4 projects/numa2/share/man/man4/uhci.4 projects/numa2/share/man/man4/uhid.4 projects/numa2/share/man/man4/ukbd.4 projects/numa2/share/man/man4/ums.4 projects/numa2/share/man/man4/uplcom.4 projects/numa2/share/man/man4/usb.4 projects/numa2/share/man/man4/xhci.4 projects/numa2/share/man/man5/fdescfs.5 projects/numa2/share/man/man5/src.conf.5 projects/numa2/share/man/man7/arch.7 projects/numa2/share/man/man9/disk.9 projects/numa2/share/misc/organization.dot projects/numa2/share/misc/pci_vendors projects/numa2/share/mk/bsd.compiler.mk projects/numa2/share/mk/bsd.cpu.mk projects/numa2/share/mk/bsd.opts.mk projects/numa2/share/mk/bsd.own.mk projects/numa2/share/mk/bsd.stand.mk projects/numa2/share/mk/src.opts.mk projects/numa2/share/vt/keymaps/INDEX.keymaps projects/numa2/share/vt/keymaps/Makefile projects/numa2/share/zoneinfo/Makefile projects/numa2/sys/amd64/amd64/efirt.c (contents, props changed) projects/numa2/sys/amd64/amd64/elf_machdep.c projects/numa2/sys/amd64/amd64/initcpu.c projects/numa2/sys/amd64/amd64/machdep.c projects/numa2/sys/amd64/amd64/pmap.c projects/numa2/sys/amd64/amd64/trap.c projects/numa2/sys/amd64/cloudabi64/cloudabi64_sysvec.c projects/numa2/sys/amd64/include/cpufunc.h projects/numa2/sys/amd64/include/efi.h projects/numa2/sys/amd64/include/md_var.h projects/numa2/sys/amd64/linux/linux_sysvec.c projects/numa2/sys/arm/allwinner/aw_ccu.c projects/numa2/sys/arm/allwinner/axp209.c projects/numa2/sys/arm/allwinner/clk/aw_modclk.c projects/numa2/sys/arm/allwinner/clkng/aw_ccung.c projects/numa2/sys/arm/arm/generic_timer.c projects/numa2/sys/arm/at91/at91_pmc.c projects/numa2/sys/arm/conf/GENERIC projects/numa2/sys/arm/conf/IMX6 projects/numa2/sys/arm/conf/NOTES projects/numa2/sys/arm/freescale/imx/files.imx6 projects/numa2/sys/arm/freescale/imx/imx6_ccm.c projects/numa2/sys/arm/freescale/imx/imx6_ccmreg.h projects/numa2/sys/arm/freescale/imx/imx_ccmvar.h projects/numa2/sys/arm/freescale/imx/imx_iomux.c projects/numa2/sys/arm/freescale/imx/imx_iomuxreg.h projects/numa2/sys/arm/freescale/imx/imx_iomuxvar.h projects/numa2/sys/arm/freescale/imx/std.imx6 projects/numa2/sys/arm/mv/armada38x/armada38x_pl310.c projects/numa2/sys/arm/mv/mv_machdep.c projects/numa2/sys/arm/ti/am335x/am335x_prcm.c projects/numa2/sys/arm64/arm64/gic_v3.c projects/numa2/sys/arm64/arm64/gic_v3_fdt.c projects/numa2/sys/arm64/arm64/gic_v3_var.h projects/numa2/sys/arm64/arm64/gicv3_its.c projects/numa2/sys/arm64/arm64/mp_machdep.c projects/numa2/sys/arm64/conf/GENERIC projects/numa2/sys/arm64/include/param.h projects/numa2/sys/boot/efi/include/efilib.h projects/numa2/sys/boot/efi/include/efiprot.h projects/numa2/sys/boot/efi/libefi/Makefile projects/numa2/sys/boot/efi/libefi/errno.c projects/numa2/sys/boot/efi/libefi/time.c projects/numa2/sys/boot/efi/loader/Makefile projects/numa2/sys/boot/efi/loader/loader_efi.h projects/numa2/sys/boot/efi/loader/main.c projects/numa2/sys/boot/fdt/dts/arm/armada-385-db-ap.dts projects/numa2/sys/boot/fdt/dts/arm/armada-388-gp.dts projects/numa2/sys/boot/fdt/dts/arm/armada-38x-solidrun-microsom.dtsi projects/numa2/sys/boot/fdt/dts/arm/armada-38x.dtsi projects/numa2/sys/boot/fdt/dts/arm/nanopi-neo.dts projects/numa2/sys/boot/geli/Makefile projects/numa2/sys/boot/i386/boot2/Makefile projects/numa2/sys/boot/zfs/zfsimpl.c projects/numa2/sys/cam/ctl/scsi_ctl.c projects/numa2/sys/cam/nvme/nvme_da.c projects/numa2/sys/cddl/compat/opensolaris/sys/atomic.h projects/numa2/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c projects/numa2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/numa2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c projects/numa2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c projects/numa2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_bookmark.c projects/numa2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c projects/numa2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/abd.h projects/numa2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h projects/numa2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/uberblock_impl.h projects/numa2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c projects/numa2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c projects/numa2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/numa2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c projects/numa2/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c projects/numa2/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h projects/numa2/sys/cddl/contrib/opensolaris/uts/common/sys/isa_defs.h projects/numa2/sys/cddl/dev/profile/profile.c projects/numa2/sys/compat/linuxkpi/common/include/linux/cdev.h projects/numa2/sys/compat/linuxkpi/common/include/linux/completion.h projects/numa2/sys/compat/linuxkpi/common/include/linux/device.h projects/numa2/sys/compat/linuxkpi/common/include/linux/fs.h projects/numa2/sys/compat/linuxkpi/common/include/linux/hrtimer.h projects/numa2/sys/compat/linuxkpi/common/include/linux/jiffies.h projects/numa2/sys/compat/linuxkpi/common/include/linux/kdev_t.h projects/numa2/sys/compat/linuxkpi/common/include/linux/page.h projects/numa2/sys/compat/linuxkpi/common/include/linux/pci.h projects/numa2/sys/compat/linuxkpi/common/include/linux/sched.h projects/numa2/sys/compat/linuxkpi/common/include/linux/sysfs.h projects/numa2/sys/compat/linuxkpi/common/include/linux/timer.h projects/numa2/sys/compat/linuxkpi/common/include/linux/wait.h projects/numa2/sys/compat/linuxkpi/common/src/linux_compat.c projects/numa2/sys/compat/linuxkpi/common/src/linux_hrtimer.c projects/numa2/sys/compat/linuxkpi/common/src/linux_page.c projects/numa2/sys/compat/linuxkpi/common/src/linux_pci.c projects/numa2/sys/compat/linuxkpi/common/src/linux_schedule.c projects/numa2/sys/compat/linuxkpi/common/src/linux_work.c projects/numa2/sys/conf/Makefile.riscv projects/numa2/sys/conf/NOTES projects/numa2/sys/conf/files projects/numa2/sys/conf/files.amd64 projects/numa2/sys/conf/files.arm64 projects/numa2/sys/conf/files.riscv projects/numa2/sys/conf/kern.mk projects/numa2/sys/conf/options.arm64 projects/numa2/sys/contrib/ena-com/ena_plat.h projects/numa2/sys/contrib/ipfilter/netinet/ip_nat.c projects/numa2/sys/dev/ahci/ahci_pci.c projects/numa2/sys/dev/ata/ata-pci.h projects/numa2/sys/dev/ata/chipsets/ata-intel.c projects/numa2/sys/dev/cxgbe/common/common.h projects/numa2/sys/dev/cxgbe/common/t4_hw.h projects/numa2/sys/dev/cxgbe/t4_ioctl.h projects/numa2/sys/dev/cxgbe/t4_main.c projects/numa2/sys/dev/cxgbe/t4_sched.c projects/numa2/sys/dev/cyapa/cyapa.c projects/numa2/sys/dev/e1000/if_em.h projects/numa2/sys/dev/efidev/efidev.c projects/numa2/sys/dev/fdt/fdt_common.c projects/numa2/sys/dev/hwpmc/hwpmc_piv.c projects/numa2/sys/dev/hyperv/netvsc/if_hn.c projects/numa2/sys/dev/hyperv/netvsc/if_hnreg.h projects/numa2/sys/dev/hyperv/netvsc/if_hnvar.h projects/numa2/sys/dev/hyperv/utilities/hv_kvp.c projects/numa2/sys/dev/ichwd/ichwd.c projects/numa2/sys/dev/iicbus/ds1307.c projects/numa2/sys/dev/iicbus/ds3231.c projects/numa2/sys/dev/iicbus/ds3231reg.h projects/numa2/sys/dev/ksyms/ksyms.c projects/numa2/sys/dev/mlx4/mlx4_en/en.h projects/numa2/sys/dev/mlx4/mlx4_en/mlx4_en_netdev.c projects/numa2/sys/dev/mlx4/mlx4_en/mlx4_en_port.c projects/numa2/sys/dev/mlx4/mlx4_en/mlx4_en_tx.c projects/numa2/sys/dev/mlx4/stats.h projects/numa2/sys/dev/mlx5/mlx5_core/mlx5_cmd.c projects/numa2/sys/dev/mlx5/mlx5_core/mlx5_pagealloc.c projects/numa2/sys/dev/mlx5/mlx5_en/mlx5_en_main.c projects/numa2/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c projects/numa2/sys/dev/mly/mly.c projects/numa2/sys/dev/mmc/bridge.h projects/numa2/sys/dev/mmc/mmc.c projects/numa2/sys/dev/mmc/mmc_subr.c projects/numa2/sys/dev/mmc/mmc_subr.h projects/numa2/sys/dev/mmc/mmcbus_if.m projects/numa2/sys/dev/mmc/mmcreg.h projects/numa2/sys/dev/mmc/mmcsd.c projects/numa2/sys/dev/mmc/mmcvar.h projects/numa2/sys/dev/mpr/mpr.c projects/numa2/sys/dev/mpr/mpr_config.c projects/numa2/sys/dev/mpr/mpr_sas.c projects/numa2/sys/dev/mpr/mpr_sas_lsi.c projects/numa2/sys/dev/mpr/mpr_user.c projects/numa2/sys/dev/mpr/mprvar.h projects/numa2/sys/dev/mps/mps.c projects/numa2/sys/dev/mps/mps_config.c projects/numa2/sys/dev/mps/mps_sas.c projects/numa2/sys/dev/mps/mps_sas_lsi.c projects/numa2/sys/dev/mps/mps_user.c projects/numa2/sys/dev/mps/mpsvar.h projects/numa2/sys/dev/nvd/nvd.c projects/numa2/sys/dev/nvme/nvme.h projects/numa2/sys/dev/nvme/nvme_sim.c projects/numa2/sys/dev/nvme/nvme_sysctl.c projects/numa2/sys/dev/ofw/ofw_bus_subr.c projects/numa2/sys/dev/ofw/ofw_fdt.c projects/numa2/sys/dev/pci/pci.c projects/numa2/sys/dev/qlnx/qlnxe/qlnx_def.h projects/numa2/sys/dev/qlnx/qlnxe/qlnx_os.c projects/numa2/sys/dev/qlnx/qlnxe/qlnx_ver.h projects/numa2/sys/dev/sound/pci/hda/hdac.c projects/numa2/sys/dev/sound/pci/hda/hdac.h projects/numa2/sys/dev/sym/sym_hipd.c projects/numa2/sys/dev/usb/controller/xhci_pci.c projects/numa2/sys/dev/xen/timer/timer.c projects/numa2/sys/fs/fdescfs/fdesc.h projects/numa2/sys/fs/fdescfs/fdesc_vfsops.c projects/numa2/sys/fs/fdescfs/fdesc_vnops.c projects/numa2/sys/fs/pseudofs/pseudofs.h projects/numa2/sys/geom/geom.h projects/numa2/sys/geom/geom_bsd.c projects/numa2/sys/geom/geom_dev.c projects/numa2/sys/geom/geom_disk.c projects/numa2/sys/geom/geom_disk.h projects/numa2/sys/geom/geom_dump.c projects/numa2/sys/geom/geom_fox.c projects/numa2/sys/geom/geom_mbr.c projects/numa2/sys/geom/geom_subr.c projects/numa2/sys/geom/geom_sunlabel.c projects/numa2/sys/geom/geom_vol_ffs.c projects/numa2/sys/geom/journal/g_journal.c projects/numa2/sys/geom/journal/g_journal.h projects/numa2/sys/geom/part/g_part.c projects/numa2/sys/i386/i386/machdep.c projects/numa2/sys/i386/i386/pmap.c projects/numa2/sys/i386/i386/trap.c projects/numa2/sys/i386/include/cpufunc.h projects/numa2/sys/i386/include/md_var.h projects/numa2/sys/isa/rtc.h projects/numa2/sys/kern/kern_sendfile.c projects/numa2/sys/kern/posix4_mib.c projects/numa2/sys/kern/subr_blist.c projects/numa2/sys/kern/subr_devmap.c projects/numa2/sys/kern/subr_intr.c projects/numa2/sys/kern/subr_witness.c projects/numa2/sys/kern/vfs_aio.c projects/numa2/sys/kern/vfs_bio.c projects/numa2/sys/kern/vfs_syscalls.c projects/numa2/sys/libkern/x86/crc32_sse42.c projects/numa2/sys/modules/cxgbe/if_cxgbe/Makefile projects/numa2/sys/modules/dtb/allwinner/Makefile projects/numa2/sys/modules/dtrace/dtraceall/dtraceall.c projects/numa2/sys/modules/i2c/Makefile projects/numa2/sys/modules/qlnx/qlnxe/Makefile projects/numa2/sys/net/if_enc.c projects/numa2/sys/net/iflib.c projects/numa2/sys/net80211/ieee80211_ioctl.c projects/numa2/sys/net80211/ieee80211_mesh.c projects/numa2/sys/netinet/if_ether.c projects/numa2/sys/netinet/in.h projects/numa2/sys/netipsec/key.c projects/numa2/sys/netpfil/pf/pf_lb.c projects/numa2/sys/ofed/drivers/infiniband/core/addr.c projects/numa2/sys/ofed/drivers/infiniband/core/cm.c projects/numa2/sys/riscv/conf/GENERIC projects/numa2/sys/riscv/include/machdep.h projects/numa2/sys/riscv/include/riscvreg.h projects/numa2/sys/riscv/include/sbi.h projects/numa2/sys/riscv/riscv/cpufunc_asm.S projects/numa2/sys/riscv/riscv/exception.S projects/numa2/sys/riscv/riscv/intr_machdep.c projects/numa2/sys/riscv/riscv/locore.S projects/numa2/sys/riscv/riscv/machdep.c projects/numa2/sys/riscv/riscv/nexus.c projects/numa2/sys/riscv/riscv/pmap.c projects/numa2/sys/riscv/riscv/riscv_console.c projects/numa2/sys/riscv/riscv/swtch.S projects/numa2/sys/riscv/riscv/timer.c projects/numa2/sys/riscv/riscv/trap.c projects/numa2/sys/riscv/riscv/vm_machdep.c projects/numa2/sys/sparc64/sparc64/pmap.c projects/numa2/sys/sys/_termios.h projects/numa2/sys/sys/blist.h projects/numa2/sys/sys/cdefs.h projects/numa2/sys/sys/kerneldump.h projects/numa2/sys/sys/types.h projects/numa2/sys/sys/vnode.h projects/numa2/sys/ufs/ffs/ffs_snapshot.c projects/numa2/sys/ufs/ffs/fs.h projects/numa2/sys/vm/vm_glue.c projects/numa2/sys/vm/vm_kern.c projects/numa2/sys/vm/vm_page.c projects/numa2/sys/vm/vm_page.h projects/numa2/sys/x86/acpica/madt.c projects/numa2/sys/x86/acpica/srat.c projects/numa2/sys/x86/include/apicvar.h projects/numa2/sys/x86/include/x86_smp.h projects/numa2/sys/x86/include/x86_var.h projects/numa2/sys/x86/isa/atrtc.c projects/numa2/sys/x86/x86/identcpu.c projects/numa2/sys/x86/x86/local_apic.c projects/numa2/sys/x86/x86/mp_x86.c projects/numa2/sys/x86/x86/mptable.c projects/numa2/sys/x86/xen/pvcpu_enum.c projects/numa2/tests/sys/aio/lio_test.c projects/numa2/tests/sys/file/newfileops_on_fork_test.c projects/numa2/tests/sys/fs/tmpfs/Makefile projects/numa2/tests/sys/kern/ptrace_test.c projects/numa2/tests/sys/netinet/fibs_test.sh (contents, props changed) projects/numa2/tools/build/mk/OptionalObsoleteFiles.inc projects/numa2/tools/tools/bootparttest/Makefile projects/numa2/tools/tools/bootparttest/bootparttest.c projects/numa2/tools/tools/bootparttest/stub.c projects/numa2/tools/tools/zfsboottest/Makefile projects/numa2/tools/tools/zfsboottest/zfsboottest.c projects/numa2/usr.bin/Makefile projects/numa2/usr.bin/apply/Makefile projects/numa2/usr.bin/basename/Makefile projects/numa2/usr.bin/bsdcat/Makefile projects/numa2/usr.bin/calendar/Makefile projects/numa2/usr.bin/calendar/calendars/calendar.freebsd projects/numa2/usr.bin/cmp/Makefile projects/numa2/usr.bin/col/Makefile projects/numa2/usr.bin/comm/Makefile projects/numa2/usr.bin/compress/Makefile projects/numa2/usr.bin/cpio/Makefile projects/numa2/usr.bin/csplit/Makefile projects/numa2/usr.bin/cut/Makefile projects/numa2/usr.bin/cut/cut.1 projects/numa2/usr.bin/diff/Makefile projects/numa2/usr.bin/diff3/Makefile projects/numa2/usr.bin/dirname/Makefile projects/numa2/usr.bin/du/du.1 projects/numa2/usr.bin/du/du.c projects/numa2/usr.bin/du/tests/du_test.sh projects/numa2/usr.bin/file2c/Makefile projects/numa2/usr.bin/getconf/Makefile projects/numa2/usr.bin/grep/Makefile projects/numa2/usr.bin/gzip/Makefile projects/numa2/usr.bin/hexdump/Makefile projects/numa2/usr.bin/ident/Makefile projects/numa2/usr.bin/indent/Makefile projects/numa2/usr.bin/indent/indent.1 projects/numa2/usr.bin/indent/indent.c projects/numa2/usr.bin/join/Makefile projects/numa2/usr.bin/jot/Makefile projects/numa2/usr.bin/lastcomm/Makefile projects/numa2/usr.bin/ldd/ldd.c projects/numa2/usr.bin/limits/Makefile projects/numa2/usr.bin/m4/Makefile projects/numa2/usr.bin/mandoc/Makefile projects/numa2/usr.bin/mkimg/Makefile projects/numa2/usr.bin/mt/mt.1 projects/numa2/usr.bin/ncal/Makefile projects/numa2/usr.bin/pr/Makefile projects/numa2/usr.bin/printf/Makefile projects/numa2/usr.bin/procstat/Makefile projects/numa2/usr.bin/procstat/procstat_ptlwpinfo.c projects/numa2/usr.bin/ruptime/ruptime.1 projects/numa2/usr.bin/rwho/rwho.1 projects/numa2/usr.bin/sdiff/Makefile projects/numa2/usr.bin/sed/Makefile projects/numa2/usr.bin/soelim/Makefile projects/numa2/usr.bin/tail/Makefile projects/numa2/usr.bin/tar/Makefile projects/numa2/usr.bin/timeout/Makefile projects/numa2/usr.bin/top/machine.c projects/numa2/usr.bin/tr/Makefile projects/numa2/usr.bin/truncate/Makefile projects/numa2/usr.bin/uniq/Makefile projects/numa2/usr.bin/units/Makefile projects/numa2/usr.bin/uudecode/Makefile projects/numa2/usr.bin/uuencode/Makefile projects/numa2/usr.bin/vmstat/vmstat.c projects/numa2/usr.bin/xargs/Makefile projects/numa2/usr.bin/xinstall/Makefile projects/numa2/usr.bin/xlint/lint1/param.h projects/numa2/usr.bin/xo/Makefile projects/numa2/usr.bin/xohtml/xohtml.sh projects/numa2/usr.bin/yacc/Makefile projects/numa2/usr.sbin/Makefile projects/numa2/usr.sbin/acpi/acpidump/acpi.c projects/numa2/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.8 projects/numa2/usr.sbin/bsdinstall/scripts/netconfig_ipv4 projects/numa2/usr.sbin/chown/Makefile projects/numa2/usr.sbin/cxgbetool/cxgbetool.c projects/numa2/usr.sbin/etcupdate/Makefile projects/numa2/usr.sbin/extattr/Makefile projects/numa2/usr.sbin/fstyp/Makefile projects/numa2/usr.sbin/makefs/Makefile projects/numa2/usr.sbin/makefs/tests/makefs_cd9660_tests.sh projects/numa2/usr.sbin/newsyslog/Makefile projects/numa2/usr.sbin/nmtree/Makefile projects/numa2/usr.sbin/pmcstat/pmcpl_gprof.c projects/numa2/usr.sbin/pw/Makefile projects/numa2/usr.sbin/rpcbind/Makefile projects/numa2/usr.sbin/rwhod/rwhod.8 projects/numa2/usr.sbin/sa/Makefile projects/numa2/usr.sbin/tzsetup/tzsetup.c projects/numa2/usr.sbin/ypldap/entries.c Directory Properties: projects/numa2/ (props changed) projects/numa2/cddl/ (props changed) projects/numa2/cddl/contrib/opensolaris/ (props changed) projects/numa2/cddl/contrib/opensolaris/lib/libzfs/ (props changed) projects/numa2/contrib/compiler-rt/ (props changed) projects/numa2/contrib/elftoolchain/ (props changed) projects/numa2/contrib/ipfilter/ (props changed) projects/numa2/contrib/libc++/ (props changed) projects/numa2/contrib/libxo/ (props changed) projects/numa2/contrib/llvm/ (props changed) projects/numa2/contrib/llvm/projects/libunwind/ (props changed) projects/numa2/contrib/llvm/tools/clang/ (props changed) projects/numa2/contrib/llvm/tools/lld/ (props changed) projects/numa2/contrib/llvm/tools/lldb/ (props changed) projects/numa2/contrib/mdocml/ (props changed) projects/numa2/contrib/netbsd-tests/ (props changed) projects/numa2/contrib/sqlite3/ (props changed) projects/numa2/contrib/subversion/ (props changed) projects/numa2/contrib/top/ (props changed) projects/numa2/contrib/zstd/ (props changed) projects/numa2/crypto/openssh/ (props changed) projects/numa2/sys/cddl/contrib/opensolaris/ (props changed) projects/numa2/sys/contrib/ena-com/ (props changed) projects/numa2/sys/contrib/ipfilter/ (props changed) projects/numa2/tests/etc/rc.d/routing_test.sh (props changed) projects/numa2/tests/sys/acl/aclfuzzer.sh (props changed) projects/numa2/tests/sys/acl/mktrivial.sh (props changed) projects/numa2/tests/sys/file/flock_test.sh (props changed) projects/numa2/tests/sys/geom/class/eli/conf.sh (props changed) projects/numa2/tests/sys/geom/class/eli/init_alias_test.sh (props changed) projects/numa2/tests/sys/geom/class/gate/ggate_test.sh (props changed) projects/numa2/tests/sys/geom/class/mirror/8_test.sh (props changed) projects/numa2/tests/sys/geom/class/mirror/9_test.sh (props changed) projects/numa2/tests/sys/geom/class/nop/nop_test.sh (props changed) projects/numa2/tests/sys/geom/class/uzip/conf.sh (props changed) projects/numa2/tests/sys/kern/coredump_phnum_test.sh (props changed) projects/numa2/tests/sys/kqueue/libkqueue/kqueue_test.sh (props changed) projects/numa2/tests/sys/mac/portacl/misc.sh (props changed) projects/numa2/tests/sys/mac/portacl/nobody_test.sh (props changed) projects/numa2/tests/sys/mac/portacl/root_test.sh (props changed) projects/numa2/tests/sys/mqueue/mqueue_test.sh (props changed) projects/numa2/tests/sys/opencrypto/runtests.sh (props changed) projects/numa2/tests/sys/vfs/trailing_slash.sh (props changed) Modified: projects/numa2/Makefile.inc1 ============================================================================== --- projects/numa2/Makefile.inc1 Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/Makefile.inc1 Fri Aug 11 22:39:38 2017 (r322417) @@ -346,6 +346,12 @@ SVN= ${_P}/${_S} . endfor .endif SVNFLAGS?= -r HEAD +.if !defined(VCS_REVISION) && empty(VCS_REVISION) +_VCS_REVISION?= $$(eval ${SVNVERSION_CMD} ${SRCDIR}) +. if !empty(_VCS_REVISION) +VCS_REVISION= $$(echo r${_VCS_REVISION}) +. endif +.endif .if !defined(OSRELDATE) .if exists(/usr/include/osreldate.h) @@ -444,7 +450,7 @@ BUILD_ARCH!= uname -p .endif .endif WORLDTMP= ${OBJTREE}${.CURDIR}/tmp -BPATH= ${WORLDTMP}/legacy/usr/sbin:${WORLDTMP}/legacy/usr/bin:${WORLDTMP}/legacy/bin +BPATH= ${CCACHE_WRAPPER_PATH_PFX}${WORLDTMP}/legacy/usr/sbin:${WORLDTMP}/legacy/usr/bin:${WORLDTMP}/legacy/bin XPATH= ${WORLDTMP}/usr/sbin:${WORLDTMP}/usr/bin STRICTTMPPATH= ${BPATH}:${XPATH} TMPPATH= ${STRICTTMPPATH}:${PATH} @@ -760,10 +766,12 @@ _worldtmp: .PHONY rm -rf ${LIBCOMPATTMP} .endif .else +.if exists(${WORLDTMP}) @echo ">>> Deleting stale files in build tree..." ${_+_}cd ${.CURDIR}; ${WMAKE} -DBATCH_DELETE_OLD_FILES \ delete-old delete-old-libs >/dev/null -.if defined(LIBCOMPAT) +.endif +.if defined(LIBCOMPAT) && exists(${LIBCOMPATTMP}) ${_+_}cd ${.CURDIR}; ${WMAKE} -DBATCH_DELETE_OLD_FILES \ DESTDIR=${LIBCOMPATTMP} \ delete-old delete-old-libs >/dev/null @@ -1491,20 +1499,24 @@ packagekernel: .PHONY @${DESTDIR}/${DISTDIR}/kernel.meta | \ ${XZ_CMD} > ${PACKAGEDIR}/kernel.txz .endif +.if ${MK_DEBUG_FILES} != "no" cd ${DESTDIR}/${DISTDIR}/kernel; \ tar cvf - --include '*/*/*.debug' \ @${DESTDIR}/${DISTDIR}/kernel.meta | \ ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel-dbg.txz +.endif .if ${BUILDKERNELS:[#]} > 1 && ${NO_INSTALLEXTRAKERNELS} != "yes" .for _kernel in ${BUILDKERNELS:[2..-1]} cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \ tar cvf - --exclude '*.debug' \ @${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta | \ ${XZ_CMD} > ${PACKAGEDIR}/kernel.${_kernel}.txz +.if ${MK_DEBUG_FILES} != "no" cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \ tar cvf - --include '*/*/*.debug' \ @${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta | \ ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}-dbg.txz +.endif .endfor .endif .else @@ -1513,17 +1525,21 @@ packagekernel: .PHONY tar cvf - --exclude '*.debug' . | \ ${XZ_CMD} > ${PACKAGEDIR}/kernel.txz .endif +.if ${MK_DEBUG_FILES} != "no" cd ${DESTDIR}/${DISTDIR}/kernel; \ tar cvf - --include '*/*/*.debug' $$(eval find .) | \ ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel-dbg.txz +.endif .if ${BUILDKERNELS:[#]} > 1 && ${NO_INSTALLEXTRAKERNELS} != "yes" .for _kernel in ${BUILDKERNELS:[2..-1]} cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \ tar cvf - --exclude '*.debug' . | \ ${XZ_CMD} > ${PACKAGEDIR}/kernel.${_kernel}.txz +.if ${MK_DEBUG_FILES} != "no" cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \ tar cvf - --include '*/*/*.debug' $$(eval find .) | \ ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}-dbg.txz +.endif .endfor .endif .endif @@ -1616,7 +1632,11 @@ create-world-package-${pkgname}: .PHONY @awk -F\" ' \ /^name/ { printf("===> Creating %s-", $$2); next } \ /^version/ { print $$2; next } \ - ' ${WSTAGEDIR}/${pkgname}.ucl ; \ + ' ${WSTAGEDIR}/${pkgname}.ucl + @if [ "${pkgname}" == "runtime" ]; then \ + sed -i '' -e "s/%KERNCONF%/${INSTALLKERNEL:tl}/" ${WSTAGEDIR}/${pkgname}.ucl ; \ + sed -i '' -e "s/%VCS_REVISION%/${VCS_REVISION}/" ${WSTAGEDIR}/${pkgname}.ucl ; \ + fi ${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh -o ALLOW_BASE_SHLIBS=yes \ create -M ${WSTAGEDIR}/${pkgname}.ucl \ -p ${WSTAGEDIR}/${pkgname}.plist \ @@ -1627,7 +1647,10 @@ create-world-package-${pkgname}: .PHONY create-kernel-packages: .PHONY _default_flavor= -default .if exists(${KSTAGEDIR}/kernel.meta) -.for flavor in "" -debug +. if ${MK_DEBUG_FILES} != "no" +_debug=-debug +. endif +. for flavor in "" ${_debug} create-kernel-packages: create-kernel-packages-flavor${flavor:C,^""$,${_default_flavor},} create-kernel-packages-flavor${flavor:C,^""$,${_default_flavor},}: _pkgbootstrap .PHONY @cd ${KSTAGEDIR}/${DISTDIR} ; \ @@ -1642,6 +1665,7 @@ create-kernel-packages-flavor${flavor:C,^""$,${_defaul -e "s/%DESC%/FreeBSD ${INSTALLKERNEL} kernel ${flavor}/" \ -e "s/%CAP_MKDB_ENDIAN%/$${cap_arg}/g" \ -e "s/%PWD_MKDB_ENDIAN%/$${pwd_arg}/g" \ + -e "s/ %VCS_REVISION%/${VCS_REVISION}/" \ ${SRCDIR}/release/packages/kernel.ucl \ > ${KSTAGEDIR}/${DISTDIR}/kernel.${INSTALLKERNEL}${flavor}.ucl ; \ awk -F\" ' \ @@ -1653,12 +1677,15 @@ create-kernel-packages-flavor${flavor:C,^""$,${_defaul -p ${KSTAGEDIR}/${DISTDIR}/kernel.${INSTALLKERNEL}${flavor}.plist \ -r ${KSTAGEDIR}/${DISTDIR} \ -o ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION} -.endfor +. endfor .endif .if ${BUILDKERNELS:[#]} > 1 && ${NO_INSTALLEXTRAKERNELS} != "yes" -.for _kernel in ${BUILDKERNELS:[2..-1]} -.if exists(${KSTAGEDIR}/kernel.${_kernel}.meta) -.for flavor in "" -debug +. for _kernel in ${BUILDKERNELS:[2..-1]} +. if exists(${KSTAGEDIR}/kernel.${_kernel}.meta) +. if ${MK_DEBUG_FILES} != "no" +_debug=-debug +. endif +. for flavor in "" ${_debug} create-kernel-packages: create-kernel-packages-extra-flavor${flavor:C,^""$,${_default_flavor},}-${_kernel} create-kernel-packages-extra-flavor${flavor:C,^""$,${_default_flavor},}-${_kernel}: _pkgbootstrap .PHONY @cd ${KSTAGEDIR}/kernel.${_kernel} ; \ @@ -1673,6 +1700,7 @@ create-kernel-packages-extra-flavor${flavor:C,^""$,${_ -e "s/%DESC%/FreeBSD ${_kernel} kernel ${flavor}/" \ -e "s/%CAP_MKDB_ENDIAN%/$${cap_arg}/g" \ -e "s/%PWD_MKDB_ENDIAN%/$${pwd_arg}/g" \ + -e "s/ %VCS_REVISION%/${VCS_REVISION}/" \ ${SRCDIR}/release/packages/kernel.ucl \ > ${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.ucl ; \ awk -F\" ' \ @@ -1684,10 +1712,10 @@ create-kernel-packages-extra-flavor${flavor:C,^""$,${_ -p ${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.plist \ -r ${KSTAGEDIR}/kernel.${_kernel} \ -o ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION} -.endfor +. endfor +. endif +. endfor .endif -.endfor -.endif sign-packages: _pkgbootstrap .PHONY @[ -L "${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/latest" ] && \ @@ -2740,8 +2768,7 @@ CD2CFLAGS+= -isystem ${XDDESTDIR}/usr/include -L${XDDE # combined with --sysroot. CD2CFLAGS+= -B${XDDESTDIR}/usr/lib # Force using libc++ for external GCC. -# XXX: This should be checking MK_GNUCXX == no -.if ${X_COMPILER_VERSION} >= 40800 +.if ${X_COMPILER_TYPE} == gcc && ${X_COMPILER_VERSION} >= 40800 CD2CXXFLAGS+= -isystem ${XDDESTDIR}/usr/include/c++/v1 -std=c++11 \ -nostdinc++ .endif @@ -2759,9 +2786,6 @@ CD2MAKE=${CD2ENV} PATH=${CDTMP}/usr/bin:${XDDESTDIR}/u CD2MAKE+= BUILD_TOOLS_META=.NOMETA .endif XDDESTDIR=${DESTDIR}/${XDTP} -.if !defined(OSREL) -OSREL!= uname -r | sed -e 's/[-(].*//' -.endif .ORDER: xdev-build xdev-install xdev-links xdev: xdev-build xdev-install .PHONY @@ -2855,7 +2879,7 @@ xdev-links: .PHONY ln -sf ../../${XDTP}/usr/bin/$$i \ ../../../../usr/bin/${XDDIR}-$$i; \ ln -sf ../../${XDTP}/usr/bin/$$i \ - ../../../../usr/bin/${XDDIR}${OSREL}-$$i; \ + ../../../../usr/bin/${XDDIR}${_REVISION}-$$i; \ done .else xdev xdev-build xdev-install xdev-links: .PHONY Modified: projects/numa2/Makefile.libcompat ============================================================================== --- projects/numa2/Makefile.libcompat Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/Makefile.libcompat Fri Aug 11 22:39:38 2017 (r322417) @@ -99,8 +99,7 @@ LIBCOMPATCFLAGS+= -B${LIBCOMPATTMP}/usr/lib${libcompat # sysroot path which --sysroot does not actually do for headers. LIBCOMPATCFLAGS+= -isystem ${LIBCOMPATTMP}/usr/include # Force using libc++ for external GCC. -# XXX: This should be checking MK_GNUCXX == no -.if ${X_COMPILER_VERSION} >= 40800 && \ +.if ${X_COMPILER_TYPE} == gcc && ${X_COMPILER_VERSION} >= 40800 && \ (${MK_CLANG_BOOTSTRAP} == "no" && ${MK_GCC_BOOTSTRAP} == "no") LIBCOMPATCXXFLAGS+= -isystem ${LIBCOMPATTMP}/usr/include/c++/v1 -std=c++11 \ -nostdinc++ Modified: projects/numa2/ObsoleteFiles.inc ============================================================================== --- projects/numa2/ObsoleteFiles.inc Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/ObsoleteFiles.inc Fri Aug 11 22:39:38 2017 (r322417) @@ -38,6 +38,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20170802: ksyms(4) ioctl interface was removed +OLD_FILES+=usr/include/sys/ksyms.h + # 20170722: new clang import which bumps version from 4.0.0 to 5.0.0. OLD_FILES+=usr/lib/clang/4.0.0/include/sanitizer/allocator_interface.h OLD_FILES+=usr/lib/clang/4.0.0/include/sanitizer/asan_interface.h Modified: projects/numa2/UPDATING ============================================================================== --- projects/numa2/UPDATING Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/UPDATING Fri Aug 11 22:39:38 2017 (r322417) @@ -51,6 +51,19 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW: ****************************** SPECIAL WARNING: ****************************** +20170808: + Since the switch to GPT disk labels, fsck for UFS/FFS has been + unable to automatically find alternate superblocks. As of r322297, + the information needed to find alternate superblocks has been + moved to the end of the area reserved for the boot block. + Filesystems created with a newfs of this vintage or later + will create the recovery information. If you have a filesystem + created prior to this change and wish to have a recovery block + created for your filesystem, you can do so by running fsck in + forground mode (i.e., do not use the -p or -y options). As it + starts, fsck will ask ``SAVE DATA TO FIND ALTERNATE SUPERBLOCKS'' + to which you should answer yes. + 20170728: As of r321665, an NFSv4 server configuration that services Kerberos mounts or clients that do not support the uid/gid in @@ -64,8 +77,8 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW: and upgrading, if you are not already using clang 3.5.0 or higher. 20170701: - WITHOUT_RCMDS is now the default. Set WITH_RCMDS if you need them to be - built with the base system. + WITHOUT_RCMDS is now the default. Set WITH_RCMDS if you need the + r-commands (rlogin, rsh, etc.) to be built with the base system. 20170625: The FreeBSD/powerpc platform now uses a 64-bit type for time_t. This is Modified: projects/numa2/bin/cat/Makefile ============================================================================== --- projects/numa2/bin/cat/Makefile Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/bin/cat/Makefile Fri Aug 11 22:39:38 2017 (r322417) @@ -6,8 +6,6 @@ PACKAGE=runtime PROG= cat -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/numa2/bin/cat/cat.c ============================================================================== --- projects/numa2/bin/cat/cat.c Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/bin/cat/cat.c Fri Aug 11 22:39:38 2017 (r322417) @@ -51,12 +51,12 @@ __FBSDID("$FreeBSD$"); #ifndef NO_UDOM_SUPPORT #include #include -#include #include #endif #include #include +#include #include #include #include Modified: projects/numa2/bin/chmod/tests/chmod_test.sh ============================================================================== --- projects/numa2/bin/chmod/tests/chmod_test.sh Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/bin/chmod/tests/chmod_test.sh Fri Aug 11 22:39:38 2017 (r322417) @@ -25,6 +25,13 @@ # # $FreeBSD$ +get_filesystem() +{ + local mountpoint=$1 + + df -T $mountpoint | tail -n 1 | cut -wf 2 +} + atf_test_case RH_flag RH_flag_head() { @@ -94,6 +101,11 @@ f_flag_body() { atf_check truncate -s 0 foo bar atf_check chmod 0750 foo bar + case "$(get_filesystem .)" in + zfs) + atf_expect_fail "ZFS doesn't support UF_IMMUTABLE; returns EPERM - bug 221189" + ;; + esac atf_check chflags uchg foo atf_check -e not-empty -s not-exit:0 chmod 0700 foo bar atf_check -o inline:'100750\n100700\n' stat -f '%p' foo bar @@ -103,7 +115,7 @@ f_flag_body() f_flag_cleanup() { - atf_check chflags 0 foo + chflags 0 foo || : } atf_test_case h_flag @@ -140,6 +152,11 @@ v_flag_body() atf_check truncate -s 0 foo bar atf_check chmod 0600 foo atf_check chmod 0750 bar + case "$(get_filesystem .)" in + zfs) + atf_expect_fail "ZFS updates mode for foo unnecessarily - bug 221188" + ;; + esac atf_check -o 'inline:bar\n' chmod -v 0600 foo bar atf_check chmod -v 0600 foo bar for f in foo bar; do Modified: projects/numa2/bin/date/Makefile ============================================================================== --- projects/numa2/bin/date/Makefile Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/bin/date/Makefile Fri Aug 11 22:39:38 2017 (r322417) @@ -7,8 +7,6 @@ PACKAGE=runtime PROG= date SRCS= date.c netdate.c vary.c -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/numa2/bin/dd/Makefile ============================================================================== --- projects/numa2/bin/dd/Makefile Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/bin/dd/Makefile Fri Aug 11 22:39:38 2017 (r322417) @@ -38,8 +38,6 @@ test: ${PROG} gen @rm -f gen 1M_zeroes* obs_zeroes -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/numa2/bin/df/df.1 ============================================================================== --- projects/numa2/bin/df/df.1 Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/bin/df/df.1 Fri Aug 11 22:39:38 2017 (r322417) @@ -29,7 +29,7 @@ .\" @(#)df.1 8.3 (Berkeley) 5/8/95 .\" $FreeBSD$ .\" -.Dd December 1, 2015 +.Dd August 8, 2017 .Dt DF 1 .Os .Sh NAME @@ -97,7 +97,7 @@ output. Use unit suffixes: Byte, Kibibyte, Mebibyte, Gibibyte, Tebibyte and Pebibyte (based on powers of 1024) in order to reduce the number of digits to four or fewer. -.It Fl H +.It Fl H , Fl Fl si .Dq Human-readable output. Use unit suffixes: Byte, Kilobyte, Megabyte, Modified: projects/numa2/bin/df/df.c ============================================================================== --- projects/numa2/bin/df/df.c Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/bin/df/df.c Fri Aug 11 22:39:38 2017 (r322417) @@ -54,6 +54,7 @@ __FBSDID("$FreeBSD$"); #include #endif #include +#include #include #include #ifdef MOUNT_CHAR_DEVS @@ -107,6 +108,12 @@ static int thousands; static struct ufs_args mdev; #endif +static const struct option long_options[] = +{ + { "si", no_argument, NULL, 'H' }, + { NULL, no_argument, NULL, 0 }, +}; + int main(int argc, char *argv[]) { @@ -142,7 +149,8 @@ main(int argc, char *argv[]) if (argc < 0) exit(1); - while ((ch = getopt(argc, argv, "abcgHhiklmnPt:T,")) != -1) + while ((ch = getopt_long(argc, argv, "+abcgHhiklmnPt:T,", long_options, + NULL)) != -1) switch (ch) { case 'a': aflag = 1; Modified: projects/numa2/bin/echo/Makefile ============================================================================== --- projects/numa2/bin/echo/Makefile Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/bin/echo/Makefile Fri Aug 11 22:39:38 2017 (r322417) @@ -6,8 +6,6 @@ PACKAGE=runtime PROG= echo -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/numa2/bin/expr/Makefile ============================================================================== --- projects/numa2/bin/expr/Makefile Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/bin/expr/Makefile Fri Aug 11 22:39:38 2017 (r322417) @@ -12,8 +12,6 @@ CFLAGS+= -fwrapv NO_WMISSING_VARIABLE_DECLARATIONS= -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/numa2/bin/ln/Makefile ============================================================================== --- projects/numa2/bin/ln/Makefile Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/bin/ln/Makefile Fri Aug 11 22:39:38 2017 (r322417) @@ -10,8 +10,6 @@ MAN= ln.1 symlink.7 LINKS= ${BINDIR}/ln ${BINDIR}/link MLINKS= ln.1 link.1 -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/numa2/bin/ls/Makefile ============================================================================== --- projects/numa2/bin/ls/Makefile Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/bin/ls/Makefile Fri Aug 11 22:39:38 2017 (r322417) @@ -14,8 +14,6 @@ CFLAGS+= -DCOLORLS LIBADD+= termcapw .endif -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/numa2/bin/mv/Makefile ============================================================================== --- projects/numa2/bin/mv/Makefile Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/bin/mv/Makefile Fri Aug 11 22:39:38 2017 (r322417) @@ -6,8 +6,6 @@ PACKAGE=runtime PROG= mv -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/numa2/bin/pax/Makefile ============================================================================== --- projects/numa2/bin/pax/Makefile Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/bin/pax/Makefile Fri Aug 11 22:39:38 2017 (r322417) @@ -33,8 +33,6 @@ SRCS= ar_io.c ar_subs.c buf_subs.c cache.c cpio.c file gen_subs.c getoldopt.c options.c pat_rep.c pax.c sel_subs.c \ tables.c tar.c tty_subs.c -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/numa2/bin/pkill/Makefile ============================================================================== --- projects/numa2/bin/pkill/Makefile Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/bin/pkill/Makefile Fri Aug 11 22:39:38 2017 (r322417) @@ -19,8 +19,6 @@ MLINKS= pkill.1 pgrep.1 SYMLINKS= ../..${BINDIR}/pkill /usr/bin/pkill SYMLINKS+= ../..${BINDIR}/pgrep /usr/bin/pgrep -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/numa2/bin/pkill/pkill.c ============================================================================== --- projects/numa2/bin/pkill/pkill.c Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/bin/pkill/pkill.c Fri Aug 11 22:39:38 2017 (r322417) @@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -656,10 +657,12 @@ killact(const struct kinfo_proc *kp) static int grepact(const struct kinfo_proc *kp) { + static bool first = true; - show_process(kp); - if (!quiet) + if (!quiet && !first) printf("%s", delim); + show_process(kp); + first = false; return (1); } Modified: projects/numa2/bin/sh/Makefile ============================================================================== --- projects/numa2/bin/sh/Makefile Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/bin/sh/Makefile Fri Aug 11 22:39:38 2017 (r322417) @@ -64,8 +64,6 @@ syntax.c syntax.h: mksyntax token.h: mktokens sh ${.CURDIR}/mktokens -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/numa2/bin/sleep/Makefile ============================================================================== --- projects/numa2/bin/sleep/Makefile Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/bin/sleep/Makefile Fri Aug 11 22:39:38 2017 (r322417) @@ -6,8 +6,6 @@ PACKAGE=runtime PROG= sleep -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/numa2/bin/test/Makefile ============================================================================== --- projects/numa2/bin/test/Makefile Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/bin/test/Makefile Fri Aug 11 22:39:38 2017 (r322417) @@ -8,8 +8,6 @@ PROG= test LINKS= ${BINDIR}/test ${BINDIR}/[ MLINKS= test.1 [.1 -.if ${MK_TESTS} != "no" -SUBDIR+= tests -.endif +SUBDIR.${MK_TESTS}+= tests .include Modified: projects/numa2/cddl/Makefile ============================================================================== --- projects/numa2/cddl/Makefile Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/cddl/Makefile Fri Aug 11 22:39:38 2017 (r322417) @@ -5,9 +5,7 @@ SUBDIR= lib .WAIT \ sbin usr.bin usr.sbin -.if ${MK_TESTS} != "no" -SUBDIR+=tests -.endif +SUBDIR.${MK_TESTS}+= tests SUBDIR_PARALLEL= Modified: projects/numa2/cddl/contrib/opensolaris/cmd/lockstat/sym.c ============================================================================== --- projects/numa2/cddl/contrib/opensolaris/cmd/lockstat/sym.c Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/cddl/contrib/opensolaris/cmd/lockstat/sym.c Fri Aug 11 22:39:38 2017 (r322417) @@ -48,7 +48,6 @@ #include #else #include -#include #include #include #include @@ -175,10 +174,6 @@ symtab_init(void) int fd; int i; int strindex = -1; -#ifndef illumos - void *ksyms; - size_t sz; -#endif #ifndef illumos if ((fd = open("/dev/ksyms", O_RDONLY)) == -1) { @@ -194,33 +189,9 @@ symtab_init(void) return (-1); #endif -#ifdef illumos (void) elf_version(EV_CURRENT); elf = elf_begin(fd, ELF_C_READ, NULL); -#else - /* - * XXX - libelf needs to be fixed so it will work with - * non 'ordinary' files like /dev/ksyms. The following - * is a work around for now. - */ - if (elf_version(EV_CURRENT) == EV_NONE) { - close(fd); - return (-1); - } - if (ioctl(fd, KIOCGSIZE, &sz) < 0) { - close(fd); - return (-1); - } - if (ioctl(fd, KIOCGADDR, &ksyms) < 0) { - close(fd); - return (-1); - } - if ((elf = elf_memory(ksyms, sz)) == NULL) { - close(fd); - return (-1); - } -#endif for (cnt = 1; (scn = elf_nextscn(elf, scn)) != NULL; cnt++) { Shdr *shdr = elf_getshdr(scn); Modified: projects/numa2/cddl/contrib/opensolaris/cmd/ztest/ztest.c ============================================================================== --- projects/numa2/cddl/contrib/opensolaris/cmd/ztest/ztest.c Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/cddl/contrib/opensolaris/cmd/ztest/ztest.c Fri Aug 11 22:39:38 2017 (r322417) @@ -1838,7 +1838,6 @@ ztest_get_data(void *arg, lr_write_t *lr, char *buf, z uint64_t object = lr->lr_foid; uint64_t offset = lr->lr_offset; uint64_t size = lr->lr_length; - blkptr_t *bp = &lr->lr_blkptr; uint64_t txg = lr->lr_common.lrc_txg; uint64_t crtxg; dmu_object_info_t doi; @@ -1892,11 +1891,7 @@ ztest_get_data(void *arg, lr_write_t *lr, char *buf, z DMU_READ_NO_PREFETCH); if (error == 0) { - blkptr_t *obp = dmu_buf_get_blkptr(db); - if (obp) { - ASSERT(BP_IS_HOLE(bp)); - *bp = *obp; - } + blkptr_t *bp = &lr->lr_blkptr; zgd->zgd_db = db; zgd->zgd_bp = bp; Modified: projects/numa2/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c ============================================================================== --- projects/numa2/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c Fri Aug 11 22:39:38 2017 (r322417) @@ -250,7 +250,7 @@ printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__L dofr[j].dofr_offset + 4; rel->r_info = ELF32_R_INFO(count + dep->de_global, R_PPC_REL32); -#elif defined(__riscv__) +#elif defined(__riscv) /* XXX */ printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); #else @@ -430,7 +430,7 @@ prepare_elf64(dtrace_hdl_t *dtp, const dof_hdr_t *dof, dofr[j].dofr_offset; rel->r_info = ELF64_R_INFO(count + dep->de_global, R_PPC64_REL64); -#elif defined(__riscv__) +#elif defined(__riscv) /* XXX */ #elif defined(__i386) || defined(__amd64) rel->r_offset = s->dofs_offset + @@ -904,7 +904,7 @@ dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, return (0); } -#elif defined(__riscv__) +#elif defined(__riscv) /* XXX */ static int dt_modtext(dtrace_hdl_t *dtp, char *p, int isenabled, GElf_Rela *rela, Modified: projects/numa2/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c ============================================================================== --- projects/numa2/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/cddl/contrib/opensolaris/lib/libdtrace/common/dt_printf.c Fri Aug 11 22:39:38 2017 (r322417) @@ -311,7 +311,7 @@ pfprint_fp(dtrace_hdl_t *dtp, FILE *fp, const char *fo return (dt_printf(dtp, fp, format, *((double *)addr) / n)); #if !defined(__arm__) && !defined(__powerpc__) && \ - !defined(__mips__) && !defined(__riscv__) + !defined(__mips__) && !defined(__riscv) case sizeof (long double): return (dt_printf(dtp, fp, format, *((long double *)addr) / ldn)); Modified: projects/numa2/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_compat.c ============================================================================== --- projects/numa2/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_compat.c Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_compat.c Fri Aug 11 22:39:38 2017 (r322417) @@ -74,6 +74,9 @@ zcmd_ioctl(int fd, int request, zfs_cmd_t *zc) if (zfs_ioctl_version >= ZFS_IOCVER_DEADMAN) { switch (zfs_ioctl_version) { + case ZFS_IOCVER_INLANES: + cflag = ZFS_CMD_COMPAT_INLANES; + break; case ZFS_IOCVER_RESUME: cflag = ZFS_CMD_COMPAT_RESUME; break; Modified: projects/numa2/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c ============================================================================== --- projects/numa2/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Fri Aug 11 22:39:38 2017 (r322417) @@ -103,7 +103,6 @@ zfs_validate_name(libzfs_handle_t *hdl, const char *pa namecheck_err_t why; char what; - (void) zfs_prop_get_table(); if (entity_namecheck(path, &why, &what) != 0) { if (hdl != NULL) { switch (why) { @@ -3958,14 +3957,19 @@ zfs_rollback(zfs_handle_t *zhp, zfs_handle_t *snap, bo } /* - * We rely on zfs_iter_children() to verify that there are no - * newer snapshots for the given dataset. Therefore, we can - * simply pass the name on to the ioctl() call. There is still - * an unlikely race condition where the user has taken a - * snapshot since we verified that this was the most recent. + * Pass both the filesystem and the wanted snapshot names, + * we would get an error back if the snapshot is destroyed or + * a new snapshot is created before this request is processed. */ - err = lzc_rollback(zhp->zfs_name, NULL, 0); - if (err != 0) { + err = lzc_rollback_to(zhp->zfs_name, snap->zfs_name); + if (err == EXDEV) { + zfs_error_aux(zhp->zfs_hdl, dgettext(TEXT_DOMAIN, + "'%s' is not the latest snapshot"), snap->zfs_name); + (void) zfs_error_fmt(zhp->zfs_hdl, EZFS_BUSY, + dgettext(TEXT_DOMAIN, "cannot rollback '%s'"), + zhp->zfs_name); + return (err); + } else if (err != 0) { (void) zfs_standard_error_fmt(zhp->zfs_hdl, errno, dgettext(TEXT_DOMAIN, "cannot rollback '%s'"), zhp->zfs_name); Modified: projects/numa2/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c ============================================================================== --- projects/numa2/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c Fri Aug 11 22:39:38 2017 (r322417) @@ -765,6 +765,9 @@ lzc_receive_with_header(const char *snapname, nvlist_t * Roll back this filesystem or volume to its most recent snapshot. * If snapnamebuf is not NULL, it will be filled in with the name * of the most recent snapshot. + * Note that the latest snapshot may change if a new one is concurrently + * created or the current one is destroyed. lzc_rollback_to can be used + * to roll back to a specific latest snapshot. * * Return 0 on success or an errno on failure. */ @@ -784,6 +787,27 @@ lzc_rollback(const char *fsname, char *snapnamebuf, in } nvlist_free(result); + return (err); +} + +/* + * Roll back this filesystem or volume to the specified snapshot, + * if possible. + * + * Return 0 on success or an errno on failure. + */ +int +lzc_rollback_to(const char *fsname, const char *snapname) +{ + nvlist_t *args; + nvlist_t *result; + int err; + + args = fnvlist_alloc(); + fnvlist_add_string(args, "target", snapname); + err = lzc_ioctl(ZFS_IOC_ROLLBACK, fsname, args, &result); + nvlist_free(args); + nvlist_free(result); return (err); } Modified: projects/numa2/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.h ============================================================================== --- projects/numa2/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.h Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.h Fri Aug 11 22:39:38 2017 (r322417) @@ -84,6 +84,7 @@ int lzc_receive_with_header(const char *, nvlist_t *, boolean_t lzc_exists(const char *); int lzc_rollback(const char *, char *, int); +int lzc_rollback_to(const char *, const char *); #ifdef __cplusplus } Modified: projects/numa2/cddl/lib/Makefile ============================================================================== --- projects/numa2/cddl/lib/Makefile Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/cddl/lib/Makefile Fri Aug 11 22:39:38 2017 (r322417) @@ -12,11 +12,8 @@ SUBDIR= ${_drti} \ ${_libzfs_core} \ ${_libzfs} \ ${_libzpool} \ - ${_tests} -.if ${MK_TESTS} != "no" -_tests= tests -.endif +SUBDIR.${MK_TESTS}+= tests .if ${MK_ZFS} != "no" _libzfs_core= libzfs_core Modified: projects/numa2/cddl/sbin/Makefile ============================================================================== --- projects/numa2/cddl/sbin/Makefile Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/cddl/sbin/Makefile Fri Aug 11 22:39:38 2017 (r322417) @@ -2,11 +2,9 @@ .include -SUBDIR= ${_tests} ${_zfs} ${_zpool} +SUBDIR= ${_zfs} ${_zpool} -.if ${MK_TESTS} != "no" -_tests= tests -.endif +SUBDIR.${MK_TESTS}+= tests .if ${MK_ZFS} != "no" _zfs= zfs Modified: projects/numa2/cddl/usr.bin/Makefile ============================================================================== --- projects/numa2/cddl/usr.bin/Makefile Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/cddl/usr.bin/Makefile Fri Aug 11 22:39:38 2017 (r322417) @@ -6,15 +6,12 @@ SUBDIR= \ ctfconvert \ ctfdump \ ctfmerge \ - ${_tests} \ ${_zinject} \ ${_zlook} \ ${_zstreamdump} \ ${_ztest} -.if ${MK_TESTS} != "no" -_tests= tests -.endif +SUBDIR.${MK_TESTS}+= tests .if ${MK_ZFS} != "no" _zinject= zinject Modified: projects/numa2/cddl/usr.sbin/Makefile ============================================================================== --- projects/numa2/cddl/usr.sbin/Makefile Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/cddl/usr.sbin/Makefile Fri Aug 11 22:39:38 2017 (r322417) @@ -5,14 +5,11 @@ SUBDIR= ${_dtrace} \ ${_lockstat} \ ${_plockstat} \ - ${_tests} \ ${_zdb} \ ${_zfsd} \ ${_zhack} -.if ${MK_TESTS} != "no" -_tests= tests -.endif +SUBDIR.${MK_TESTS}+= tests .if ${MK_ZFS} != "no" .if ${MK_LIBTHR} != "no" Modified: projects/numa2/contrib/compiler-rt/lib/builtins/int_lib.h ============================================================================== --- projects/numa2/contrib/compiler-rt/lib/builtins/int_lib.h Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/contrib/compiler-rt/lib/builtins/int_lib.h Fri Aug 11 22:39:38 2017 (r322417) @@ -92,7 +92,7 @@ * does not have dedicated bit counting instructions. */ #if defined(__FreeBSD__) && (defined(__sparc64__) || \ - defined(__mips_n64) || defined(__mips_o64) || defined(__riscv__)) + defined(__mips_n64) || defined(__mips_o64) || defined(__riscv)) si_int __clzsi2(si_int); si_int __ctzsi2(si_int); #define __builtin_clz __clzsi2 Modified: projects/numa2/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h ============================================================================== --- projects/numa2/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h Fri Aug 11 22:39:38 2017 (r322417) @@ -83,7 +83,7 @@ namespace __sanitizer { #elif defined(__powerpc64__) const unsigned struct_kernel_stat_sz = 144; const unsigned struct_kernel_stat64_sz = 104; -#elif defined(__riscv__) +#elif defined(__riscv) /* RISCVTODO: check that these values are correct */ const unsigned struct_kernel_stat_sz = 128; const unsigned struct_kernel_stat64_sz = 128; @@ -126,7 +126,7 @@ namespace __sanitizer { #if SANITIZER_LINUX || SANITIZER_FREEBSD -#if defined(__powerpc64__) || defined(__riscv__) || defined(__s390__) +#if defined(__powerpc64__) || defined(__riscv) || defined(__s390__) const unsigned struct___old_kernel_stat_sz = 0; #elif !defined(__sparc__) const unsigned struct___old_kernel_stat_sz = 32; @@ -554,7 +554,7 @@ namespace __sanitizer { typedef long __sanitizer___kernel_off_t; #endif -#if defined(__powerpc__) || defined(__mips__) || defined(__riscv__) +#if defined(__powerpc__) || defined(__mips__) || defined(__riscv) typedef unsigned int __sanitizer___kernel_old_uid_t; typedef unsigned int __sanitizer___kernel_old_gid_t; #else Modified: projects/numa2/contrib/elftoolchain/libelf/_libelf_config.h ============================================================================== --- projects/numa2/contrib/elftoolchain/libelf/_libelf_config.h Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/contrib/elftoolchain/libelf/_libelf_config.h Fri Aug 11 22:39:38 2017 (r322417) @@ -97,7 +97,7 @@ #define LIBELF_BYTEORDER ELFDATA2MSB #define LIBELF_CLASS ELFCLASS32 -#elif defined(__riscv64) +#elif defined(__riscv) && (__riscv_xlen == 64) #define LIBELF_ARCH EM_RISCV #define LIBELF_BYTEORDER ELFDATA2LSB Modified: projects/numa2/contrib/ipfilter/tools/ippool.c ============================================================================== --- projects/numa2/contrib/ipfilter/tools/ippool.c Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/contrib/ipfilter/tools/ippool.c Fri Aug 11 22:39:38 2017 (r322417) @@ -77,7 +77,7 @@ usage(prog) fprintf(stderr, "Usage:\t%s\n", prog); fprintf(stderr, "\t-a [-dnv] -m [-o ] [-t type] [-T ttl] -i [/netmask]\n"); fprintf(stderr, "\t-A [-dnv] [-m ] [-o ] [-S ] [-t ]\n"); - fprintf(stderr, "\t-f [-dnuv]\n"); + fprintf(stderr, "\t-f [-dnuvR]\n"); fprintf(stderr, "\t-F [-dv] [-o ] [-t ]\n"); fprintf(stderr, "\t-l [-dv] [-m ] [-t ] [-o ] [-M ] [-N ]\n"); fprintf(stderr, "\t-r [-dnv] [-m ] [-o ] [-t type] -i [/netmask]\n"); Modified: projects/numa2/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_types.h ============================================================================== --- projects/numa2/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_types.h Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_types.h Fri Aug 11 22:39:38 2017 (r322417) @@ -88,7 +88,7 @@ typedef int malloc_cpuid_t; # ifdef __powerpc__ # define LG_QUANTUM 4 # endif -# ifdef __riscv__ +# ifdef __riscv # define LG_QUANTUM 4 # endif # ifdef __s390__ Modified: projects/numa2/contrib/jemalloc/include/jemalloc/internal/spin.h ============================================================================== --- projects/numa2/contrib/jemalloc/include/jemalloc/internal/spin.h Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/contrib/jemalloc/include/jemalloc/internal/spin.h Fri Aug 11 22:39:38 2017 (r322417) @@ -1,19 +1,13 @@ #ifndef JEMALLOC_INTERNAL_SPIN_H #define JEMALLOC_INTERNAL_SPIN_H -#ifdef JEMALLOC_SPIN_C_ -# define SPIN_INLINE extern inline -#else -# define SPIN_INLINE inline -#endif - #define SPIN_INITIALIZER {0U} typedef struct { unsigned iteration; } spin_t; -SPIN_INLINE void +static inline void spin_adaptive(spin_t *spin) { volatile uint32_t i; Modified: projects/numa2/contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h ============================================================================== --- projects/numa2/contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h Fri Aug 11 22:39:38 2017 (r322417) @@ -67,7 +67,7 @@ # define LG_VADDR 32 # define LG_SIZEOF_PTR 2 #endif -#ifdef __riscv__ +#ifdef __riscv # define LG_VADDR 64 # define LG_SIZEOF_PTR 3 #endif Modified: projects/numa2/contrib/libc++/include/__bsd_locale_defaults.h ============================================================================== --- projects/numa2/contrib/libc++/include/__bsd_locale_defaults.h Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/contrib/libc++/include/__bsd_locale_defaults.h Fri Aug 11 22:39:38 2017 (r322417) @@ -15,6 +15,10 @@ #ifndef _LIBCPP_BSD_LOCALE_DEFAULTS_H #define _LIBCPP_BSD_LOCALE_DEFAULTS_H +#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) +#pragma GCC system_header +#endif + #define __libcpp_mb_cur_max_l(loc) MB_CUR_MAX_L(loc) #define __libcpp_btowc_l(ch, loc) btowc_l(ch, loc) #define __libcpp_wctob_l(wch, loc) wctob_l(wch, loc) Modified: projects/numa2/contrib/libc++/include/__bsd_locale_fallbacks.h ============================================================================== --- projects/numa2/contrib/libc++/include/__bsd_locale_fallbacks.h Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/contrib/libc++/include/__bsd_locale_fallbacks.h Fri Aug 11 22:39:38 2017 (r322417) @@ -18,6 +18,10 @@ #include #include +#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) +#pragma GCC system_header +#endif + _LIBCPP_BEGIN_NAMESPACE_STD inline _LIBCPP_ALWAYS_INLINE Modified: projects/numa2/contrib/libc++/include/__locale ============================================================================== --- projects/numa2/contrib/libc++/include/__locale Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/contrib/libc++/include/__locale Fri Aug 11 22:39:38 2017 (r322417) @@ -34,7 +34,7 @@ # include #elif defined(_NEWLIB_VERSION) # include -#elif (defined(__GLIBC__) || defined(__APPLE__) || defined(__FreeBSD__) \ +#elif (defined(__APPLE__) || defined(__FreeBSD__) \ || defined(__EMSCRIPTEN__) || defined(__IBMCPP__)) # include #elif defined(__Fuchsia__) Modified: projects/numa2/contrib/libc++/include/mutex ============================================================================== --- projects/numa2/contrib/libc++/include/mutex Fri Aug 11 20:44:17 2017 (r322416) +++ projects/numa2/contrib/libc++/include/mutex Fri Aug 11 22:39:38 2017 (r322417) @@ -116,7 +116,7 @@ class scoped_lock // C++17 (public) using mutex_type = Mutex; // If MutexTypes... consists of the single type Mutex explicit scoped_lock(MutexTypes&... m); - scoped_lock(MutexTypes&... m, adopt_lock_t); + scoped_lock(adopt_lock_t, MutexTypes&... m); ~scoped_lock(); scoped_lock(scoped_lock const&) = delete; scoped_lock& operator=(scoped_lock const&) = delete; @@ -500,7 +500,7 @@ class _LIBCPP_TEMPLATE_VIS scoped_lock<_Mutex> { (publ ~scoped_lock() _LIBCPP_THREAD_SAFETY_ANNOTATION(release_capability()) {__m_.unlock();} *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Fri Aug 11 23:07:57 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8FC35DCE333 for ; Fri, 11 Aug 2017 23:07:57 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6C0396922F; Fri, 11 Aug 2017 23:07:57 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v7BN7uG7038811; Fri, 11 Aug 2017 23:07:56 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v7BN7uit038809; Fri, 11 Aug 2017 23:07:56 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201708112307.v7BN7uit038809@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Fri, 11 Aug 2017 23:07:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322420 - projects/pnfs-planb-server-stable11/sys/fs/nfsserver X-SVN-Group: projects X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: projects/pnfs-planb-server-stable11/sys/fs/nfsserver X-SVN-Commit-Revision: 322420 X-SVN-Commit-Repository: base 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.23 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: Fri, 11 Aug 2017 23:07:57 -0000 Author: rmacklem Date: Fri Aug 11 23:07:56 2017 New Revision: 322420 URL: https://svnweb.freebsd.org/changeset/base/322420 Log: Fix nfsrv_dsgetsockmnt() so that it handles the mirrors. Also, change nfsrv_dsgetdevandfh() so that it allocates the maximum size for mirrors and not just the maximum mirrors for this running case. Modified: projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdport.c projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c Modified: projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdport.c Fri Aug 11 22:47:32 2017 (r322419) +++ projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdport.c Fri Aug 11 23:07:56 2017 (r322420) @@ -4001,16 +4001,17 @@ nfsrv_dsgetsockmnt(struct vnode *vp, int lktype, char int *mirrorcntp, NFSPROC_T *p, struct vnode **dvpp, struct nfsmount **nmpp, fhandle_t *fhp, char *devid, char *fnamep) { - struct vnode *dvp; + struct vnode *dvp, **tdvpp; struct nfsmount *nmp; struct sockaddr *sad; struct nfsdevice *ds; struct pnfsdsfile *pf; uint32_t dsdir; - int error, fhiszero; + int error, fhiszero, i, j, mirrorcnt; *mirrorcntp = 1; fhiszero = 0; + tdvpp = dvpp; if (lktype == 0) lktype = LK_SHARED; if (dvpp != NULL) { @@ -4019,62 +4020,81 @@ nfsrv_dsgetsockmnt(struct vnode *vp, int lktype, char } error = vn_extattr_get(vp, IO_NODELOCKED, EXTATTR_NAMESPACE_SYSTEM, "pnfsd.dsfile", &buflen, buf, p); - if (error == 0 && buflen != sizeof(*pf)) + mirrorcnt = buflen / sizeof(*pf); + if (error == 0 && (mirrorcnt < 1 || mirrorcnt > NFSDEV_MAXMIRRORS || + buflen != sizeof(*pf) * mirrorcnt)) error = ENOATTR; - if (error == 0) { - pf = (struct pnfsdsfile *)buf; + pf = (struct pnfsdsfile *)buf; + for (i = 0; i < mirrorcnt && error == 0; i++, pf++) { sad = (struct sockaddr *)&pf->dsf_sin; dsdir = pf->dsf_dir; if (dsdir >= nfsrv_dsdirsize) { printf("nfsrv_dsgetsockmnt: dsdir=%d\n", dsdir); error = ENOATTR; } - } - if (error == 0) { - if (NFSBCMP(&zerofh, &pf->dsf_fh, sizeof(zerofh)) == 0) - fhiszero = 1; - /* Use the socket address to find the mount point. */ - NFSDDSLOCK(); - TAILQ_FOREACH(ds, &nfsrv_devidhead, nfsdev_list) { - dvp = ds->nfsdev_dvp; - nmp = VFSTONFS(dvp->v_mount); - if (nfsaddr2_match(sad, nmp->nm_nam)) - break; - } - NFSDDSUNLOCK(); - if (ds != NULL) { - if (dvpp != NULL || fhiszero != 0) { - dvp = ds->nfsdev_dsdir[dsdir]; - error = vn_lock(dvp, lktype); - /* - * If the file handle is all 0's, try to do a - * Lookup against the DS to acquire it. - */ - if (error == 0 && fhiszero != 0) { - error = nfsrv_pnfslookupds(vp, pf, dvp, - p); - if (error != 0 || dvpp == NULL) - NFSVOPUNLOCK(dvp, 0); + if (error == 0) { + if (NFSBCMP(&zerofh, &pf->dsf_fh, sizeof(zerofh)) == 0) + fhiszero = 1; + /* Use the socket address to find the mount point. */ + NFSDDSLOCK(); + TAILQ_FOREACH(ds, &nfsrv_devidhead, nfsdev_list) { + dvp = ds->nfsdev_dvp; + nmp = VFSTONFS(dvp->v_mount); + if (nfsaddr2_match(sad, nmp->nm_nam)) + break; + } + NFSDDSUNLOCK(); + if (ds != NULL) { + if (dvpp != NULL || fhiszero != 0) { + dvp = ds->nfsdev_dsdir[dsdir]; + error = vn_lock(dvp, lktype); + /* + * If the file handle is all 0's, try to + * do a Lookup against the DS to acquire + * it. + * If dvpp == NULL or the Lookup fails, + * unlock dvp after the call. + */ + if (error == 0 && fhiszero != 0) { + error = nfsrv_pnfslookupds(vp, + pf, dvp, p); + if (error != 0 || dvpp == NULL) + NFSVOPUNLOCK(dvp, 0); + } } + if (devid != NULL) { + NFSBCOPY(ds->nfsdev_deviceid, devid, + NFSX_V4DEVICEID); + devid += NFSX_V4DEVICEID; + } + } else + error = ENOENT; + } + if (error == 0) { + if (dvpp != NULL) { + *tdvpp++ = dvp; + *nmpp++ = nmp; } - if (devid != NULL) - NFSBCOPY(ds->nfsdev_deviceid, devid, - NFSX_V4DEVICEID); + if (fhp != NULL) + NFSBCOPY(&pf->dsf_fh, fhp++, NFSX_MYFH); + if (fnamep != NULL && i == 0) + strlcpy(fnamep, pf->dsf_filename, + sizeof(pf->dsf_filename)); } else - error = ENOENT; + NFSD_DEBUG(4, "nfsrv_dsgetsockmnt err=%d\n", error); } - if (error == 0) { - if (dvpp != NULL) { - *dvpp = dvp; - *nmpp = nmp; - } - if (fhp != NULL) - NFSBCOPY(&pf->dsf_fh, fhp, NFSX_MYFH); - if (fnamep != NULL) - strlcpy(fnamep, pf->dsf_filename, - sizeof(pf->dsf_filename)); - } else - NFSD_DEBUG(4, "nfsrv_dsgetsockmnt err=%d\n", error); + + if (error == 0) + *mirrorcntp = mirrorcnt; + else if (i > 1 && dvpp != NULL) { + /* + * If the error didn't occur on the first one and dvpp != NULL, + * the one(s) prior to the failure will have locked dvp's that + * need to be unlocked. + */ + for (j = 1; j < i; j++) + NFSVOPUNLOCK(*dvpp++, 0); + } return (error); } Modified: projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c ============================================================================== --- projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c Fri Aug 11 22:47:32 2017 (r322419) +++ projects/pnfs-planb-server-stable11/sys/fs/nfsserver/nfs_nfsdstate.c Fri Aug 11 23:07:56 2017 (r322420) @@ -6287,9 +6287,8 @@ nfsrv_layoutget(struct nfsrv_descript *nd, vnode_t vp, NFSUNLOCKLAYOUT(lhyp); /* Find the device id and file handle. */ - dsfhp = malloc(sizeof(fhandle_t) * nfsrv_maxpnfsmirror, M_TEMP, - M_WAITOK); - devid = malloc(NFSX_V4DEVICEID * nfsrv_maxpnfsmirror, M_TEMP, M_WAITOK); + dsfhp = malloc(sizeof(fhandle_t) * NFSDEV_MAXMIRRORS, M_TEMP, M_WAITOK); + devid = malloc(NFSX_V4DEVICEID * NFSDEV_MAXMIRRORS, M_TEMP, M_WAITOK); error = nfsrv_dsgetdevandfh(vp, p, &mirrorcnt, dsfhp, devid); NFSD_DEBUG(4, "layoutget devandfh=%d\n", error); if (error == 0) { From owner-svn-src-projects@freebsd.org Fri Aug 11 23:12:30 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2B094DCE7CA for ; Fri, 11 Aug 2017 23:12:30 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 054F8695C8; Fri, 11 Aug 2017 23:12:29 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v7BNCTmW042665; Fri, 11 Aug 2017 23:12:29 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v7BNCTDt042663; Fri, 11 Aug 2017 23:12:29 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201708112312.v7BNCTDt042663@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Fri, 11 Aug 2017 23:12:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r322421 - projects/pnfs-planb-server/sys/fs/nfsserver X-SVN-Group: projects X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: projects/pnfs-planb-server/sys/fs/nfsserver X-SVN-Commit-Revision: 322421 X-SVN-Commit-Repository: base 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.23 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: Fri, 11 Aug 2017 23:12:30 -0000 Author: rmacklem Date: Fri Aug 11 23:12:28 2017 New Revision: 322421 URL: https://svnweb.freebsd.org/changeset/base/322421 Log: Fix nfsrv_dsgetsockmnt() so that it handles the mirrors. Also, change nfsrv_dsgetdevandfh() so that it allocates the maximum size for mirrors and not just the maximum mirrors for this running case. Modified: projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdport.c projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c Modified: projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdport.c Fri Aug 11 23:07:56 2017 (r322420) +++ projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdport.c Fri Aug 11 23:12:28 2017 (r322421) @@ -4018,16 +4018,17 @@ nfsrv_dsgetsockmnt(struct vnode *vp, int lktype, char int *mirrorcntp, NFSPROC_T *p, struct vnode **dvpp, struct nfsmount **nmpp, fhandle_t *fhp, char *devid, char *fnamep) { - struct vnode *dvp; + struct vnode *dvp, **tdvpp; struct nfsmount *nmp; struct sockaddr *sad; struct nfsdevice *ds; struct pnfsdsfile *pf; uint32_t dsdir; - int error, fhiszero; + int error, fhiszero, i, j, mirrorcnt; *mirrorcntp = 1; fhiszero = 0; + tdvpp = dvpp; if (lktype == 0) lktype = LK_SHARED; if (dvpp != NULL) { @@ -4036,62 +4037,81 @@ nfsrv_dsgetsockmnt(struct vnode *vp, int lktype, char } error = vn_extattr_get(vp, IO_NODELOCKED, EXTATTR_NAMESPACE_SYSTEM, "pnfsd.dsfile", &buflen, buf, p); - if (error == 0 && buflen != sizeof(*pf)) + mirrorcnt = buflen / sizeof(*pf); + if (error == 0 && (mirrorcnt < 1 || mirrorcnt > NFSDEV_MAXMIRRORS || + buflen != sizeof(*pf) * mirrorcnt)) error = ENOATTR; - if (error == 0) { - pf = (struct pnfsdsfile *)buf; + pf = (struct pnfsdsfile *)buf; + for (i = 0; i < mirrorcnt && error == 0; i++, pf++) { sad = (struct sockaddr *)&pf->dsf_sin; dsdir = pf->dsf_dir; if (dsdir >= nfsrv_dsdirsize) { printf("nfsrv_dsgetsockmnt: dsdir=%d\n", dsdir); error = ENOATTR; } - } - if (error == 0) { - if (NFSBCMP(&zerofh, &pf->dsf_fh, sizeof(zerofh)) == 0) - fhiszero = 1; - /* Use the socket address to find the mount point. */ - NFSDDSLOCK(); - TAILQ_FOREACH(ds, &nfsrv_devidhead, nfsdev_list) { - dvp = ds->nfsdev_dvp; - nmp = VFSTONFS(dvp->v_mount); - if (nfsaddr2_match(sad, nmp->nm_nam)) - break; - } - NFSDDSUNLOCK(); - if (ds != NULL) { - if (dvpp != NULL || fhiszero != 0) { - dvp = ds->nfsdev_dsdir[dsdir]; - error = vn_lock(dvp, lktype); - /* - * If the file handle is all 0's, try to do a - * Lookup against the DS to acquire it. - */ - if (error == 0 && fhiszero != 0) { - error = nfsrv_pnfslookupds(vp, pf, dvp, - p); - if (error != 0 || dvpp == NULL) - NFSVOPUNLOCK(dvp, 0); + if (error == 0) { + if (NFSBCMP(&zerofh, &pf->dsf_fh, sizeof(zerofh)) == 0) + fhiszero = 1; + /* Use the socket address to find the mount point. */ + NFSDDSLOCK(); + TAILQ_FOREACH(ds, &nfsrv_devidhead, nfsdev_list) { + dvp = ds->nfsdev_dvp; + nmp = VFSTONFS(dvp->v_mount); + if (nfsaddr2_match(sad, nmp->nm_nam)) + break; + } + NFSDDSUNLOCK(); + if (ds != NULL) { + if (dvpp != NULL || fhiszero != 0) { + dvp = ds->nfsdev_dsdir[dsdir]; + error = vn_lock(dvp, lktype); + /* + * If the file handle is all 0's, try to + * do a Lookup against the DS to acquire + * it. + * If dvpp == NULL or the Lookup fails, + * unlock dvp after the call. + */ + if (error == 0 && fhiszero != 0) { + error = nfsrv_pnfslookupds(vp, + pf, dvp, p); + if (error != 0 || dvpp == NULL) + NFSVOPUNLOCK(dvp, 0); + } } + if (devid != NULL) { + NFSBCOPY(ds->nfsdev_deviceid, devid, + NFSX_V4DEVICEID); + devid += NFSX_V4DEVICEID; + } + } else + error = ENOENT; + } + if (error == 0) { + if (dvpp != NULL) { + *tdvpp++ = dvp; + *nmpp++ = nmp; } - if (devid != NULL) - NFSBCOPY(ds->nfsdev_deviceid, devid, - NFSX_V4DEVICEID); + if (fhp != NULL) + NFSBCOPY(&pf->dsf_fh, fhp++, NFSX_MYFH); + if (fnamep != NULL && i == 0) + strlcpy(fnamep, pf->dsf_filename, + sizeof(pf->dsf_filename)); } else - error = ENOENT; + NFSD_DEBUG(4, "nfsrv_dsgetsockmnt err=%d\n", error); } - if (error == 0) { - if (dvpp != NULL) { - *dvpp = dvp; - *nmpp = nmp; - } - if (fhp != NULL) - NFSBCOPY(&pf->dsf_fh, fhp, NFSX_MYFH); - if (fnamep != NULL) - strlcpy(fnamep, pf->dsf_filename, - sizeof(pf->dsf_filename)); - } else - NFSD_DEBUG(4, "nfsrv_dsgetsockmnt err=%d\n", error); + + if (error == 0) + *mirrorcntp = mirrorcnt; + else if (i > 1 && dvpp != NULL) { + /* + * If the error didn't occur on the first one and dvpp != NULL, + * the one(s) prior to the failure will have locked dvp's that + * need to be unlocked. + */ + for (j = 1; j < i; j++) + NFSVOPUNLOCK(*dvpp++, 0); + } return (error); } Modified: projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c ============================================================================== --- projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c Fri Aug 11 23:07:56 2017 (r322420) +++ projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdstate.c Fri Aug 11 23:12:28 2017 (r322421) @@ -6287,9 +6287,8 @@ nfsrv_layoutget(struct nfsrv_descript *nd, vnode_t vp, NFSUNLOCKLAYOUT(lhyp); /* Find the device id and file handle. */ - dsfhp = malloc(sizeof(fhandle_t) * nfsrv_maxpnfsmirror, M_TEMP, - M_WAITOK); - devid = malloc(NFSX_V4DEVICEID * nfsrv_maxpnfsmirror, M_TEMP, M_WAITOK); + dsfhp = malloc(sizeof(fhandle_t) * NFSDEV_MAXMIRRORS, M_TEMP, M_WAITOK); + devid = malloc(NFSX_V4DEVICEID * NFSDEV_MAXMIRRORS, M_TEMP, M_WAITOK); error = nfsrv_dsgetdevandfh(vp, p, &mirrorcnt, dsfhp, devid); NFSD_DEBUG(4, "layoutget devandfh=%d\n", error); if (error == 0) {