From owner-svn-src-user@freebsd.org Sun Oct 18 00:04:30 2015 Return-Path: Delivered-To: svn-src-user@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 E4223A17572 for ; Sun, 18 Oct 2015 00:04:30 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from mail-pa0-f41.google.com (mail-pa0-f41.google.com [209.85.220.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B35561A57 for ; Sun, 18 Oct 2015 00:04:30 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: by pabws5 with SMTP id ws5so2284181pab.2 for ; Sat, 17 Oct 2015 17:04:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:content-type:from :in-reply-to:date:cc:message-id:references:to; bh=8N+YviqLD5mjUGG/w1UxQvaci+efdUskHo0vHFhKPj8=; b=Jfl1nHyvApiaNAegb6uULZ/dJ+mzFnIfQyUz1lNW1ew6PyzKGuxh+RNhZf9iJghYEi 5RmnUsi+myqWpiaSLhoDpe8plM4VuSigEcwqWl5wL7rw2IJQ0eZ7N4WROqowPJQCVDrq H/h4VRWkeH23BM+BG0hbcMkQdaZIjOh8uPSpgx0boP7vu8W3vUqsSUaLa87LN9rykEjF unCVkZFkXzxTrGMZG3gFG5aB5QJvwmEVNHybKCujMEnFrwsQFZXyW5jhRQQTVc8cVKHQ wmnZu/93eldM9KuH6YN5uGdYBr7YPz8tCw0wUGxjeqq5uo62bHhgjdMMIyJBP1Ls4BrC 9Tng== X-Gm-Message-State: ALoCoQkMrGWEBWI9ErwSJ6HHIxBI0yRS9YZef71p1pIcX+b+iXATXycRBw0HA5Ug8rsgUHQPYMJO X-Received: by 10.68.134.170 with SMTP id pl10mr25623446pbb.35.1445126670014; Sat, 17 Oct 2015 17:04:30 -0700 (PDT) Received: from ip-100-127-128-53.ec2.internal ([69.53.245.5]) by smtp.gmail.com with ESMTPSA id pf7sm28517228pbc.6.2015.10.17.17.04.28 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 17 Oct 2015 17:04:29 -0700 (PDT) Sender: Warner Losh Subject: Re: svn commit: r289471 - in user/ngie/bug203673: bin/df bin/ls bin/ps lib/libxo lib/libxo/tests lib/libxo/tests/encoder libexec/ftpd sbin/savecore share/mk usr.bin/iscsictl usr.bin/netstat usr.bin/pro... Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\)) Content-Type: multipart/signed; boundary="Apple-Mail=_77FDA87D-E3D3-4DE0-AE7D-E3650F5C2615"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.5.2 From: Warner Losh In-Reply-To: <5622D517.5000606@FreeBSD.org> Date: Sat, 17 Oct 2015 18:04:27 -0600 Cc: NGie Cooper , Garrett Cooper , src-committers@freebsd.org, svn-src-user@freebsd.org Message-Id: References: <201510172138.t9HLcwiF095174@repo.freebsd.org> <5622D147.7050701@FreeBSD.org> <542455B8-3355-497A-B667-AF72C197B9A4@gmail.com> <5622D243.5020603@FreeBSD.org> <5622D517.5000606@FreeBSD.org> To: Bryan Drewery X-Mailer: Apple Mail (2.2104) X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Oct 2015 00:04:31 -0000 --Apple-Mail=_77FDA87D-E3D3-4DE0-AE7D-E3650F5C2615 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Oct 17, 2015, at 5:09 PM, Bryan Drewery = wrote: >=20 > On 10/17/15 4:04 PM, NGie Cooper wrote: >>=20 >>> On Oct 17, 2015, at 15:57, Bryan Drewery = wrote: >>>=20 >>> On 10/17/15 3:56 PM, NGie Cooper wrote: >>>>=20 >>>>> On Oct 17, 2015, at 15:52, Bryan Drewery = wrote: >>>>>=20 >>>>> On 10/17/15 2:38 PM, Garrett Cooper wrote: >>>>>> -LIBADD=3D xo util >>>>>> +LIBADD=3D util xo >>>>>=20 >>>>> Woops! >>>>=20 >>>> It=E2=80=99s intentional. I sorted the lists alphabetically and in = doing so also made it more apparent that libxo isn=E2=80=99t the one = pull in libutil by accident :) (someone went and added libxo before = libutil everywhere so it was hard to know who needed libutil as a first = order dependency instead of as a side-effect of libxo). >>>>=20 >>>> I=E2=80=99ll change the final commit message to reflect that. >>>>=20 >>>> Thanks for the pointers earlier :). >>>>=20 >>>=20 >>> Do keep in mind that ordering can be significant for linking. >>=20 >> How? As far as the final object size, the time it takes to link the = objects, ...? >>=20 >=20 > If two libraries provide the same symbols. For example r265003. Easily > sen with libmd and libcrypto too if I remember right. Also consider libA and libB. Lib B calls something in lib A. If nothing = in the main program calls it, and it is in its own .o, then that .o = won=E2=80=99t get pulled in from the .a, so the symbol won=E2=80=99t get = resolved. This is very definitely true for static libraries. The rules = for dynamic are different, but then Bryan=E2=80=99s example applies. Order matters. Don=E2=80=99t alphabetize just for =E2=80=9Cneatness=E2=80=9D= sake. Warner --Apple-Mail=_77FDA87D-E3D3-4DE0-AE7D-E3650F5C2615 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJWIuILAAoJEGwc0Sh9sBEAqKcP+wXoAPhJkPUQ9fw1JhnUpi1U +LgQUOBE6NsAPnwwcn0kvHWC1qPaYQFpHNOVnXZN/o6RitKxBRivOvesHa+/gPKG vQ99zzBjxj3dEnVzsDadFjvwOKB1qHMwO/Sko/S4i65veXndIcqa/22H7SQgsHdl +suUTuieCRst9U9sVC7zbJgCWRLbgu/dDkNr+2WLupdCWm30kyiF1jvT6dzxISsw HCgW6AoWsZKPq10ZJ1X8MHRXjFSZaigQZZ1w6qBY9kLyMvt3Mlm6Vrlxdrop1S8u dD7uWp1Jq4u57rWnQC46nNAzqmz0Z98IBmAtOMUk1gEIipeYpvPKwh053Pb9fcgB 9JUX9fEZPJNHW/s0XO0r5FdnJa17/TKL3KXigzlHuTCevdBsGogcoj87LIgx8HhV 3ZRcqptWuLv7aR+AK0Tnke/rJ24aZO7WTKqN2ef1i2LGu44B5bXTonZwftNclArv JNvDTrKdXTFOiBrnd+IFZLLzLfutIZkxHDxVjK4mPGS+QUrrF6NY2ZLztbttfZTE Rv0GFfETvmNQVYoiPBF/j4JIV9F3mNFN7SB1Lv4nha1pou3oSI60yWO6/G3wZqYU RUumx0eMPKOPiXGJJkfkJWj81nflC2XG7bxTefIou/RVNNnQ5q5EUhggSLcC+auM hdy+dgWcE3woWqkm5N28 =89MV -----END PGP SIGNATURE----- --Apple-Mail=_77FDA87D-E3D3-4DE0-AE7D-E3650F5C2615-- From owner-svn-src-user@freebsd.org Sun Oct 18 00:11:02 2015 Return-Path: Delivered-To: svn-src-user@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 95F64A17709 for ; Sun, 18 Oct 2015 00:11:02 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pa0-x229.google.com (mail-pa0-x229.google.com [IPv6:2607:f8b0:400e:c03::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 613DC1CC5; Sun, 18 Oct 2015 00:11:02 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by pacfv9 with SMTP id fv9so56920167pac.3; Sat, 17 Oct 2015 17:11:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=siDuJukrF9+4GTkoHyheOSsIDQ+XBFYi0Bkt6mNKrmY=; b=LmVUyjEQ9mGckQAqh9UxuJgxAcRs2UTCYzaYwlio9Y9nWSXW5Bj04HaMrsXJAAwPmZ /fvm3Ag4UzWY/lbmNVdoHQW1I7K1FDDcN1EHuzBLV48xVhyjIWPwpIQGykBKEgItkEzZ 1HgbOM3Vp6JFBvDhM9bFBfxd3M6+3XMnZcoC83N8eVRrXOLGId6jekx24BBqixgqyYD/ CFawls22YYALSy3EsZnz1Rq+9pMdYkfZ9jgN0oOIh4ixCD7lpTFoCfuLTnKF8yv+2+AY sPcDgM3uwD7awewupNR6cE315n1iZ9Ix13UZOrvKvtWJ9sFgeS2MYWroyh/XiH2AyCfN NxnA== X-Received: by 10.67.15.100 with SMTP id fn4mr26123830pad.120.1445127061948; Sat, 17 Oct 2015 17:11:01 -0700 (PDT) Received: from ?IPv6:2601:601:800:126d:61c1:5eeb:a155:3bc5? ([2601:601:800:126d:61c1:5eeb:a155:3bc5]) by smtp.gmail.com with ESMTPSA id tn2sm2197604pac.0.2015.10.17.17.11.01 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 17 Oct 2015 17:11:01 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\)) Subject: Re: svn commit: r289471 - in user/ngie/bug203673: bin/df bin/ls bin/ps lib/libxo lib/libxo/tests lib/libxo/tests/encoder libexec/ftpd sbin/savecore share/mk usr.bin/iscsictl usr.bin/netstat usr.bin/pro... From: NGie Cooper In-Reply-To: Date: Sat, 17 Oct 2015 17:11:00 -0700 Cc: Bryan Drewery , Garrett Cooper , src-committers@freebsd.org, svn-src-user@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <563611E3-99A3-4FEE-A83A-7E64B2CC00DE@gmail.com> References: <201510172138.t9HLcwiF095174@repo.freebsd.org> <5622D147.7050701@FreeBSD.org> <542455B8-3355-497A-B667-AF72C197B9A4@gmail.com> <5622D243.5020603@FreeBSD.org> <5622D517.5000606@FreeBSD.org> To: Warner Losh X-Mailer: Apple Mail (2.2104) X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Oct 2015 00:11:02 -0000 > On Oct 17, 2015, at 17:04, Warner Losh wrote: >=20 >> On Oct 17, 2015, at 5:09 PM, Bryan Drewery = wrote: =E2=80=A6 >> If two libraries provide the same symbols. For example r265003. = Easily >> sen with libmd and libcrypto too if I remember right. >=20 > Also consider libA and libB. Lib B calls something in lib A. If = nothing in the main program calls it, and it is in its own .o, then that = .o won=E2=80=99t get pulled in from the .a, so the symbol won=E2=80=99t = get resolved. This is very definitely true for static libraries. The = rules for dynamic are different, but then Bryan=E2=80=99s example = applies. >=20 > Order matters. Don=E2=80=99t alphabetize just for =E2=80=9Cneatness=E2=80= =9D sake. Ok. I thought nm | lorder would have properly handled this, but I=E2=80=99= ll revert the reordering part. Thanks, -NGie= From owner-svn-src-user@freebsd.org Sun Oct 18 01:21:31 2015 Return-Path: Delivered-To: svn-src-user@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 68101A1028B for ; Sun, 18 Oct 2015 01:21:31 +0000 (UTC) (envelope-from ngie@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 262A81789; Sun, 18 Oct 2015 01:21:31 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9I1LUH3059902; Sun, 18 Oct 2015 01:21:30 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9I1LTL8059898; Sun, 18 Oct 2015 01:21:29 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201510180121.t9I1LTL8059898@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 18 Oct 2015 01:21:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r289478 - user/ngie/more-tests2/share/mk X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Oct 2015 01:21:31 -0000 Author: ngie Date: Sun Oct 18 01:21:29 2015 New Revision: 289478 URL: https://svnweb.freebsd.org/changeset/base/289478 Log: Port over diff from ^/user/ngie/more-tests to replace `make test` with `make regress` Modified: user/ngie/more-tests2/share/mk/bsd.README user/ngie/more-tests2/share/mk/bsd.test.mk user/ngie/more-tests2/share/mk/suite.test.mk Modified: user/ngie/more-tests2/share/mk/bsd.README ============================================================================== --- user/ngie/more-tests2/share/mk/bsd.README Sun Oct 18 01:03:43 2015 (r289477) +++ user/ngie/more-tests2/share/mk/bsd.README Sun Oct 18 01:21:29 2015 (r289478) @@ -463,14 +463,14 @@ It has seven targets: install target is executed. lint: run lint on the source files. - tags: - create a tags file for the source files. - test: + regress: runs the test programs from the object directory; if the Makefile does not itself define the target test, the - targets beforetest and aftertest may also be used to + targets beforeregress and afterregress may also be used to cause actions immediately before and after the test target is executed. + tags: + create a tags file for the source files. It sets/uses the following variables, among many others: Modified: user/ngie/more-tests2/share/mk/bsd.test.mk ============================================================================== --- user/ngie/more-tests2/share/mk/bsd.test.mk Sun Oct 18 01:03:43 2015 (r289477) +++ user/ngie/more-tests2/share/mk/bsd.test.mk Sun Oct 18 01:21:29 2015 (r289478) @@ -76,19 +76,14 @@ PROGS_TARGETS+= install .include .endif -.if !target(realtest) -realtest: .PHONY +.if !target(realregress) +realregress: .PHONY @echo "$@ not defined; skipping" .endif -test: .PHONY -.ORDER: beforetest realtest -test: beforetest realtest - -.if target(aftertest) -.ORDER: realtest aftertest -test: aftertest -.endif +beforeregress realregress afterregress regress: .PHONY +.ORDER: beforeregress realregress afterregress +regress: beforeregress realregress afterregress .ifdef PROG # we came here via bsd.progs.mk below Modified: user/ngie/more-tests2/share/mk/suite.test.mk ============================================================================== --- user/ngie/more-tests2/share/mk/suite.test.mk Sun Oct 18 01:03:43 2015 (r289477) +++ user/ngie/more-tests2/share/mk/suite.test.mk Sun Oct 18 01:21:29 2015 (r289478) @@ -51,7 +51,7 @@ KYUAFILE?= auto # Path to the prefix of the installed Kyua CLI, if any. # -# If kyua is installed from ports, we automatically define a realtest target +# If kyua is installed from ports, we automatically define a realregress target # below to run the tests using this tool. The tools are searched for in the # hierarchy specified by this variable. KYUA_PREFIX?= /usr/local @@ -92,9 +92,13 @@ Kyuafile.auto: Makefile @mv Kyuafile.auto.tmp Kyuafile.auto .endif +_kyuafile= ${DESTDIR}${TESTSDIR}/Kyuafile + KYUA?= ${KYUA_PREFIX}/bin/kyua + +realregress: .PHONY .if exists(${KYUA}) -# Definition of the "make test" target and supporting variables. +# Definition of the "make regress" target and supporting variables. # # This target, by necessity, can only work for native builds (i.e. a FreeBSD # host building a release for the same system). The target runs Kyua, which is @@ -103,35 +107,5 @@ KYUA?= ${KYUA_PREFIX}/bin/kyua # Due to the dependencies of the binaries built by the source tree and how they # are used by tests, it is highly possible for a execution of "make test" to # report bogus results unless the new binaries are put in place. -realtest: .PHONY - @echo "*** WARNING: make test is experimental" - @echo "***" - @echo "*** Using this test does not preclude you from running the tests" - @echo "*** installed in ${TESTSBASE}. This test run may raise false" - @echo "*** positives and/or false negatives." - @echo - @${KYUA} test -k ${DESTDIR}${TESTSDIR}/Kyuafile; \ - result=0; \ - echo; \ - echo "*** Once again, note that "make test" is unsupported."; \ - test $${result} -eq 0 -.endif - -beforetest: .PHONY -.if defined(TESTSDIR) -.if ${TESTSDIR} == ${TESTSBASE} -# Forbid running from ${TESTSBASE}. It can cause false positives/negatives and -# it does not cover all the tests (e.g. it misses testing software in external). - @echo "*** Sorry, you cannot use make test from src/tests. Install the" - @echo "*** tests into their final location and run them from ${TESTSBASE}" - @false -.else - @echo "*** Using this test does not preclude you from running the tests" - @echo "*** installed in ${TESTSBASE}. This test run may raise false" - @echo "*** positives and/or false negatives." -.endif -.else - @echo "*** No TESTSDIR defined; nothing to do." - @false + @${KYUA} test -k ${DESTDIR}${TESTSDIR}/Kyuafile .endif - @echo From owner-svn-src-user@freebsd.org Sun Oct 18 01:30:25 2015 Return-Path: Delivered-To: svn-src-user@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 74024A10453 for ; Sun, 18 Oct 2015 01:30:25 +0000 (UTC) (envelope-from ngie@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 3ED1C19D8; Sun, 18 Oct 2015 01:30:25 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9I1UOwZ062787; Sun, 18 Oct 2015 01:30:24 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9I1UN8j062781; Sun, 18 Oct 2015 01:30:23 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201510180130.t9I1UN8j062781@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 18 Oct 2015 01:30:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r289479 - in user/ngie/bug203673: bin/df bin/ls libexec/ftpd usr.bin/netstat usr.bin/procstat usr.bin/w X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Oct 2015 01:30:25 -0000 Author: ngie Date: Sun Oct 18 01:30:23 2015 New Revision: 289479 URL: https://svnweb.freebsd.org/changeset/base/289479 Log: Revert the linked library order because it might affect the optimization of static binaries and it might affect functionality with weak symbols in dynamic binaries Requested by: bdrewery, imp Modified: user/ngie/bug203673/bin/df/Makefile user/ngie/bug203673/bin/ls/Makefile user/ngie/bug203673/libexec/ftpd/Makefile user/ngie/bug203673/usr.bin/netstat/Makefile user/ngie/bug203673/usr.bin/procstat/Makefile user/ngie/bug203673/usr.bin/w/Makefile Modified: user/ngie/bug203673/bin/df/Makefile ============================================================================== --- user/ngie/bug203673/bin/df/Makefile Sun Oct 18 01:21:29 2015 (r289478) +++ user/ngie/bug203673/bin/df/Makefile Sun Oct 18 01:30:23 2015 (r289479) @@ -9,6 +9,6 @@ SRCS= df.c vfslist.c CFLAGS+= -I${MOUNT} -LIBADD= util xo +LIBADD= xo util .include Modified: user/ngie/bug203673/bin/ls/Makefile ============================================================================== --- user/ngie/bug203673/bin/ls/Makefile Sun Oct 18 01:21:29 2015 (r289478) +++ user/ngie/bug203673/bin/ls/Makefile Sun Oct 18 01:30:23 2015 (r289479) @@ -5,7 +5,7 @@ PROG= ls SRCS= cmp.c ls.c print.c util.c -LIBADD= util xo +LIBADD= xo util .if !defined(RELEASE_CRUNCH) && \ ${MK_LS_COLORS} != no Modified: user/ngie/bug203673/libexec/ftpd/Makefile ============================================================================== --- user/ngie/bug203673/libexec/ftpd/Makefile Sun Oct 18 01:21:29 2015 (r289478) +++ user/ngie/bug203673/libexec/ftpd/Makefile Sun Oct 18 01:30:23 2015 (r289479) @@ -13,7 +13,7 @@ YFLAGS= WARNS?= 2 WFORMAT=0 -LIBADD= crypt util xo +LIBADD= crypt xo util # XXX Kluge! Conversation mechanism needs to be fixed. LIBADD+= opie md Modified: user/ngie/bug203673/usr.bin/netstat/Makefile ============================================================================== --- user/ngie/bug203673/usr.bin/netstat/Makefile Sun Oct 18 01:21:29 2015 (r289478) +++ user/ngie/bug203673/usr.bin/netstat/Makefile Sun Oct 18 01:30:23 2015 (r289479) @@ -56,7 +56,7 @@ CFLAGS+=-DPF BINGRP= kmem BINMODE=2555 -LIBADD= kvm memstat util xo +LIBADD= kvm memstat xo util .if ${MK_NETGRAPH_SUPPORT} != "no" SRCS+= netgraph.c Modified: user/ngie/bug203673/usr.bin/procstat/Makefile ============================================================================== --- user/ngie/bug203673/usr.bin/procstat/Makefile Sun Oct 18 01:21:29 2015 (r289478) +++ user/ngie/bug203673/usr.bin/procstat/Makefile Sun Oct 18 01:30:23 2015 (r289479) @@ -17,6 +17,6 @@ SRCS= procstat.c \ procstat_threads.c \ procstat_vm.c -LIBADD+= procstat util xo sbuf +LIBADD+= procstat xo util sbuf .include Modified: user/ngie/bug203673/usr.bin/w/Makefile ============================================================================== --- user/ngie/bug203673/usr.bin/w/Makefile Sun Oct 18 01:21:29 2015 (r289478) +++ user/ngie/bug203673/usr.bin/w/Makefile Sun Oct 18 01:30:23 2015 (r289479) @@ -4,7 +4,7 @@ PROG= w SRCS= fmt.c pr_time.c proc_compare.c w.c MAN= w.1 uptime.1 -LIBADD= kvm sbuf util xo +LIBADD= kvm sbuf xo util LINKS= ${BINDIR}/w ${BINDIR}/uptime .PATH: ${.CURDIR}/../../bin/ps From owner-svn-src-user@freebsd.org Sun Oct 18 04:50:55 2015 Return-Path: Delivered-To: svn-src-user@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 E71A3A0FFD6 for ; Sun, 18 Oct 2015 04:50:55 +0000 (UTC) (envelope-from ngie@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 A4D82CFD; Sun, 18 Oct 2015 04:50:55 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9I4osnf020865; Sun, 18 Oct 2015 04:50:54 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9I4osIk020860; Sun, 18 Oct 2015 04:50:54 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201510180450.t9I4osIk020860@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 18 Oct 2015 04:50:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r289483 - in user/ngie/more-tests2: share/mk sys/arm/mv sys/contrib/ipfilter/netinet sys/mips/atheros X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Oct 2015 04:50:56 -0000 Author: ngie Date: Sun Oct 18 04:50:53 2015 New Revision: 289483 URL: https://svnweb.freebsd.org/changeset/base/289483 Log: MFhead @ r289481 Modified: user/ngie/more-tests2/share/mk/bsd.sys.mk user/ngie/more-tests2/sys/arm/mv/std-pj4b.mv user/ngie/more-tests2/sys/contrib/ipfilter/netinet/ip_state.c user/ngie/more-tests2/sys/mips/atheros/if_arge.c user/ngie/more-tests2/sys/mips/atheros/if_argevar.h Directory Properties: user/ngie/more-tests2/ (props changed) user/ngie/more-tests2/share/ (props changed) user/ngie/more-tests2/sys/ (props changed) user/ngie/more-tests2/sys/contrib/ipfilter/ (props changed) Modified: user/ngie/more-tests2/share/mk/bsd.sys.mk ============================================================================== --- user/ngie/more-tests2/share/mk/bsd.sys.mk Sun Oct 18 04:50:51 2015 (r289482) +++ user/ngie/more-tests2/share/mk/bsd.sys.mk Sun Oct 18 04:50:53 2015 (r289483) @@ -150,11 +150,13 @@ CXXFLAGS.clang+= -Wno-c++11-extensions ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips" .if (${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 30500) || \ (${COMPILER_TYPE} == "gcc" && \ - (${COMPILER_VERSION} == 40201 || ${COMPILER_VERSION} >= 40800)) + (${COMPILER_VERSION} == 40201 || ${COMPILER_VERSION} >= 40900)) # Don't use -Wstack-protector as it breaks world with -Werror. SSP_CFLAGS?= -fstack-protector-strong -CFLAGS+= ${SSP_CFLAGS} +.else +SSP_CFLAGS?= -fstack-protector .endif +CFLAGS+= ${SSP_CFLAGS} .endif # SSP && !ARM && !MIPS # Allow user-specified additional warning flags, plus compiler specific flag overrides. Modified: user/ngie/more-tests2/sys/arm/mv/std-pj4b.mv ============================================================================== --- user/ngie/more-tests2/sys/arm/mv/std-pj4b.mv Sun Oct 18 04:50:51 2015 (r289482) +++ user/ngie/more-tests2/sys/arm/mv/std-pj4b.mv Sun Oct 18 04:50:53 2015 (r289483) @@ -5,4 +5,8 @@ cpu CPU_MV_PJ4B machine arm armv6 makeoptions CONF_CFLAGS="-march=armv7a" -options VM_MAXUSER_ADDRESS="(KERNBASE-(1024*1024*1024))" +# This was originally defined as "(KERNBASE-(1024*1024*1024))" but that +# (in opt_global.h) clashed with the value emitted by genassym which +# reduces the original macro text to its numeric value. The only way +# to avoid that is to define it here as the numeric value genassym emits. +options VM_MAXUSER_ADDRESS="0x80000000" Modified: user/ngie/more-tests2/sys/contrib/ipfilter/netinet/ip_state.c ============================================================================== --- user/ngie/more-tests2/sys/contrib/ipfilter/netinet/ip_state.c Sun Oct 18 04:50:51 2015 (r289482) +++ user/ngie/more-tests2/sys/contrib/ipfilter/netinet/ip_state.c Sun Oct 18 04:50:53 2015 (r289483) @@ -3650,7 +3650,6 @@ ipf_state_del(softc, is, why) if (is->is_ref > 0) { int refs; - is->is_ref--; refs = is->is_ref; MUTEX_EXIT(&is->is_lock); if (!orphan) @@ -3667,7 +3666,7 @@ ipf_state_del(softc, is, why) } } - is->is_ref = 0; + ASSERT(is->is_ref == 0); MUTEX_EXIT(&is->is_lock); if (is->is_tqehead[0] != NULL) { Modified: user/ngie/more-tests2/sys/mips/atheros/if_arge.c ============================================================================== --- user/ngie/more-tests2/sys/mips/atheros/if_arge.c Sun Oct 18 04:50:51 2015 (r289482) +++ user/ngie/more-tests2/sys/mips/atheros/if_arge.c Sun Oct 18 04:50:53 2015 (r289483) @@ -298,6 +298,29 @@ arge_attach_sysctl(device_t dev) "tx_pkts_unaligned", CTLFLAG_RW, &sc->stats.tx_pkts_unaligned, 0, "number of TX unaligned packets"); + SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, + "tx_pkts_unaligned_start", CTLFLAG_RW, &sc->stats.tx_pkts_unaligned_start, + 0, "number of TX unaligned packets (start)"); + + SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, + "tx_pkts_unaligned_len", CTLFLAG_RW, &sc->stats.tx_pkts_unaligned_len, + 0, "number of TX unaligned packets (len)"); + + SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, + "tx_pkts_nosegs", CTLFLAG_RW, &sc->stats.tx_pkts_nosegs, + 0, "number of TX packets fail with no ring slots avail"); + + SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, + "intr_stray_filter", CTLFLAG_RW, &sc->stats.intr_stray, + 0, "number of stray interrupts (filter)"); + + SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, + "intr_stray_intr", CTLFLAG_RW, &sc->stats.intr_stray2, + 0, "number of stray interrupts (intr)"); + + SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, + "intr_ok", CTLFLAG_RW, &sc->stats.intr_ok, + 0, "number of OK interrupts"); #ifdef ARGE_DEBUG SYSCTL_ADD_UINT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "tx_prod", CTLFLAG_RW, &sc->arge_cdata.arge_tx_prod, 0, ""); @@ -627,6 +650,22 @@ arge_attach(device_t dev) } /* + * Hardware workarounds. + */ + switch (ar71xx_soc) { + case AR71XX_SOC_QCA9556: + case AR71XX_SOC_QCA9558: + /* Arbitrary alignment */ + sc->arge_hw_flags |= ARGE_HW_FLG_TX_DESC_ALIGN_1BYTE; + sc->arge_hw_flags |= ARGE_HW_FLG_RX_DESC_ALIGN_1BYTE; + break; + default: + sc->arge_hw_flags |= ARGE_HW_FLG_TX_DESC_ALIGN_4BYTE; + sc->arge_hw_flags |= ARGE_HW_FLG_RX_DESC_ALIGN_4BYTE; + break; + } + + /* * Some units (eg the TP-Link WR-1043ND) do not have a convenient * EEPROM location to read the ethernet MAC address from. * OpenWRT simply snaffles it from a fixed location. @@ -825,6 +864,9 @@ arge_attach(device_t dev) ARGE_WRITE(sc, AR71XX_MAC_FIFO_CFG0, FIFO_CFG0_ALL << FIFO_CFG0_ENABLE_SHIFT); + /* + * SoC specific bits. + */ switch (ar71xx_soc) { case AR71XX_SOC_AR7240: case AR71XX_SOC_AR7241: @@ -1351,24 +1393,35 @@ arge_init_locked(struct arge_softc *sc) * Return whether the mbuf chain is correctly aligned * for the arge TX engine. * - * The TX engine requires each fragment to be aligned to a - * 4 byte boundary and the size of each fragment except - * the last to be a multiple of 4 bytes. + * All the MACs have a length requirement: any non-final + * fragment (ie, descriptor with MORE bit set) needs to have + * a length divisible by 4. * - * XXX TODO: I believe this is only a bug on the AR71xx and - * AR913x MACs. The later MACs (AR724x and later) does not - * need this workaround. + * The AR71xx, AR913x require the start address also be + * DWORD aligned. The later MACs don't. */ static int -arge_mbuf_chain_is_tx_aligned(struct mbuf *m0) +arge_mbuf_chain_is_tx_aligned(struct arge_softc *sc, struct mbuf *m0) { struct mbuf *m; for (m = m0; m != NULL; m = m->m_next) { - if((mtod(m, intptr_t) & 3) != 0) + /* + * Only do this for chips that require it. + */ + if ((sc->arge_hw_flags & ARGE_HW_FLG_TX_DESC_ALIGN_4BYTE) && + (mtod(m, intptr_t) & 3) != 0) { + sc->stats.tx_pkts_unaligned_start++; return 0; - if ((m->m_next != NULL) && ((m->m_len & 0x03) != 0)) + } + + /* + * All chips have this requirement for length. + */ + if ((m->m_next != NULL) && ((m->m_len & 0x03) != 0)) { + sc->stats.tx_pkts_unaligned_len++; return 0; + } } return 1; } @@ -1389,15 +1442,10 @@ arge_encap(struct arge_softc *sc, struct ARGE_LOCK_ASSERT(sc); /* - * Fix mbuf chain, all fragments should be 4 bytes aligned and - * even 4 bytes - * - * XXX TODO: I believe this is only a bug on the AR71xx and - * AR913x MACs. The later MACs (AR724x and later) does not - * need this workaround. + * Fix mbuf chain based on hardware alignment constraints. */ m = *m_head; - if (! arge_mbuf_chain_is_tx_aligned(m)) { + if (! arge_mbuf_chain_is_tx_aligned(sc, m)) { sc->stats.tx_pkts_unaligned++; m = m_defrag(*m_head, M_NOWAIT); if (m == NULL) { @@ -1427,6 +1475,7 @@ arge_encap(struct arge_softc *sc, struct /* Check number of available descriptors. */ if (sc->arge_cdata.arge_tx_cnt + nsegs >= (ARGE_TX_RING_COUNT - 1)) { bus_dmamap_unload(sc->arge_cdata.arge_tx_tag, txd->tx_dmamap); + sc->stats.tx_pkts_nosegs++; return (ENOBUFS); } @@ -1444,7 +1493,9 @@ arge_encap(struct arge_softc *sc, struct desc = &sc->arge_rdata.arge_tx_ring[prod]; desc->packet_ctrl = ARGE_DMASIZE(txsegs[i].ds_len); - if (txsegs[i].ds_addr & 3) + /* XXX Note: only relevant for older MACs; but check length! */ + if ((sc->arge_hw_flags & ARGE_HW_FLG_TX_DESC_ALIGN_4BYTE) && + (txsegs[i].ds_addr & 3)) panic("TX packet address unaligned\n"); desc->packet_addr = txsegs[i].ds_addr; @@ -1715,6 +1766,16 @@ arge_dma_alloc(struct arge_softc *sc) struct arge_txdesc *txd; struct arge_rxdesc *rxd; int error, i; + int arge_tx_align, arge_rx_align; + + /* Assume 4 byte alignment by default */ + arge_tx_align = 4; + arge_rx_align = 4; + + if (sc->arge_hw_flags & ARGE_HW_FLG_TX_DESC_ALIGN_1BYTE) + arge_tx_align = 1; + if (sc->arge_hw_flags & ARGE_HW_FLG_RX_DESC_ALIGN_1BYTE) + arge_rx_align = 1; /* Create parent DMA tag. */ error = bus_dma_tag_create( @@ -1775,7 +1836,7 @@ arge_dma_alloc(struct arge_softc *sc) /* Create tag for Tx buffers. */ error = bus_dma_tag_create( sc->arge_cdata.arge_parent_tag, /* parent */ - sizeof(uint32_t), 0, /* alignment, boundary */ + arge_tx_align, 0, /* alignment, boundary */ BUS_SPACE_MAXADDR, /* lowaddr */ BUS_SPACE_MAXADDR, /* highaddr */ NULL, NULL, /* filter, filterarg */ @@ -1793,7 +1854,7 @@ arge_dma_alloc(struct arge_softc *sc) /* Create tag for Rx buffers. */ error = bus_dma_tag_create( sc->arge_cdata.arge_parent_tag, /* parent */ - ARGE_RX_ALIGN, 0, /* alignment, boundary */ + arge_rx_align, 0, /* alignment, boundary */ BUS_SPACE_MAXADDR, /* lowaddr */ BUS_SPACE_MAXADDR, /* highaddr */ NULL, NULL, /* filter, filterarg */ @@ -2108,6 +2169,11 @@ arge_newbuf(struct arge_softc *sc, int i if (m == NULL) return (ENOBUFS); m->m_len = m->m_pkthdr.len = MCLBYTES; + + /* + * Add extra space to "adjust" (copy) the packet back to be aligned + * for purposes of IPv4/IPv6 header contents. + */ m_adj(m, sizeof(uint64_t)); if (bus_dmamap_load_mbuf_sg(sc->arge_cdata.arge_rx_tag, @@ -2126,7 +2192,8 @@ arge_newbuf(struct arge_softc *sc, int i sc->arge_cdata.arge_rx_sparemap = map; rxd->rx_m = m; desc = rxd->desc; - if (segs[0].ds_addr & 3) + if ((sc->arge_hw_flags & ARGE_HW_FLG_RX_DESC_ALIGN_4BYTE) && + segs[0].ds_addr & 3) panic("RX packet address unaligned"); desc->packet_addr = segs[0].ds_addr; desc->packet_ctrl = ARGE_DESC_EMPTY | ARGE_DMASIZE(segs[0].ds_len); @@ -2331,10 +2398,12 @@ arge_intr_filter(void *arg) if (status & DMA_INTR_ALL) { sc->arge_intr_status |= status; ARGE_WRITE(sc, AR71XX_DMA_INTR, 0); + sc->stats.intr_ok++; return (FILTER_SCHEDULE_THREAD); } sc->arge_intr_status = 0; + sc->stats.intr_stray++; return (FILTER_STRAY); } @@ -2355,8 +2424,10 @@ arge_intr(void *arg) /* * Is it our interrupt at all? */ - if (status == 0) + if (status == 0) { + sc->stats.intr_stray2++; return; + } if (status & DMA_INTR_RX_BUS_ERROR) { ARGE_WRITE(sc, AR71XX_DMA_RX_STATUS, DMA_RX_STATUS_BUS_ERROR); Modified: user/ngie/more-tests2/sys/mips/atheros/if_argevar.h ============================================================================== --- user/ngie/more-tests2/sys/mips/atheros/if_argevar.h Sun Oct 18 04:50:51 2015 (r289482) +++ user/ngie/more-tests2/sys/mips/atheros/if_argevar.h Sun Oct 18 04:50:53 2015 (r289483) @@ -37,7 +37,10 @@ #define ARGE_TX_DMA_SIZE ARGE_TX_RING_COUNT * sizeof(struct arge_desc) #define ARGE_MAXFRAGS 8 #define ARGE_RING_ALIGN sizeof(struct arge_desc) -#define ARGE_RX_ALIGN sizeof(uint32_t) +#define ARGE_RX_ALIGN_4BYTE sizeof(uint32_t) +#define ARGE_RX_ALIGN_1BYTE sizeof(char) +#define ARGE_TX_ALIGN_4BYTE sizeof(uint32_t) +#define ARGE_TX_ALIGN_1BYTE sizeof(char) #define ARGE_MAXFRAGS 8 #define ARGE_TX_RING_ADDR(sc, i) \ ((sc)->arge_rdata.arge_tx_ring_paddr + sizeof(struct arge_desc) * (i)) @@ -149,6 +152,22 @@ struct arge_pll_data { uint32_t pll_1000; }; +/* + * Hardware specific behaviours. + */ + +/* + * Older chips support 4 byte only transmit and receive + * addresses. + * + * Later chips support arbitrary TX and later later, + * arbitrary RX addresses. + */ +#define ARGE_HW_FLG_TX_DESC_ALIGN_4BYTE 0x00000001 +#define ARGE_HW_FLG_RX_DESC_ALIGN_4BYTE 0x00000002 +#define ARGE_HW_FLG_TX_DESC_ALIGN_1BYTE 0x00000004 +#define ARGE_HW_FLG_RX_DESC_ALIGN_1BYTE 0x00000008 + struct arge_softc { struct ifnet *arge_ifp; /* interface info */ device_t arge_dev; @@ -180,13 +199,20 @@ struct arge_softc { uint32_t arge_intr_status; int arge_mac_unit; int arge_if_flags; + uint32_t arge_hw_flags; uint32_t arge_debug; uint32_t arge_mdiofreq; struct { uint32_t tx_pkts_unaligned; + uint32_t tx_pkts_unaligned_start; + uint32_t tx_pkts_unaligned_len; + uint32_t tx_pkts_nosegs; uint32_t tx_pkts_aligned; uint32_t rx_overflow; uint32_t tx_underflow; + uint32_t intr_stray; + uint32_t intr_stray2; + uint32_t intr_ok; } stats; }; From owner-svn-src-user@freebsd.org Sun Oct 18 05:25:52 2015 Return-Path: Delivered-To: svn-src-user@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 DECDAA183C0 for ; Sun, 18 Oct 2015 05:25:52 +0000 (UTC) (envelope-from ngie@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 A019EB53; Sun, 18 Oct 2015 05:25:52 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9I5Pp5p032111; Sun, 18 Oct 2015 05:25:51 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9I5Ppbs032110; Sun, 18 Oct 2015 05:25:51 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201510180525.t9I5Ppbs032110@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 18 Oct 2015 05:25:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r289484 - user/ngie/more-tests2/contrib/netbsd-tests/bin/dd X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Oct 2015 05:25:53 -0000 Author: ngie Date: Sun Oct 18 05:25:51 2015 New Revision: 289484 URL: https://svnweb.freebsd.org/changeset/base/289484 Log: Ensure fdescfs is mounted on /dev/fd/ in the length testcase Modified: user/ngie/more-tests2/contrib/netbsd-tests/bin/dd/t_dd.sh Modified: user/ngie/more-tests2/contrib/netbsd-tests/bin/dd/t_dd.sh ============================================================================== --- user/ngie/more-tests2/contrib/netbsd-tests/bin/dd/t_dd.sh Sun Oct 18 04:50:53 2015 (r289483) +++ user/ngie/more-tests2/contrib/netbsd-tests/bin/dd/t_dd.sh Sun Oct 18 05:25:51 2015 (r289484) @@ -44,6 +44,12 @@ length_head() { "the one expected to fail. (NetBSD PR bin/8521)" } length_body() { + # Begin FreeBSD + if ! df /dev/fd | grep -q '^fdescfs'; then + atf_skip "fdescfs is not mounted on /dev/fd" + fi + # End FreeBSD + test_dd_length 512 \ "dd if=/dev/zero of=/dev/fd/5 count=1 5>&1 >/dev/null 2>/dev/null" test_dd_length 512 \ From owner-svn-src-user@freebsd.org Sun Oct 18 05:29:50 2015 Return-Path: Delivered-To: svn-src-user@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 93369A18440 for ; Sun, 18 Oct 2015 05:29:50 +0000 (UTC) (envelope-from ngie@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 5D713D3B; Sun, 18 Oct 2015 05:29:50 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9I5TncM032273; Sun, 18 Oct 2015 05:29:49 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9I5Tn6C032270; Sun, 18 Oct 2015 05:29:49 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201510180529.t9I5Tn6C032270@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 18 Oct 2015 05:29:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r289485 - in user/ngie/more-tests2: bin/dd bin/dd/tests etc/mtree X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Oct 2015 05:29:50 -0000 Author: ngie Date: Sun Oct 18 05:29:49 2015 New Revision: 289485 URL: https://svnweb.freebsd.org/changeset/base/289485 Log: Integrate contrib/netbsd-tests/bin/dd into the FreeBSD test suite as bin/dd/tests Added: user/ngie/more-tests2/bin/dd/tests/ user/ngie/more-tests2/bin/dd/tests/Makefile (contents, props changed) Modified: user/ngie/more-tests2/bin/dd/Makefile user/ngie/more-tests2/etc/mtree/BSD.tests.dist Modified: user/ngie/more-tests2/bin/dd/Makefile ============================================================================== --- user/ngie/more-tests2/bin/dd/Makefile Sun Oct 18 05:25:51 2015 (r289484) +++ user/ngie/more-tests2/bin/dd/Makefile Sun Oct 18 05:29:49 2015 (r289485) @@ -1,6 +1,8 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 # $FreeBSD$ +.include + PROG= dd SRCS= args.c conv.c conv_tab.c dd.c misc.c position.c @@ -24,4 +26,8 @@ test: ${PROG} gen .endfor @rm -f gen +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include Added: user/ngie/more-tests2/bin/dd/tests/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/ngie/more-tests2/bin/dd/tests/Makefile Sun Oct 18 05:29:49 2015 (r289485) @@ -0,0 +1,7 @@ +# $FreeBSD$ + +NETBSD_ATF_TESTS_SH= dd + +.include + +.include Modified: user/ngie/more-tests2/etc/mtree/BSD.tests.dist ============================================================================== --- user/ngie/more-tests2/etc/mtree/BSD.tests.dist Sun Oct 18 05:25:51 2015 (r289484) +++ user/ngie/more-tests2/etc/mtree/BSD.tests.dist Sun Oct 18 05:29:49 2015 (r289485) @@ -12,6 +12,8 @@ .. date .. + dd + .. expr .. ls From owner-svn-src-user@freebsd.org Sun Oct 18 05:36:06 2015 Return-Path: Delivered-To: svn-src-user@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 F2E68A1859A for ; Sun, 18 Oct 2015 05:36:06 +0000 (UTC) (envelope-from ngie@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 B93CB10AC; Sun, 18 Oct 2015 05:36:06 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9I5a5LM035074; Sun, 18 Oct 2015 05:36:05 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9I5a5qp035073; Sun, 18 Oct 2015 05:36:05 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201510180536.t9I5a5qp035073@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 18 Oct 2015 05:36:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r289486 - user/ngie/more-tests2/bin/dd/tests X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Oct 2015 05:36:07 -0000 Author: ngie Date: Sun Oct 18 05:36:05 2015 New Revision: 289486 URL: https://svnweb.freebsd.org/changeset/base/289486 Log: Install the test script as dd_test, not dd Modified: user/ngie/more-tests2/bin/dd/tests/Makefile Modified: user/ngie/more-tests2/bin/dd/tests/Makefile ============================================================================== --- user/ngie/more-tests2/bin/dd/tests/Makefile Sun Oct 18 05:29:49 2015 (r289485) +++ user/ngie/more-tests2/bin/dd/tests/Makefile Sun Oct 18 05:36:05 2015 (r289486) @@ -1,6 +1,6 @@ # $FreeBSD$ -NETBSD_ATF_TESTS_SH= dd +NETBSD_ATF_TESTS_SH= dd_test .include From owner-svn-src-user@freebsd.org Sun Oct 18 07:33:45 2015 Return-Path: Delivered-To: svn-src-user@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 6B2FDA185D5 for ; Sun, 18 Oct 2015 07:33:45 +0000 (UTC) (envelope-from ngie@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 1E5131E6; Sun, 18 Oct 2015 07:33:45 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9I7XiHV069743; Sun, 18 Oct 2015 07:33:44 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9I7Xi9D069742; Sun, 18 Oct 2015 07:33:44 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201510180733.t9I7Xi9D069742@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sun, 18 Oct 2015 07:33:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r289491 - user/ngie/bug203673 X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Oct 2015 07:33:45 -0000 Author: ngie Date: Sun Oct 18 07:33:44 2015 New Revision: 289491 URL: https://svnweb.freebsd.org/changeset/base/289491 Log: Remove bug branch Deleted: user/ngie/bug203673/ From owner-svn-src-user@freebsd.org Sun Oct 18 09:02:19 2015 Return-Path: Delivered-To: svn-src-user@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 34147A18994 for ; Sun, 18 Oct 2015 09:02:19 +0000 (UTC) (envelope-from alc@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 010B5E7E; Sun, 18 Oct 2015 09:02:18 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9I92Iqx095398; Sun, 18 Oct 2015 09:02:18 GMT (envelope-from alc@FreeBSD.org) Received: (from alc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9I92INQ095397; Sun, 18 Oct 2015 09:02:18 GMT (envelope-from alc@FreeBSD.org) Message-Id: <201510180902.t9I92INQ095397@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alc set sender to alc@FreeBSD.org using -f From: Alan Cox Date: Sun, 18 Oct 2015 09:02:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r289495 - user/alc/PQ_LAUNDRY/sys/vm X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Oct 2015 09:02:19 -0000 Author: alc Date: Sun Oct 18 09:02:17 2015 New Revision: 289495 URL: https://svnweb.freebsd.org/changeset/base/289495 Log: Deal with an XXX comment: A dirty but weakly referenced page should remain in the laundry queue, not move to the inactive queue. Update a comment. Modified: user/alc/PQ_LAUNDRY/sys/vm/vm_pageout.c Modified: user/alc/PQ_LAUNDRY/sys/vm/vm_pageout.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/vm/vm_pageout.c Sun Oct 18 08:13:51 2015 (r289494) +++ user/alc/PQ_LAUNDRY/sys/vm/vm_pageout.c Sun Oct 18 09:02:17 2015 (r289495) @@ -1113,10 +1113,8 @@ vm_pageout_launder1(struct vm_domain *vm */ m->act_count += act_delta + ACT_ADVANCE; goto drop_page; - } else if ((object->flags & OBJ_DEAD) == 0) { - vm_page_deactivate(m); // XXX - goto drop_page; - } + } else if ((object->flags & OBJ_DEAD) == 0) + goto requeue_page; } /* @@ -1134,11 +1132,10 @@ vm_pageout_launder1(struct vm_domain *vm } /* - * Clean pages can be freed, but dirty pages must be sent back - * to the laundry, unless they belong to a dead object. - * Requeueing dirty pages from dead objects is pointless, as - * they are being paged out and freed by the thread that - * destroyed the object. + * Clean pages are freed, and dirty pages are paged out unless + * they belong to a dead object. Requeueing dirty pages from + * dead objects is pointless, as they are being paged out and + * freed by the thread that destroyed the object. */ if (m->dirty == 0) { free_page: @@ -1153,6 +1150,7 @@ free_page: else pageout_ok = TRUE; if (!pageout_ok) { +requeue_page: vm_pagequeue_lock(pq); queues_locked = TRUE; vm_page_requeue_locked(m); From owner-svn-src-user@freebsd.org Mon Oct 19 04:33:20 2015 Return-Path: Delivered-To: svn-src-user@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 10A34A1511E for ; Mon, 19 Oct 2015 04:33:20 +0000 (UTC) (envelope-from alc@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 CFB69CEF; Mon, 19 Oct 2015 04:33:19 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9J4XImY038355; Mon, 19 Oct 2015 04:33:18 GMT (envelope-from alc@FreeBSD.org) Received: (from alc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9J4XIDJ038354; Mon, 19 Oct 2015 04:33:18 GMT (envelope-from alc@FreeBSD.org) Message-Id: <201510190433.t9J4XIDJ038354@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alc set sender to alc@FreeBSD.org using -f From: Alan Cox Date: Mon, 19 Oct 2015 04:33:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r289558 - user/alc/PQ_LAUNDRY/sys/vm X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Oct 2015 04:33:20 -0000 Author: alc Date: Mon Oct 19 04:33:18 2015 New Revision: 289558 URL: https://svnweb.freebsd.org/changeset/base/289558 Log: Allow laundering to proceed at a trickle even when the machine is not desperately short of memory. Modified: user/alc/PQ_LAUNDRY/sys/vm/vm_pageout.c Modified: user/alc/PQ_LAUNDRY/sys/vm/vm_pageout.c ============================================================================== --- user/alc/PQ_LAUNDRY/sys/vm/vm_pageout.c Mon Oct 19 01:21:29 2015 (r289557) +++ user/alc/PQ_LAUNDRY/sys/vm/vm_pageout.c Mon Oct 19 04:33:18 2015 (r289558) @@ -1028,7 +1028,7 @@ vm_pageout_launder1(struct vm_domain *vm launder = vm_cnt.v_inactive_target - vm_cnt.v_inactive_count + vm_paging_target() + vm_pageout_deficit; if (launder < 0) - return; + launder = 5; launder /= 5; vnodes_skipped = 0; From owner-svn-src-user@freebsd.org Mon Oct 19 04:39:31 2015 Return-Path: Delivered-To: svn-src-user@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 D9280A151C6 for ; Mon, 19 Oct 2015 04:39:30 +0000 (UTC) (envelope-from alc@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 692BEE6D; Mon, 19 Oct 2015 04:39:30 +0000 (UTC) (envelope-from alc@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9J4dTHd038615; Mon, 19 Oct 2015 04:39:29 GMT (envelope-from alc@FreeBSD.org) Received: (from alc@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9J4dSZr038602; Mon, 19 Oct 2015 04:39:28 GMT (envelope-from alc@FreeBSD.org) Message-Id: <201510190439.t9J4dSZr038602@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alc set sender to alc@FreeBSD.org using -f From: Alan Cox Date: Mon, 19 Oct 2015 04:39:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r289559 - in user/alc/PQ_LAUNDRY: . bin/dd bin/dd/tests bin/ps bin/test/tests cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/cmd/zpool cddl/contrib/opensolaris/lib/libzfs/com... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Oct 2015 04:39:31 -0000 Author: alc Date: Mon Oct 19 04:39:27 2015 New Revision: 289559 URL: https://svnweb.freebsd.org/changeset/base/289559 Log: MFH r289558 Added: user/alc/PQ_LAUNDRY/bin/dd/tests/ - copied from r289558, head/bin/dd/tests/ user/alc/PQ_LAUNDRY/contrib/llvm/patches/patch-09-clang-r250657-openmp.diff - copied unchanged from r289558, head/contrib/llvm/patches/patch-09-clang-r250657-openmp.diff user/alc/PQ_LAUNDRY/contrib/wpa/patches/openssl-0.9.8zf-tls-extensions.patch - copied unchanged from r289558, head/contrib/wpa/patches/openssl-0.9.8zf-tls-extensions.patch user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/sha384-prf.c - copied unchanged from r289558, head/contrib/wpa/src/crypto/sha384-prf.c user/alc/PQ_LAUNDRY/contrib/wpa/src/fst/ - copied from r289558, head/contrib/wpa/src/fst/ user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/eapol_test.py - copied unchanged from r289558, head/contrib/wpa/wpa_supplicant/eapol_test.py user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/p2p_supplicant_sd.c - copied unchanged from r289558, head/contrib/wpa/wpa_supplicant/p2p_supplicant_sd.c user/alc/PQ_LAUNDRY/etc/ntp/ - copied from r289558, head/etc/ntp/ user/alc/PQ_LAUNDRY/share/man/man9/bitset.9 - copied unchanged from r289558, head/share/man/man9/bitset.9 user/alc/PQ_LAUNDRY/sys/arm/arm/intrng.c - copied unchanged from r289558, head/sys/arm/arm/intrng.c user/alc/PQ_LAUNDRY/sys/arm/arm/pic_if.m - copied unchanged from r289558, head/sys/arm/arm/pic_if.m user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/edonr_zfs.c - copied unchanged from r289558, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/edonr_zfs.c user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/skein_zfs.c - copied unchanged from r289558, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/skein_zfs.c user/alc/PQ_LAUNDRY/sys/dev/vnic/ - copied from r289558, head/sys/dev/vnic/ user/alc/PQ_LAUNDRY/tests/sys/acl/ - copied from r289558, head/tests/sys/acl/ user/alc/PQ_LAUNDRY/tests/sys/posixshm/ - copied from r289558, head/tests/sys/posixshm/ Deleted: user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/crypto_cryptoapi.c user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/tls_schannel.c user/alc/PQ_LAUNDRY/tools/regression/acltools/ user/alc/PQ_LAUNDRY/tools/regression/posixshm/ user/alc/PQ_LAUNDRY/tools/test/posixshm/ Modified: user/alc/PQ_LAUNDRY/Makefile user/alc/PQ_LAUNDRY/Makefile.inc1 user/alc/PQ_LAUNDRY/UPDATING user/alc/PQ_LAUNDRY/bin/dd/Makefile user/alc/PQ_LAUNDRY/bin/ps/Makefile user/alc/PQ_LAUNDRY/bin/test/tests/legacy_test.sh user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zfs/zfs.8 user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c user/alc/PQ_LAUNDRY/contrib/llvm/tools/clang/lib/Driver/Tools.cpp user/alc/PQ_LAUNDRY/contrib/netbsd-tests/bin/dd/t_dd.sh user/alc/PQ_LAUNDRY/contrib/wpa/hostapd/ChangeLog user/alc/PQ_LAUNDRY/contrib/wpa/hostapd/config_file.c user/alc/PQ_LAUNDRY/contrib/wpa/hostapd/config_file.h user/alc/PQ_LAUNDRY/contrib/wpa/hostapd/ctrl_iface.c user/alc/PQ_LAUNDRY/contrib/wpa/hostapd/defconfig user/alc/PQ_LAUNDRY/contrib/wpa/hostapd/hlr_auc_gw.c user/alc/PQ_LAUNDRY/contrib/wpa/hostapd/hlr_auc_gw.milenage_db user/alc/PQ_LAUNDRY/contrib/wpa/hostapd/hostapd.conf user/alc/PQ_LAUNDRY/contrib/wpa/hostapd/hostapd_cli.c user/alc/PQ_LAUNDRY/contrib/wpa/hostapd/main.c user/alc/PQ_LAUNDRY/contrib/wpa/hs20/client/Makefile user/alc/PQ_LAUNDRY/contrib/wpa/hs20/client/osu_client.c user/alc/PQ_LAUNDRY/contrib/wpa/hs20/client/spp_client.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/accounting.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/acs.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ap_config.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ap_config.h user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ap_drv_ops.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ap_drv_ops.h user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ap_list.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ap_list.h user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/authsrv.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/beacon.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/beacon.h user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ctrl_iface_ap.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/dfs.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/drv_callbacks.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/eap_user_db.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/hostapd.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/hostapd.h user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/hw_features.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/hw_features.h user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ieee802_11.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ieee802_11.h user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ieee802_11_auth.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ieee802_11_auth.h user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ieee802_11_ht.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ieee802_11_vht.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ieee802_1x.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ieee802_1x.h user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/ndisc_snoop.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/sta_info.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/sta_info.h user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/utils.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/vlan_init.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/vlan_init.h user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/vlan_util.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/wmm.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/wpa_auth.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/wpa_auth.h user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/wpa_auth_ft.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/wpa_auth_glue.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/wpa_auth_i.h user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/wpa_auth_ie.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/wps_hostapd.c user/alc/PQ_LAUNDRY/contrib/wpa/src/ap/x_snoop.c user/alc/PQ_LAUNDRY/contrib/wpa/src/common/common_module_tests.c user/alc/PQ_LAUNDRY/contrib/wpa/src/common/defs.h user/alc/PQ_LAUNDRY/contrib/wpa/src/common/hw_features_common.c user/alc/PQ_LAUNDRY/contrib/wpa/src/common/hw_features_common.h user/alc/PQ_LAUNDRY/contrib/wpa/src/common/ieee802_11_common.c user/alc/PQ_LAUNDRY/contrib/wpa/src/common/ieee802_11_common.h user/alc/PQ_LAUNDRY/contrib/wpa/src/common/ieee802_11_defs.h user/alc/PQ_LAUNDRY/contrib/wpa/src/common/privsep_commands.h user/alc/PQ_LAUNDRY/contrib/wpa/src/common/qca-vendor.h user/alc/PQ_LAUNDRY/contrib/wpa/src/common/sae.c user/alc/PQ_LAUNDRY/contrib/wpa/src/common/sae.h user/alc/PQ_LAUNDRY/contrib/wpa/src/common/version.h user/alc/PQ_LAUNDRY/contrib/wpa/src/common/wpa_common.c user/alc/PQ_LAUNDRY/contrib/wpa/src/common/wpa_common.h user/alc/PQ_LAUNDRY/contrib/wpa/src/common/wpa_ctrl.c user/alc/PQ_LAUNDRY/contrib/wpa/src/common/wpa_ctrl.h user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/crypto.h user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/crypto_module_tests.c user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/crypto_openssl.c user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/dh_groups.c user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/fips_prf_openssl.c user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/ms_funcs.c user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/ms_funcs.h user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/random.c user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/sha1-tlsprf.c user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/sha1-tprf.c user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/sha256-kdf.c user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/sha384.h user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/tls.h user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/tls_gnutls.c user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/tls_internal.c user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/tls_none.c user/alc/PQ_LAUNDRY/contrib/wpa/src/crypto/tls_openssl.c user/alc/PQ_LAUNDRY/contrib/wpa/src/drivers/driver.h user/alc/PQ_LAUNDRY/contrib/wpa/src/drivers/driver_bsd.c user/alc/PQ_LAUNDRY/contrib/wpa/src/drivers/driver_ndis.c user/alc/PQ_LAUNDRY/contrib/wpa/src/drivers/driver_nl80211.h user/alc/PQ_LAUNDRY/contrib/wpa/src/drivers/driver_nl80211_android.c user/alc/PQ_LAUNDRY/contrib/wpa/src/drivers/driver_nl80211_capa.c user/alc/PQ_LAUNDRY/contrib/wpa/src/drivers/driver_nl80211_event.c user/alc/PQ_LAUNDRY/contrib/wpa/src/drivers/driver_nl80211_scan.c user/alc/PQ_LAUNDRY/contrib/wpa/src/drivers/driver_privsep.c user/alc/PQ_LAUNDRY/contrib/wpa/src/drivers/drivers.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_common/eap_common.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_common/eap_fast_common.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_common/eap_pwd_common.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_common/eap_pwd_common.h user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_common/eap_sake_common.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_common/ikev2_common.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap.h user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_aka.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_eke.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_fast.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_gpsk.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_i.h user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_mschapv2.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_pax.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_peap.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_pwd.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_sake.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_sim.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_tls.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_tls_common.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_tls_common.h user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_ttls.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_peer/eap_wsc.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap.h user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap_i.h user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap_server.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap_server_eke.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap_server_fast.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap_server_mschapv2.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap_server_peap.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap_server_pwd.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap_server_tls.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap_server_tls_common.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap_server_ttls.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eap_server/eap_tls_common.h user/alc/PQ_LAUNDRY/contrib/wpa/src/eapol_auth/eapol_auth_sm.c user/alc/PQ_LAUNDRY/contrib/wpa/src/eapol_auth/eapol_auth_sm.h user/alc/PQ_LAUNDRY/contrib/wpa/src/eapol_supp/eapol_supp_sm.c user/alc/PQ_LAUNDRY/contrib/wpa/src/p2p/p2p.c user/alc/PQ_LAUNDRY/contrib/wpa/src/p2p/p2p.h user/alc/PQ_LAUNDRY/contrib/wpa/src/p2p/p2p_build.c user/alc/PQ_LAUNDRY/contrib/wpa/src/p2p/p2p_dev_disc.c user/alc/PQ_LAUNDRY/contrib/wpa/src/p2p/p2p_go_neg.c user/alc/PQ_LAUNDRY/contrib/wpa/src/p2p/p2p_group.c user/alc/PQ_LAUNDRY/contrib/wpa/src/p2p/p2p_i.h user/alc/PQ_LAUNDRY/contrib/wpa/src/p2p/p2p_invitation.c user/alc/PQ_LAUNDRY/contrib/wpa/src/p2p/p2p_parse.c user/alc/PQ_LAUNDRY/contrib/wpa/src/p2p/p2p_pd.c user/alc/PQ_LAUNDRY/contrib/wpa/src/p2p/p2p_utils.c user/alc/PQ_LAUNDRY/contrib/wpa/src/radius/radius.c user/alc/PQ_LAUNDRY/contrib/wpa/src/radius/radius_das.c user/alc/PQ_LAUNDRY/contrib/wpa/src/radius/radius_server.c user/alc/PQ_LAUNDRY/contrib/wpa/src/radius/radius_server.h user/alc/PQ_LAUNDRY/contrib/wpa/src/rsn_supp/tdls.c user/alc/PQ_LAUNDRY/contrib/wpa/src/rsn_supp/wpa.c user/alc/PQ_LAUNDRY/contrib/wpa/src/rsn_supp/wpa_ft.c user/alc/PQ_LAUNDRY/contrib/wpa/src/rsn_supp/wpa_ie.c user/alc/PQ_LAUNDRY/contrib/wpa/src/rsn_supp/wpa_ie.h user/alc/PQ_LAUNDRY/contrib/wpa/src/tls/libtommath.c user/alc/PQ_LAUNDRY/contrib/wpa/src/tls/tlsv1_client.c user/alc/PQ_LAUNDRY/contrib/wpa/src/tls/tlsv1_client.h user/alc/PQ_LAUNDRY/contrib/wpa/src/tls/tlsv1_server.c user/alc/PQ_LAUNDRY/contrib/wpa/src/tls/tlsv1_server.h user/alc/PQ_LAUNDRY/contrib/wpa/src/tls/x509v3.c user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/browser-wpadebug.c user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/common.c user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/common.h user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/eloop.c user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/http_curl.c user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/includes.h user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/os.h user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/os_internal.c user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/os_none.c user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/os_unix.c user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/os_win32.c user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/radiotap.c user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/utils_module_tests.c user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/wpa_debug.c user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/wpa_debug.h user/alc/PQ_LAUNDRY/contrib/wpa/src/utils/wpabuf.c user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/http_client.c user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/http_server.c user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/httpread.c user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/ndef.c user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps.c user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps.h user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_attr_parse.c user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_attr_parse.h user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_common.c user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_defs.h user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_enrollee.c user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_er.c user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_er_ssdp.c user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_module_tests.c user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_registrar.c user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_upnp.c user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_upnp_ap.c user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_upnp_event.c user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_upnp_ssdp.c user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_upnp_web.c user/alc/PQ_LAUNDRY/contrib/wpa/src/wps/wps_validate.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/ChangeLog user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/ap.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/ap.h user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/bss.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/bss.h user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/config.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/config.h user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/config_file.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/config_ssid.h user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/ctrl_iface.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/ctrl_iface_named_pipe.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/ctrl_iface_udp.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/ctrl_iface_unix.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/dbus/dbus_new.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/dbus/dbus_new.h user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/dbus/dbus_new_handlers.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/dbus/dbus_new_handlers.h user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/dbus/dbus_new_handlers_p2p.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/dbus/dbus_new_handlers_p2p.h user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/dbus/dbus_new_handlers_wps.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/dbus/dbus_new_helpers.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/dbus/dbus_new_introspect.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/dbus/dbus_old.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/dbus/dbus_old_handlers.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/defconfig user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/driver_i.h user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/eapol_test.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/events.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/hs20_supplicant.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/ibss_rsn.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/interworking.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/main.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/mesh.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/mesh_mpm.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/mesh_rsn.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/notify.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/notify.h user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/p2p_supplicant.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/p2p_supplicant.h user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/preauth_test.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/scan.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/sme.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/wpa_cli.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/wpa_priv.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/wpa_supplicant.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/wpa_supplicant.conf user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/wpa_supplicant_i.h user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/wpas_glue.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/wpas_glue.h user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/wps_supplicant.c user/alc/PQ_LAUNDRY/contrib/wpa/wpa_supplicant/wps_supplicant.h user/alc/PQ_LAUNDRY/etc/Makefile user/alc/PQ_LAUNDRY/etc/mtree/BSD.tests.dist user/alc/PQ_LAUNDRY/etc/mtree/BSD.var.dist user/alc/PQ_LAUNDRY/etc/ntp.conf user/alc/PQ_LAUNDRY/lib/clang/clang.build.mk user/alc/PQ_LAUNDRY/lib/clang/include/clang/Config/config.h user/alc/PQ_LAUNDRY/lib/clang/include/llvm/Config/config.h user/alc/PQ_LAUNDRY/lib/libc/string/ffs.3 user/alc/PQ_LAUNDRY/lib/libcam/camlib.c user/alc/PQ_LAUNDRY/lib/libfetch/file.c user/alc/PQ_LAUNDRY/lib/libfetch/http.c user/alc/PQ_LAUNDRY/lib/libxo/Makefile user/alc/PQ_LAUNDRY/lib/libxo/tests/Makefile user/alc/PQ_LAUNDRY/lib/libxo/tests/encoder/Makefile user/alc/PQ_LAUNDRY/rescue/rescue/Makefile user/alc/PQ_LAUNDRY/sbin/mount/mount.conf.8 user/alc/PQ_LAUNDRY/sbin/newfs_msdos/mkfs_msdos.c user/alc/PQ_LAUNDRY/sbin/savecore/Makefile user/alc/PQ_LAUNDRY/share/man/man3/bitstring.3 user/alc/PQ_LAUNDRY/share/man/man9/Makefile user/alc/PQ_LAUNDRY/share/mk/bsd.sys.mk user/alc/PQ_LAUNDRY/share/mk/src.libnames.mk user/alc/PQ_LAUNDRY/share/mk/sys.mk user/alc/PQ_LAUNDRY/share/zoneinfo/Makefile user/alc/PQ_LAUNDRY/sys/arm/allwinner/a20/a20_mp.c user/alc/PQ_LAUNDRY/sys/arm/altera/socfpga/socfpga_mp.c user/alc/PQ_LAUNDRY/sys/arm/amlogic/aml8726/aml8726_mp.c user/alc/PQ_LAUNDRY/sys/arm/annapurna/alpine/alpine_machdep_mp.c user/alc/PQ_LAUNDRY/sys/arm/annapurna/alpine/common.c user/alc/PQ_LAUNDRY/sys/arm/arm/gic.c user/alc/PQ_LAUNDRY/sys/arm/arm/mp_machdep.c user/alc/PQ_LAUNDRY/sys/arm/arm/nexus.c user/alc/PQ_LAUNDRY/sys/arm/conf/BEAGLEBONE user/alc/PQ_LAUNDRY/sys/arm/conf/IMX6 user/alc/PQ_LAUNDRY/sys/arm/conf/PANDABOARD user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx6_machdep.c user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx6_mp.c user/alc/PQ_LAUNDRY/sys/arm/freescale/imx/imx_gpio.c user/alc/PQ_LAUNDRY/sys/arm/include/fdt.h user/alc/PQ_LAUNDRY/sys/arm/include/intr.h user/alc/PQ_LAUNDRY/sys/arm/include/smp.h user/alc/PQ_LAUNDRY/sys/arm/mv/std-pj4b.mv user/alc/PQ_LAUNDRY/sys/arm/qemu/virt_common.c user/alc/PQ_LAUNDRY/sys/arm/qemu/virt_mp.c user/alc/PQ_LAUNDRY/sys/arm/rockchip/rk30xx_mp.c user/alc/PQ_LAUNDRY/sys/arm/samsung/exynos/exynos5_mp.c user/alc/PQ_LAUNDRY/sys/arm/ti/omap4/omap4_mp.c user/alc/PQ_LAUNDRY/sys/arm/ti/omap4/std.omap4 user/alc/PQ_LAUNDRY/sys/arm/ti/ti_common.c user/alc/PQ_LAUNDRY/sys/arm/xilinx/zy7_mp.c user/alc/PQ_LAUNDRY/sys/arm64/arm64/copyinout.S user/alc/PQ_LAUNDRY/sys/arm64/arm64/genassym.c user/alc/PQ_LAUNDRY/sys/arm64/arm64/locore.S user/alc/PQ_LAUNDRY/sys/arm64/arm64/machdep.c user/alc/PQ_LAUNDRY/sys/arm64/arm64/support.S user/alc/PQ_LAUNDRY/sys/arm64/conf/GENERIC user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/common/zfs/zfs_fletcher.c user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/common/zfs/zfs_fletcher.h user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.c user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/ddt.c user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sha256.c user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_checksum.h user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_checksum.c user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/uts/common/sys/debug.h user/alc/PQ_LAUNDRY/sys/conf/dtb.mk user/alc/PQ_LAUNDRY/sys/conf/files.arm user/alc/PQ_LAUNDRY/sys/conf/files.arm64 user/alc/PQ_LAUNDRY/sys/conf/kern.post.mk user/alc/PQ_LAUNDRY/sys/conf/kmod.mk user/alc/PQ_LAUNDRY/sys/conf/options.arm user/alc/PQ_LAUNDRY/sys/contrib/ipfilter/netinet/ip_state.c user/alc/PQ_LAUNDRY/sys/dev/drm2/i915/intel_dp.c user/alc/PQ_LAUNDRY/sys/dev/drm2/i915/intel_iic.c user/alc/PQ_LAUNDRY/sys/dev/mpr/mpr.c user/alc/PQ_LAUNDRY/sys/dev/mpr/mprvar.h user/alc/PQ_LAUNDRY/sys/dev/mps/mps.c user/alc/PQ_LAUNDRY/sys/dev/mps/mpsvar.h user/alc/PQ_LAUNDRY/sys/dev/ntb/if_ntb/if_ntb.c user/alc/PQ_LAUNDRY/sys/dev/ntb/ntb_hw/ntb_hw.c user/alc/PQ_LAUNDRY/sys/dev/ntb/ntb_hw/ntb_hw.h user/alc/PQ_LAUNDRY/sys/dev/ntb/ntb_hw/ntb_regs.h user/alc/PQ_LAUNDRY/sys/dev/otus/if_otus.c user/alc/PQ_LAUNDRY/sys/dev/pci/pci.c user/alc/PQ_LAUNDRY/sys/dev/pci/pci_pci.c user/alc/PQ_LAUNDRY/sys/dev/pci/pcib_if.m user/alc/PQ_LAUNDRY/sys/kern/kern_fork.c user/alc/PQ_LAUNDRY/sys/kern/vfs_mountroot.c user/alc/PQ_LAUNDRY/sys/mips/atheros/if_arge.c user/alc/PQ_LAUNDRY/sys/mips/atheros/if_argevar.h user/alc/PQ_LAUNDRY/sys/mips/conf/AR933X_BASE user/alc/PQ_LAUNDRY/sys/mips/conf/TP-MR3020 user/alc/PQ_LAUNDRY/sys/mips/conf/TP-MR3020.hints user/alc/PQ_LAUNDRY/sys/modules/cloudabi64/Makefile user/alc/PQ_LAUNDRY/sys/net/route.c user/alc/PQ_LAUNDRY/sys/net/route.h user/alc/PQ_LAUNDRY/sys/netinet/in.c user/alc/PQ_LAUNDRY/sys/netinet/in_rmx.c user/alc/PQ_LAUNDRY/sys/netinet/in_var.h user/alc/PQ_LAUNDRY/sys/sys/mbuf.h user/alc/PQ_LAUNDRY/sys/sys/param.h user/alc/PQ_LAUNDRY/sys/vm/vm_pageout.c user/alc/PQ_LAUNDRY/sys/x86/x86/busdma_bounce.c user/alc/PQ_LAUNDRY/tests/sys/Makefile user/alc/PQ_LAUNDRY/usr.bin/iscsictl/Makefile user/alc/PQ_LAUNDRY/usr.bin/iscsictl/iscsictl.8 user/alc/PQ_LAUNDRY/usr.bin/iscsictl/iscsictl.c user/alc/PQ_LAUNDRY/usr.bin/ldd/ldd.c user/alc/PQ_LAUNDRY/usr.bin/wc/Makefile user/alc/PQ_LAUNDRY/usr.bin/xo/Makefile user/alc/PQ_LAUNDRY/usr.sbin/wpa/Makefile.crypto user/alc/PQ_LAUNDRY/usr.sbin/wpa/hostapd/Makefile user/alc/PQ_LAUNDRY/usr.sbin/wpa/wpa_supplicant/Makefile Directory Properties: user/alc/PQ_LAUNDRY/ (props changed) user/alc/PQ_LAUNDRY/cddl/ (props changed) user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/ (props changed) user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zfs/ (props changed) user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/ (props changed) user/alc/PQ_LAUNDRY/contrib/llvm/ (props changed) user/alc/PQ_LAUNDRY/contrib/llvm/tools/clang/ (props changed) user/alc/PQ_LAUNDRY/contrib/wpa/ (props changed) user/alc/PQ_LAUNDRY/lib/libc/ (props changed) user/alc/PQ_LAUNDRY/sbin/ (props changed) user/alc/PQ_LAUNDRY/share/ (props changed) user/alc/PQ_LAUNDRY/share/zoneinfo/ (props changed) user/alc/PQ_LAUNDRY/sys/ (props changed) user/alc/PQ_LAUNDRY/sys/cddl/contrib/opensolaris/ (props changed) user/alc/PQ_LAUNDRY/sys/conf/ (props changed) user/alc/PQ_LAUNDRY/sys/contrib/ipfilter/ (props changed) Modified: user/alc/PQ_LAUNDRY/Makefile ============================================================================== --- user/alc/PQ_LAUNDRY/Makefile Mon Oct 19 04:33:18 2015 (r289558) +++ user/alc/PQ_LAUNDRY/Makefile Mon Oct 19 04:39:27 2015 (r289559) @@ -243,14 +243,8 @@ cleanworld: # Handle the user-driven targets, using the source relative mk files. # -.if !(!empty(.MAKEFLAGS:M-n) && ${.MAKEFLAGS:M-n} == "-n") -# skip this for -n to avoid changing previous behavior of -# 'make -n buildworld' etc. Using -n -n will run it. -${TGTS}: .MAKE tinderbox toolchains kernel-toolchains: .MAKE -.endif - -${TGTS}: .PHONY +${TGTS}: .PHONY .MAKE ${_+_}@cd ${.CURDIR}; ${_MAKE} ${.TARGET} # The historic default "all" target creates files which may cause stale @@ -261,7 +255,7 @@ ${TGTS}: .PHONY _guard: .PHONY @echo - @echo "Explicit target required. Likely \"buildworld\" is wanted. See build(7)." + @echo "Explicit target required. Likely \"${SUBDIR_OVERRIDE:Dall:Ubuildworld}\" is wanted. See build(7)." @echo @false Modified: user/alc/PQ_LAUNDRY/Makefile.inc1 ============================================================================== --- user/alc/PQ_LAUNDRY/Makefile.inc1 Mon Oct 19 04:33:18 2015 (r289558) +++ user/alc/PQ_LAUNDRY/Makefile.inc1 Mon Oct 19 04:39:27 2015 (r289559) @@ -50,16 +50,23 @@ .include .include -# We must do lib/ and libexec/ before bin/, because if installworld -# installs a new /bin/sh, the 'make' command will *immediately* -# use that new version. And the new (dynamically-linked) /bin/sh -# will expect to find appropriate libraries in /lib and /libexec. -# +# We must do lib/ and libexec/ before bin/ in case of a mid-install error to +# keep the users system reasonably usable. For static->dynamic root upgrades, +# we don't want to install a dynamic binary without rtld and the needed +# libraries. More commonly, for dynamic root, we don't want to install a +# binary that requires a newer library version that hasn't been installed yet. +# This ordering is not a guarantee though. The only guarantee of a working +# system here would require fine-grained ordering of all components based +# on their dependencies. SRCDIR?= ${.CURDIR} .if defined(SUBDIR_OVERRIDE) SUBDIR= ${SUBDIR_OVERRIDE} .else SUBDIR= lib libexec +.if make(install*) +# Ensure libraries are installed before progressing. +SUBDIR+=.WAIT +.endif SUBDIR+=bin .if ${MK_CDDL} != "no" SUBDIR+=cddl @@ -85,10 +92,6 @@ SUBDIR+= tests .if ${MK_OFED} != "no" SUBDIR+=contrib/ofed .endif -# -# We must do etc/ last for install/distribute to work. -# -SUBDIR+=etc # Local directories are last, since it is nice to at least get the base # system rebuilt before you do them. @@ -112,6 +115,15 @@ SUBDIR+= ${_DIR} .endfor .endif +# We must do etc/ last as it hooks into building the man whatis file +# by calling 'makedb' in share/man. This is only relevant for +# install/distribute so they build the whatis file after every manpage is +# installed. +.if make(install*) +SUBDIR+=.WAIT +.endif +SUBDIR+=etc + .if defined(NOCLEAN) NO_CLEAN= ${NOCLEAN} .endif @@ -136,14 +148,17 @@ OSRELDATE!= awk '/^\#define[[:space:]]*_ .else OSRELDATE= 0 .endif +.export OSRELDATE .endif +# Set VERSION for CTFMERGE to use via the default CTFFLAGS=-L VERSION. .if !defined(VERSION) REVISION!= ${MAKE} -C ${SRCDIR}/release -V REVISION BRANCH!= ${MAKE} -C ${SRCDIR}/release -V BRANCH SRCRELDATE!= awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \ ${SRCDIR}/sys/sys/param.h VERSION= FreeBSD ${REVISION}-${BRANCH:C/-p[0-9]+$//} ${TARGET_ARCH} ${SRCRELDATE} +.export VERSION .endif KNOWN_ARCHES?= aarch64/arm64 amd64 arm armeb/arm armv6/arm armv6hf/arm i386 i386/pc98 mips mipsel/mips mips64el/mips mips64/mips mipsn32el/mips mipsn32/mips powerpc powerpc64/powerpc sparc64 @@ -252,7 +267,6 @@ CROSSENV+= ${TARGET_CFLAGS} BMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${BPATH}:${PATH} \ WORLDTMP=${WORLDTMP} \ - VERSION="${VERSION}" \ MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" # need to keep this in sync with targets/pseudo/bootstrap-tools/Makefile BSARGS= DESTDIR= \ @@ -289,8 +303,7 @@ XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE # kernel-tools stage KTMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${BPATH}:${PATH} \ - WORLDTMP=${WORLDTMP} \ - VERSION="${VERSION}" + WORLDTMP=${WORLDTMP} KTMAKE= TOOLS_PREFIX=${WORLDTMP} MAKEOBJDIRPREFIX=${WORLDTMP} \ ${KTMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ DESTDIR= \ @@ -303,7 +316,6 @@ KTMAKE= TOOLS_PREFIX=${WORLDTMP} MAKEOB # world stage WMAKEENV= ${CROSSENV} \ _LDSCRIPTROOT= \ - VERSION="${VERSION}" \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${TMPPATH} @@ -313,10 +325,6 @@ HMAKE= PATH=${TMPPATH} ${MAKE} LOCAL_MT HMAKE+= PATH=${TMPPATH} METALOG=${METALOG} -DNO_ROOT .endif -.if ${MK_CDDL} == "no" -WMAKEENV+= MK_CTF=no -.endif - .if defined(CROSS_TOOLCHAIN) LOCALBASE?= /usr/local .include "${LOCALBASE}/share/toolchains/${CROSS_TOOLCHAIN}.mk" @@ -446,7 +454,6 @@ LIB32FLAGS+= --sysroot=${WORLDTMP} # Yes, the flags are redundant. LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${LIB32_OBJTREE} \ _LDSCRIPTROOT=${LIB32TMP} \ - VERSION="${VERSION}" \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${TMPPATH} \ LIBDIR=/usr/lib32 \ @@ -584,9 +591,9 @@ _cleanobj: @echo "--------------------------------------------------------------" @echo ">>> stage 2.1: cleaning up the object tree" @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; ${WMAKE} ${CLEANDIR:S/^/par-/} + ${_+_}cd ${.CURDIR}; ${WMAKE} ${CLEANDIR} .if defined(LIB32TMP) - ${_+_}cd ${.CURDIR}; ${LIB32WMAKE} -f Makefile.inc1 ${CLEANDIR:S/^/par-/} + ${_+_}cd ${.CURDIR}; ${LIB32WMAKE} -f Makefile.inc1 ${CLEANDIR} .endif .endif _obj: @@ -594,7 +601,7 @@ _obj: @echo "--------------------------------------------------------------" @echo ">>> stage 2.2: rebuilding the object tree" @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; ${WMAKE} par-obj + ${_+_}cd ${.CURDIR}; ${WMAKE} obj _build-tools: @echo @echo "--------------------------------------------------------------" @@ -613,7 +620,8 @@ _includes: @echo "--------------------------------------------------------------" @echo ">>> stage 4.1: building includes" @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; ${WMAKE} SHARED=symlinks par-includes + ${_+_}cd ${.CURDIR}; ${WMAKE} SHARED=symlinks buildincludes + ${_+_}cd ${.CURDIR}; ${WMAKE} SHARED=symlinks installincludes _libraries: @echo @echo "--------------------------------------------------------------" @@ -627,7 +635,7 @@ _depend: @echo "--------------------------------------------------------------" @echo ">>> stage 4.3: make dependencies" @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; ${WMAKE} par-depend + ${_+_}cd ${.CURDIR}; ${WMAKE} depend everything: @echo @echo "--------------------------------------------------------------" @@ -736,7 +744,7 @@ buildworld_epilogue: # to quote multiword values. # buildenvvars: - @echo ${WMAKEENV:Q} + @echo ${WMAKEENV:Q} ${.MAKE.EXPORTED:@v@$v=\"${$v}\"@} .if ${.TARGETS:Mbuildenv} .if ${.MAKEFLAGS:M-j} @@ -820,7 +828,7 @@ _zoneinfo= zic tzsetup ITOOLS= [ awk cap_mkdb cat chflags chmod chown cmp cp \ date echo egrep find grep id install ${_install-info} \ - ln lockf make mkdir mtree mv pwd_mkdb \ + ln make mkdir mtree mv pwd_mkdb \ rm sed services_mkdb sh strip sysctl test true uname wc ${_zoneinfo} \ ${LOCAL_ITOOLS} @@ -1063,7 +1071,7 @@ INSTALLKERNEL= ${_kernel} .endif .endfor -buildkernel ${WMAKE_TGTS:N_worldtmp} ${.ALLTARGETS:M_*:N_worldtmp}: .MAKE .PHONY +buildkernel ${WMAKE_TGTS:N_worldtmp:Nbuild32} ${.ALLTARGETS:M_*:N_worldtmp}: .MAKE .PHONY # # buildkernel @@ -1493,7 +1501,7 @@ build-tools: .MAKE # # kernel-tools: Build kernel-building tools # -kernel-tools: .MAKE +kernel-tools: mkdir -p ${MAKEOBJDIRPREFIX}/usr mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ -p ${MAKEOBJDIRPREFIX}/usr >/dev/null @@ -1574,7 +1582,6 @@ cross-tools: .MAKE NXBENV= MAKEOBJDIRPREFIX=${OBJTREE}/nxb \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ - VERSION="${VERSION}" \ PATH=${PATH}:${OBJTREE}/gperf_for_gcc/usr/bin NXBMAKE= ${NXBENV} ${MAKE} \ TBLGEN=${OBJTREE}/nxb-bin/usr/bin/tblgen \ @@ -1593,7 +1600,7 @@ NXBMAKE= ${NXBENV} ${MAKE} \ # For non-clang enabled targets that are still using the in tree gcc # we must build a gperf binary for one instance of its Makefiles. On # clang-enabled systems, the gperf binary is obsolete. -native-xtools: .MAKE +native-xtools: .if ${MK_GCC_BOOTSTRAP} != "no" mkdir -p ${OBJTREE}/gperf_for_gcc/usr/bin ${_+_}@${ECHODIR} "===> ${_gperf} (obj,depend,all,install)"; \ @@ -1939,22 +1946,18 @@ _startup_libs: ${_startup_libs:S/$/__L/} _prebuild_libs: ${_prebuild_libs:S/$/__L/} _generic_libs: ${_generic_libs:S/$/__L/} -.for __target in all clean cleandepend cleandir depend includes obj -.for entry in ${SUBDIR} -${entry}.${__target}__D: .PHONY .MAKE - ${_+_}@set -e; if test -d ${.CURDIR}/${entry}.${MACHINE_ARCH}; then \ - ${ECHODIR} "===> ${DIRPRFX}${entry}.${MACHINE_ARCH} (${__target})"; \ - edir=${entry}.${MACHINE_ARCH}; \ - cd ${.CURDIR}/$${edir}; \ - else \ - ${ECHODIR} "===> ${DIRPRFX}${entry} (${__target})"; \ - edir=${entry}; \ - cd ${.CURDIR}/$${edir}; \ - fi; \ - ${MAKE} ${__target} DIRPRFX=${DIRPRFX}$${edir}/ -.endfor -par-${__target}: ${SUBDIR:S/$/.${__target}__D/} -.endfor +# Enable SUBDIR_PARALLEL when not calling 'make all', unless called as +# 'par-all'. This is because it is unlikely that running 'make all' from +# the top-level, especially with a SUBDIR_OVERRIDE or LOCAL_DIRS set, +# will have a reliable build if SUBDIRs are built in parallel. This is +# safe for the world stage of buildworld though since it has already +# built libraries in a proper order and installed includes into WORLDTMP. +# Special handling is done for SUBDIR ordering for 'install*' to avoid +# trashing a system if it crashes mid-install. +par-all: all .PHONY +.if !make(all) +SUBDIR_PARALLEL= +.endif .include @@ -2262,7 +2265,9 @@ _xi-cross-tools: .endfor _xi-includes: - ${_+_}cd ${.CURDIR}; ${CD2MAKE} -f Makefile.inc1 par-includes \ + ${_+_}cd ${.CURDIR}; ${CD2MAKE} -f Makefile.inc1 buildincludes \ + DESTDIR=${XDDESTDIR} + ${_+_}cd ${.CURDIR}; ${CD2MAKE} -f Makefile.inc1 installincludes \ DESTDIR=${XDDESTDIR} _xi-libraries: Modified: user/alc/PQ_LAUNDRY/UPDATING ============================================================================== --- user/alc/PQ_LAUNDRY/UPDATING Mon Oct 19 04:33:18 2015 (r289558) +++ user/alc/PQ_LAUNDRY/UPDATING Mon Oct 19 04:39:27 2015 (r289559) @@ -31,6 +31,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20151017: + The build previously allowed using 'make -n' to not recurse into + sub-directories while showing what commands would be executed, and + 'make -n -n' to recursively show commands. Now 'make -n' will recurse + and 'make -N' will not. + 20151012: If you specify SENDMAIL_MC or SENDMAIL_CF in make.conf, mergemaster and etcupdate will now use this file. A custom sendmail.cf is now Modified: user/alc/PQ_LAUNDRY/bin/dd/Makefile ============================================================================== --- user/alc/PQ_LAUNDRY/bin/dd/Makefile Mon Oct 19 04:33:18 2015 (r289558) +++ user/alc/PQ_LAUNDRY/bin/dd/Makefile Mon Oct 19 04:39:27 2015 (r289559) @@ -1,6 +1,8 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 # $FreeBSD$ +.include + PROG= dd SRCS= args.c conv.c conv_tab.c dd.c misc.c position.c @@ -24,4 +26,8 @@ test: ${PROG} gen .endfor @rm -f gen +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include Modified: user/alc/PQ_LAUNDRY/bin/ps/Makefile ============================================================================== --- user/alc/PQ_LAUNDRY/bin/ps/Makefile Mon Oct 19 04:33:18 2015 (r289558) +++ user/alc/PQ_LAUNDRY/bin/ps/Makefile Mon Oct 19 04:39:27 2015 (r289559) @@ -11,6 +11,6 @@ SRCS= fmt.c keyword.c nlist.c print.c ps # on large systems. # CFLAGS+=-DLAZY_PS -LIBADD= m kvm jail xo util +LIBADD= m kvm jail xo .include Modified: user/alc/PQ_LAUNDRY/bin/test/tests/legacy_test.sh ============================================================================== --- user/alc/PQ_LAUNDRY/bin/test/tests/legacy_test.sh Mon Oct 19 04:33:18 2015 (r289558) +++ user/alc/PQ_LAUNDRY/bin/test/tests/legacy_test.sh Mon Oct 19 04:39:27 2015 (r289559) @@ -2,7 +2,7 @@ #- # Copyright (c) June 1996 Wolfram Schneider . Berlin. -# All rights reserved. +# All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -31,7 +31,7 @@ # $FreeBSD$ # force a specified test program, e.g. `env test=/bin/test sh regress.sh' -: ${test=test} +: ${test=test} t () { @@ -54,13 +54,13 @@ t () count=0 echo "1..130" -t 0 'b = b' -t 0 'b == b' -t 1 'b != b' -t 0 '\( b = b \)' -t 0 '\( b == b \)' -t 1 '! \( b = b \)' -t 1 '! \( b == b \)' +t 0 'b = b' +t 0 'b == b' +t 1 'b != b' +t 0 '\( b = b \)' +t 0 '\( b == b \)' +t 1 '! \( b = b \)' +t 1 '! \( b == b \)' t 1 '! -f /etc/passwd' t 0 '-h = -h' Modified: user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Mon Oct 19 04:33:18 2015 (r289558) +++ user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Mon Oct 19 04:39:27 2015 (r289559) @@ -18,7 +18,7 @@ .\" information: Portions Copyright [yyyy] [name of copyright owner] .\" .\" Copyright (c) 2010, Sun Microsystems, Inc. All Rights Reserved. -.\" Copyright (c) 2014 by Delphix. All rights reserved. +.\" Copyright (c) 2011, 2014 by Delphix. All rights reserved. .\" Copyright (c) 2011, Pawel Jakub Dawidek .\" Copyright (c) 2012, Glen Barber .\" Copyright (c) 2012, Bryan Drewery @@ -117,7 +117,7 @@ .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot .Nm .Cm set -.Ar property Ns = Ns Ar value +.Ar property Ns = Ns Ar value Oc ... .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot Ns ... .Nm .Cm get @@ -2121,14 +2121,14 @@ option, but sorts by property in descend .It Xo .Nm .Cm set -.Ar property Ns = Ns Ar value +.Ar property Ns = Ns Ar value Oc ... .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot .Xc .Pp -Sets the property to the given value for each dataset. Only some properties can -be edited. See the "Properties" section for more information on what properties -can be set and acceptable values. Numeric values can be specified as exact -values, or in a human-readable form with a suffix of +Sets the property or list of properties to the given value(s) for each dataset. +Only some properties can be edited. See the "Properties" section for more +information on what properties can be set and acceptable values. Numeric values +can be specified as exact values, or in a human-readable form with a suffix of .Sy B , K , M , G , T , P , E , Z (for bytes, kilobytes, megabytes, gigabytes, terabytes, petabytes, exabytes, or zettabytes, respectively). User properties can be set on snapshots. For more Modified: user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c ============================================================================== --- user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Mon Oct 19 04:33:18 2015 (r289558) +++ user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Mon Oct 19 04:39:27 2015 (r289559) @@ -21,7 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2011, 2014 by Delphix. All rights reserved. + * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright 2012 Milan Jurik. All rights reserved. * Copyright (c) 2012, Joyent, Inc. All rights reserved. * Copyright (c) 2011-2012 Pawel Jakub Dawidek . @@ -283,7 +283,7 @@ get_usage(zfs_help_t idx) "\n" "\tsend [-nvPe] -t \n")); case HELP_SET: - return (gettext("\tset " + return (gettext("\tset ... " " ...\n")); case HELP_SHARE: return (gettext("\tshare <-a | filesystem>\n")); @@ -498,6 +498,10 @@ usage(boolean_t requested) exit(requested ? 0 : 2); } +/* + * Take a property=value argument string and add it to the given nvlist. + * Modifies the argument inplace. + */ static int parseprop(nvlist_t *props, char *propname) { @@ -505,7 +509,7 @@ parseprop(nvlist_t *props, char *propnam if ((propval = strchr(propname, '=')) == NULL) { (void) fprintf(stderr, gettext("missing " - "'=' for -o option\n")); + "'=' for property=value argument\n")); return (-1); } *propval = '\0'; @@ -632,7 +636,7 @@ zfs_do_clone(int argc, char **argv) while ((c = getopt(argc, argv, "o:p")) != -1) { switch (c) { case 'o': - if (parseprop(props, optarg)) + if (parseprop(props, optarg) != 0) return (1); break; case 'p': @@ -841,10 +845,12 @@ zfs_do_create(int argc, char **argv) if (type == ZFS_TYPE_VOLUME && !noreserve) { zpool_handle_t *zpool_handle; + nvlist_t *real_props; uint64_t spa_version; char *p; zfs_prop_t resv_prop; char *strval; + char msg[1024]; if (p = strchr(argv[0], '/')) *p = '\0'; @@ -855,12 +861,22 @@ zfs_do_create(int argc, char **argv) goto error; spa_version = zpool_get_prop_int(zpool_handle, ZPOOL_PROP_VERSION, NULL); - zpool_close(zpool_handle); if (spa_version >= SPA_VERSION_REFRESERVATION) resv_prop = ZFS_PROP_REFRESERVATION; else resv_prop = ZFS_PROP_RESERVATION; - volsize = zvol_volsize_to_reservation(volsize, props); + + (void) snprintf(msg, sizeof (msg), + gettext("cannot create '%s'"), argv[0]); + if (props && (real_props = zfs_valid_proplist(g_zfs, type, + props, 0, NULL, zpool_handle, msg)) == NULL) { + zpool_close(zpool_handle); + goto error; + } + zpool_close(zpool_handle); + + volsize = zvol_volsize_to_reservation(volsize, real_props); + nvlist_free(real_props); if (nvlist_lookup_string(props, zfs_prop_to_name(resv_prop), &strval) != 0) { @@ -3532,21 +3548,17 @@ out: } /* - * zfs set property=value { fs | snap | vol } ... + * zfs set property=value ... { fs | snap | vol } ... * - * Sets the given property for all datasets specified on the command line. + * Sets the given properties for all datasets specified on the command line. */ -typedef struct set_cbdata { - char *cb_propname; - char *cb_value; -} set_cbdata_t; static int set_callback(zfs_handle_t *zhp, void *data) { - set_cbdata_t *cbp = data; + nvlist_t *props = data; - if (zfs_prop_set(zhp, cbp->cb_propname, cbp->cb_value) != 0) { + if (zfs_prop_set_list(zhp, props) != 0) { switch (libzfs_errno(g_zfs)) { case EZFS_MOUNTFAILED: (void) fprintf(stderr, gettext("property may be set " @@ -3565,7 +3577,8 @@ set_callback(zfs_handle_t *zhp, void *da static int zfs_do_set(int argc, char **argv) { - set_cbdata_t cb; + nvlist_t *props = NULL; + int ds_start = -1; /* argv idx of first dataset arg */ int ret = 0; /* check for options */ @@ -3577,36 +3590,51 @@ zfs_do_set(int argc, char **argv) /* check number of arguments */ if (argc < 2) { - (void) fprintf(stderr, gettext("missing property=value " - "argument\n")); + (void) fprintf(stderr, gettext("missing arguments\n")); usage(B_FALSE); } if (argc < 3) { - (void) fprintf(stderr, gettext("missing dataset name\n")); + if (strchr(argv[1], '=') == NULL) { + (void) fprintf(stderr, gettext("missing property=value " + "argument(s)\n")); + } else { + (void) fprintf(stderr, gettext("missing dataset " + "name(s)\n")); + } usage(B_FALSE); } - /* validate property=value argument */ - cb.cb_propname = argv[1]; - if (((cb.cb_value = strchr(cb.cb_propname, '=')) == NULL) || - (cb.cb_value[1] == '\0')) { - (void) fprintf(stderr, gettext("missing value in " - "property=value argument\n")); + /* validate argument order: prop=val args followed by dataset args */ + for (int i = 1; i < argc; i++) { + if (strchr(argv[i], '=') != NULL) { + if (ds_start > 0) { + /* out-of-order prop=val argument */ + (void) fprintf(stderr, gettext("invalid " + "argument order\n"), i); + usage(B_FALSE); + } + } else if (ds_start < 0) { + ds_start = i; + } + } + if (ds_start < 0) { + (void) fprintf(stderr, gettext("missing dataset name(s)\n")); usage(B_FALSE); } - *cb.cb_value = '\0'; - cb.cb_value++; - - if (*cb.cb_propname == '\0') { - (void) fprintf(stderr, - gettext("missing property in property=value argument\n")); - usage(B_FALSE); + /* Populate a list of property settings */ + if (nvlist_alloc(&props, NV_UNIQUE_NAME, 0) != 0) + nomem(); + for (int i = 1; i < ds_start; i++) { + if ((ret = parseprop(props, argv[i])) != 0) + goto error; } - ret = zfs_for_each(argc - 2, argv + 2, 0, - ZFS_TYPE_DATASET, NULL, NULL, 0, set_callback, &cb); + ret = zfs_for_each(argc - ds_start, argv + ds_start, 0, + ZFS_TYPE_DATASET, NULL, NULL, 0, set_callback, props); +error: + nvlist_free(props); return (ret); } Modified: user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c ============================================================================== --- user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Mon Oct 19 04:33:18 2015 (r289558) +++ user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Mon Oct 19 04:39:27 2015 (r289559) @@ -2940,6 +2940,9 @@ print_list_stats(zpool_handle_t *zhp, co uint_t c, children; char *vname; boolean_t scripted = cb->cb_scripted; + uint64_t islog = B_FALSE; + boolean_t haslog = B_FALSE; + char *dashes = "%-*s - - - - - -\n"; verify(nvlist_lookup_uint64_array(nv, ZPOOL_CONFIG_VDEV_STATS, (uint64_t **)&vs, &c) == 0); @@ -2990,24 +2993,47 @@ print_list_stats(zpool_handle_t *zhp, co ZPOOL_CONFIG_IS_HOLE, &ishole) == 0 && ishole) continue; + if (nvlist_lookup_uint64(child[c], + ZPOOL_CONFIG_IS_LOG, &islog) == 0 && islog) { + haslog = B_TRUE; + continue; + } + vname = zpool_vdev_name(g_zfs, zhp, child[c], B_FALSE); print_list_stats(zhp, vname, child[c], cb, depth + 2); free(vname); } - /* - * Include level 2 ARC devices in iostat output - */ + if (haslog == B_TRUE) { + /* LINTED E_SEC_PRINTF_VAR_FMT */ + (void) printf(dashes, cb->cb_namewidth, "log"); + for (c = 0; c < children; c++) { + if (nvlist_lookup_uint64(child[c], ZPOOL_CONFIG_IS_LOG, + &islog) != 0 || !islog) + continue; + vname = zpool_vdev_name(g_zfs, zhp, child[c], B_FALSE); + print_list_stats(zhp, vname, child[c], cb, depth + 2); + free(vname); + } + } + if (nvlist_lookup_nvlist_array(nv, ZPOOL_CONFIG_L2CACHE, - &child, &children) != 0) - return; + &child, &children) == 0 && children > 0) { + /* LINTED E_SEC_PRINTF_VAR_FMT */ + (void) printf(dashes, cb->cb_namewidth, "cache"); + for (c = 0; c < children; c++) { + vname = zpool_vdev_name(g_zfs, zhp, child[c], B_FALSE); + print_list_stats(zhp, vname, child[c], cb, depth + 2); + free(vname); + } + } - if (children > 0) { - (void) printf("%-*s - - - - - " - "-\n", cb->cb_namewidth, "cache"); + if (nvlist_lookup_nvlist_array(nv, ZPOOL_CONFIG_SPARES, &child, + &children) == 0 && children > 0) { + /* LINTED E_SEC_PRINTF_VAR_FMT */ + (void) printf(dashes, cb->cb_namewidth, "spare"); for (c = 0; c < children; c++) { - vname = zpool_vdev_name(g_zfs, zhp, child[c], - B_FALSE); + vname = zpool_vdev_name(g_zfs, zhp, child[c], B_FALSE); print_list_stats(zhp, vname, child[c], cb, depth + 2); free(vname); } Modified: user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h ============================================================================== --- user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Mon Oct 19 04:33:18 2015 (r289558) +++ user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Mon Oct 19 04:39:27 2015 (r289559) @@ -23,7 +23,7 @@ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011 Pawel Jakub Dawidek . * All rights reserved. - * Copyright (c) 2013 by Delphix. All rights reserved. + * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright (c) 2012, Joyent, Inc. All rights reserved. * Copyright (c) 2012 Martin Matuska . All rights reserved. * Copyright (c) 2013 Steven Hartland. All rights reserved. @@ -426,10 +426,11 @@ extern const char *zfs_prop_column_name( extern boolean_t zfs_prop_align_right(zfs_prop_t); extern nvlist_t *zfs_valid_proplist(libzfs_handle_t *, zfs_type_t, - nvlist_t *, uint64_t, zfs_handle_t *, const char *); + nvlist_t *, uint64_t, zfs_handle_t *, zpool_handle_t *, const char *); extern const char *zfs_prop_to_name(zfs_prop_t); extern int zfs_prop_set(zfs_handle_t *, const char *, const char *); +extern int zfs_prop_set_list(zfs_handle_t *, nvlist_t *); extern int zfs_prop_get(zfs_handle_t *, zfs_prop_t, char *, size_t, zprop_source_t *, char *, size_t, boolean_t); extern int zfs_prop_get_recvd(zfs_handle_t *, const char *, char *, size_t, Modified: user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c ============================================================================== --- user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Mon Oct 19 04:33:18 2015 (r289558) +++ user/alc/PQ_LAUNDRY/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Mon Oct 19 04:39:27 2015 (r289559) @@ -22,7 +22,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2013, Joyent, Inc. All rights reserved. - * Copyright (c) 2011, 2014 by Delphix. All rights reserved. + * Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright (c) 2012 DEY Storage Systems, Inc. All rights reserved. * Copyright (c) 2011-2012 Pawel Jakub Dawidek . * All rights reserved. @@ -890,7 +890,8 @@ zfs_which_resv_prop(zfs_handle_t *zhp, z */ nvlist_t * zfs_valid_proplist(libzfs_handle_t *hdl, zfs_type_t type, nvlist_t *nvl, - uint64_t zoned, zfs_handle_t *zhp, const char *errbuf) + uint64_t zoned, zfs_handle_t *zhp, zpool_handle_t *zpool_hdl, + const char *errbuf) { nvpair_t *elem; uint64_t intval; @@ -1084,8 +1085,8 @@ zfs_valid_proplist(libzfs_handle_t *hdl, case ZFS_PROP_RECORDSIZE: { int maxbs = SPA_MAXBLOCKSIZE; - if (zhp != NULL) { - maxbs = zpool_get_prop_int(zhp->zpool_hdl, + if (zpool_hdl != NULL) { + maxbs = zpool_get_prop_int(zpool_hdl, ZPOOL_PROP_MAXBLOCKSIZE, NULL); } /* @@ -1403,6 +1404,7 @@ zfs_add_synthetic_resv(zfs_handle_t *zhp uint64_t old_reservation; uint64_t new_reservation; zfs_prop_t resv_prop; + nvlist_t *props; /* * If this is an existing volume, and someone is setting the volsize, @@ -1412,16 +1414,25 @@ zfs_add_synthetic_resv(zfs_handle_t *zhp if (zfs_which_resv_prop(zhp, &resv_prop) < 0) return (-1); old_reservation = zfs_prop_get_int(zhp, resv_prop); - if ((zvol_volsize_to_reservation(old_volsize, zhp->zfs_props) != - old_reservation) || nvlist_lookup_uint64(nvl, - zfs_prop_to_name(resv_prop), &new_reservation) != ENOENT) { + + props = fnvlist_alloc(); + fnvlist_add_uint64(props, zfs_prop_to_name(ZFS_PROP_VOLBLOCKSIZE), + zfs_prop_get_int(zhp, ZFS_PROP_VOLBLOCKSIZE)); + + if ((zvol_volsize_to_reservation(old_volsize, props) != + old_reservation) || nvlist_exists(nvl, + zfs_prop_to_name(resv_prop))) { + fnvlist_free(props); return (0); } if (nvlist_lookup_uint64(nvl, zfs_prop_to_name(ZFS_PROP_VOLSIZE), - &new_volsize) != 0) + &new_volsize) != 0) { + fnvlist_free(props); return (-1); - new_reservation = zvol_volsize_to_reservation(new_volsize, - zhp->zfs_props); + } + new_reservation = zvol_volsize_to_reservation(new_volsize, props); + fnvlist_free(props); + if (nvlist_add_uint64(nvl, zfs_prop_to_name(resv_prop), new_reservation) != 0) { (void) no_memory(zhp->zfs_hdl); @@ -1493,6 +1504,12 @@ zfs_setprop_error(libzfs_handle_t *hdl, "property setting is not allowed on " "bootable datasets")); (void) zfs_error(hdl, EZFS_NOTSUP, errbuf); + } else if (prop == ZFS_PROP_CHECKSUM || + prop == ZFS_PROP_DEDUP) { + (void) zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, + "property setting is not allowed on " + "root pools")); + (void) zfs_error(hdl, EZFS_NOTSUP, errbuf); } else { (void) zfs_standard_error(hdl, err, errbuf); } @@ -1528,15 +1545,10 @@ zfs_setprop_error(libzfs_handle_t *hdl, int zfs_prop_set(zfs_handle_t *zhp, const char *propname, const char *propval) { - zfs_cmd_t zc = { 0 }; int ret = -1; - prop_changelist_t *cl = NULL; char errbuf[1024]; libzfs_handle_t *hdl = zhp->zfs_hdl; - nvlist_t *nvl = NULL, *realprops; - zfs_prop_t prop; - boolean_t do_prefix = B_TRUE; - int added_resv; + nvlist_t *nvl = NULL; (void) snprintf(errbuf, sizeof (errbuf), dgettext(TEXT_DOMAIN, "cannot set property for '%s'"), @@ -1548,79 +1560,149 @@ zfs_prop_set(zfs_handle_t *zhp, const ch goto error; } - if ((realprops = zfs_valid_proplist(hdl, zhp->zfs_type, nvl, - zfs_prop_get_int(zhp, ZFS_PROP_ZONED), zhp, errbuf)) == NULL) - goto error; + ret = zfs_prop_set_list(zhp, nvl); +error: nvlist_free(nvl); - nvl = realprops; + return (ret); +} - prop = zfs_name_to_prop(propname); - /* We don't support those properties on FreeBSD. */ - switch (prop) { - case ZFS_PROP_DEVICES: - case ZFS_PROP_ISCSIOPTIONS: - case ZFS_PROP_XATTR: - case ZFS_PROP_VSCAN: - case ZFS_PROP_NBMAND: - case ZFS_PROP_MLSLABEL: - (void) snprintf(errbuf, sizeof (errbuf), - "property '%s' not supported on FreeBSD", propname); - ret = zfs_error(hdl, EZFS_PERM, errbuf); - goto error; - } - if (prop == ZFS_PROP_VOLSIZE) { - if ((added_resv = zfs_add_synthetic_resv(zhp, nvl)) == -1) - goto error; - } +/* + * Given an nvlist of property names and values, set the properties for the + * given dataset. + */ +int +zfs_prop_set_list(zfs_handle_t *zhp, nvlist_t *props) +{ + zfs_cmd_t zc = { 0 }; + int ret = -1; + prop_changelist_t **cls = NULL; + int cl_idx; + char errbuf[1024]; + libzfs_handle_t *hdl = zhp->zfs_hdl; + nvlist_t *nvl; + int nvl_len; + int added_resv; - if ((cl = changelist_gather(zhp, prop, 0, 0)) == NULL) - goto error; + (void) snprintf(errbuf, sizeof (errbuf), + dgettext(TEXT_DOMAIN, "cannot set property for '%s'"), + zhp->zfs_name); - if (prop == ZFS_PROP_MOUNTPOINT && changelist_haszonedchild(cl)) { - zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, - "child dataset with inherited mountpoint is used " - "in a non-global zone")); - ret = zfs_error(hdl, EZFS_ZONED, errbuf); + if ((nvl = zfs_valid_proplist(hdl, zhp->zfs_type, props, + zfs_prop_get_int(zhp, ZFS_PROP_ZONED), zhp, zhp->zpool_hdl, + errbuf)) == NULL) goto error; - } /* - * We don't want to unmount & remount the dataset when changing - * its canmount property to 'on' or 'noauto'. We only use - * the changelist logic to unmount when setting canmount=off. + * We have to check for any extra properties which need to be added + * before computing the length of the nvlist. */ - if (prop == ZFS_PROP_CANMOUNT) { - uint64_t idx; - int err = zprop_string_to_index(prop, propval, &idx, - ZFS_TYPE_DATASET); - if (err == 0 && idx != ZFS_CANMOUNT_OFF) - do_prefix = B_FALSE; + for (nvpair_t *elem = nvlist_next_nvpair(nvl, NULL); + elem != NULL; + elem = nvlist_next_nvpair(nvl, elem)) { + if (zfs_name_to_prop(nvpair_name(elem)) == ZFS_PROP_VOLSIZE && + (added_resv = zfs_add_synthetic_resv(zhp, nvl)) == -1) { + goto error; + } } - - if (do_prefix && (ret = changelist_prefix(cl)) != 0) + /* + * Check how many properties we're setting and allocate an array to + * store changelist pointers for postfix(). + */ + nvl_len = 0; + for (nvpair_t *elem = nvlist_next_nvpair(nvl, NULL); + elem != NULL; + elem = nvlist_next_nvpair(nvl, elem)) + nvl_len++; + if ((cls = calloc(nvl_len, sizeof (prop_changelist_t *))) == NULL) goto error; + cl_idx = 0; + for (nvpair_t *elem = nvlist_next_nvpair(nvl, NULL); + elem != NULL; + elem = nvlist_next_nvpair(nvl, elem)) { + + zfs_prop_t prop = zfs_name_to_prop(nvpair_name(elem)); + + assert(cl_idx < nvl_len); + /* + * We don't want to unmount & remount the dataset when changing + * its canmount property to 'on' or 'noauto'. We only use + * the changelist logic to unmount when setting canmount=off. + */ + if (!(prop == ZFS_PROP_CANMOUNT && + fnvpair_value_uint64(elem) != ZFS_CANMOUNT_OFF)) { + cls[cl_idx] = changelist_gather(zhp, prop, 0, 0); + if (cls[cl_idx] == NULL) + goto error; + } + + if (prop == ZFS_PROP_MOUNTPOINT && + changelist_haszonedchild(cls[cl_idx])) { + zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, + "child dataset with inherited mountpoint is used " + "in a non-global zone")); + ret = zfs_error(hdl, EZFS_ZONED, errbuf); + goto error; + } + + /* We don't support those properties on FreeBSD. */ + switch (prop) { + case ZFS_PROP_DEVICES: + case ZFS_PROP_ISCSIOPTIONS: + case ZFS_PROP_XATTR: + case ZFS_PROP_VSCAN: + case ZFS_PROP_NBMAND: + case ZFS_PROP_MLSLABEL: + (void) snprintf(errbuf, sizeof (errbuf), + "property '%s' not supported on FreeBSD", + nvpair_name(elem)); + ret = zfs_error(hdl, EZFS_PERM, errbuf); + goto error; + } + + if (cls[cl_idx] != NULL && + (ret = changelist_prefix(cls[cl_idx])) != 0) + goto error; + + cl_idx++; + } + assert(cl_idx == nvl_len); + /* - * Execute the corresponding ioctl() to set this property. + * Execute the corresponding ioctl() to set this list of properties. */ (void) strlcpy(zc.zc_name, zhp->zfs_name, sizeof (zc.zc_name)); - if (zcmd_write_src_nvlist(hdl, &zc, nvl) != 0) + if ((ret = zcmd_write_src_nvlist(hdl, &zc, nvl)) != 0 || + (ret = zcmd_alloc_dst_nvlist(hdl, &zc, 0)) != 0) goto error; ret = zfs_ioctl(hdl, ZFS_IOC_SET_PROP, &zc); if (ret != 0) { - zfs_setprop_error(hdl, prop, errno, errbuf); + /* Get the list of unset properties back and report them. */ + nvlist_t *errorprops = NULL; + if (zcmd_read_dst_nvlist(hdl, &zc, &errorprops) != 0) + goto error; + for (nvpair_t *elem = nvlist_next_nvpair(nvl, NULL); + elem != NULL; + elem = nvlist_next_nvpair(nvl, elem)) { + zfs_prop_t prop = zfs_name_to_prop(nvpair_name(elem)); + zfs_setprop_error(hdl, prop, errno, errbuf); + } + nvlist_free(errorprops); + if (added_resv && errno == ENOSPC) { /* clean up the volsize property we tried to set */ uint64_t old_volsize = zfs_prop_get_int(zhp, ZFS_PROP_VOLSIZE); nvlist_free(nvl); + nvl = NULL; zcmd_free_nvlists(&zc); + if (nvlist_alloc(&nvl, NV_UNIQUE_NAME, 0) != 0) goto error; if (nvlist_add_uint64(nvl, @@ -1632,8 +1714,13 @@ zfs_prop_set(zfs_handle_t *zhp, const ch (void) zfs_ioctl(hdl, ZFS_IOC_SET_PROP, &zc); } } else { *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@freebsd.org Mon Oct 19 18:29:18 2015 Return-Path: Delivered-To: svn-src-user@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 AFF6BA198ED for ; Mon, 19 Oct 2015 18:29:18 +0000 (UTC) (envelope-from gjb@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 716BA8BC; Mon, 19 Oct 2015 18:29:18 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9JITHew092029; Mon, 19 Oct 2015 18:29:17 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9JITH7n092028; Mon, 19 Oct 2015 18:29:17 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201510191829.t9JITH7n092028@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Mon, 19 Oct 2015 18:29:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r289599 - user/gjb/thermite X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Oct 2015 18:29:18 -0000 Author: gjb Date: Mon Oct 19 18:29:17 2015 New Revision: 289599 URL: https://svnweb.freebsd.org/changeset/base/289599 Log: Re-sync with releng repo: - Drop support for 9.x snapshot builds. - Remove explicit 'make ${MAKE}', which was needed to help the toolchain figure out what version of make(1) to build. Sponsored by: The FreeBSD Foundation Modified: user/gjb/thermite/thermite.sh Modified: user/gjb/thermite/thermite.sh ============================================================================== --- user/gjb/thermite/thermite.sh Mon Oct 19 18:06:35 2015 (r289598) +++ user/gjb/thermite/thermite.sh Mon Oct 19 18:29:17 2015 (r289599) @@ -480,18 +480,10 @@ install_chroots() { # Build amd64/i386 "seed" chroots for all branches being built. build_chroots() { source_config || return 0 - if [ ${rev} -le 8 ]; then + if [ ${rev} -le 9 ]; then info "This script does not support rev ${rev}" return 0 fi - # Building stable/9 on head/ is particularly race-prone when - # building make(1) for the first time. I have no idea why. - # Apply duct tape for now. - if [ ${rev} -lt 10 ]; then - __makecmd="make" - else - __makecmd="bmake" - fi case ${arch} in i386) _chrootarch="i386" @@ -514,13 +506,6 @@ build_chroots() { ${_srcdir} \ >> ${logdir}/${_build}.log 2>&1 fi - info "Building ${_srcdir} make(1)" - env MAKEOBJDIRPREFIX=${_objdir} \ - make -C ${_srcdir} ${WORLD_FLAGS} \ - __MAKE_CONF=/dev/null SRCCONF=/dev/null \ - TARGET=${_chrootarch} TARGET_ARCH=${_chrootarch} \ - ${__makecmd} >> \ - ${logdir}/${_build}.log 2>&1 info "Building ${_srcdir} world" env MAKEOBJDIRPREFIX=${_objdir} \ make -C ${_srcdir} ${WORLD_FLAGS} \ From owner-svn-src-user@freebsd.org Thu Oct 22 06:59:15 2015 Return-Path: Delivered-To: svn-src-user@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 B8AA7A1CA82 for ; Thu, 22 Oct 2015 06:59:15 +0000 (UTC) (envelope-from pho@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 83FD911DF; Thu, 22 Oct 2015 06:59:15 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9M6xEEv082263; Thu, 22 Oct 2015 06:59:14 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9M6xErN082261; Thu, 22 Oct 2015 06:59:14 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201510220659.t9M6xErN082261@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Thu, 22 Oct 2015 06:59:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r289741 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Oct 2015 06:59:15 -0000 Author: pho Date: Thu Oct 22 06:59:14 2015 New Revision: 289741 URL: https://svnweb.freebsd.org/changeset/base/289741 Log: Added new test scenarios for ptrace(2). Sponsored by: EMC / Isilon storage division Added: user/pho/stress2/misc/ptrace4.sh (contents, props changed) user/pho/stress2/misc/truss.sh (contents, props changed) Added: user/pho/stress2/misc/ptrace4.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/ptrace4.sh Thu Oct 22 06:59:14 2015 (r289741) @@ -0,0 +1,55 @@ +#!/bin/sh + +# +# Copyright (c) 2015 EMC Corp. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# ptrace(2) test scenario + +# Test program can not be killed: +# https://people.freebsd.org/~pho/stress/log/kostik836.txt +# Fixed by r289660. + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg + + +export sleeptime=24 +./syscall4.sh 26 & + +sleep 240 +l=0 +while ps -Unobody | grep -v grep | grep -q syscall4; do + l=$((l + 1)) + if [ $l -gt 10 ]; then + echo FAIL + break + fi + sleep 10 +done +wait Added: user/pho/stress2/misc/truss.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/truss.sh Thu Oct 22 06:59:14 2015 (r289741) @@ -0,0 +1,130 @@ +#!/bin/sh + +# +# Copyright (c) 2015 EMC Corp. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# truss(1) of a multithreaded program. + +# FAIL +# 0 90968 90933 0 52 0 6028 0 wait IW+ 1 0:00,00 truss /tmp/ttruss +# 0 90970 90968 0 52 0 6436 1560 uwrlck IX+ 1 0:00,00 /tmp/ttruss +# $ procstat -k 90970 +# PID TID COMM TDNAME KSTACK +# 90970 101244 ttruss - mi_switch sleepq_switch +# sleepq_catch_signals sleepq_wait_sig _sleep umtxq_sleep +# do_rw_wrlock __umtx_op_rw_wrlock syscall Xint0x80_syscall +# $ + +# Only seen during testing of a WiP ptrace(2) patch. + +. ../default.cfg + +dir=/tmp +odir=`pwd` +cd $dir +sed '1,/^EOF/d' < $odir/$0 > $dir/ttruss.c +mycc -o ttruss -Wall -Wextra -O0 -g ttruss.c -lpthread || exit 1 +rm -f ttruss.c + +# VM pressure is not mandatory, but shortens the time to failure. +daemon sh -c \ + "(cd $odir/../testcases/swap; ./swap -t 6m -i 20 -k -l 100)" > \ + /dev/null +sleep .5 +for i in `jot 30`; do + truss /tmp/ttruss 10 > /dev/null 2>&1 & + sleep 11 + if ps -l | grep -v grep | grep -q uwrlck; then + echo FAIL + ps -lH | egrep -v "grep|truss.sh" | grep truss + while pkill -9 swap; do + : + done + exit 1 + fi + wait +done +while pkill -9 swap; do + : +done +sleep 2 +if pgrep -q ttruss; then + echo FAIL + ps -lH | grep -v grep | grep ttruss + exit 1 +fi + +rm -rf /tmp/ttruss +exit + +EOF +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#define THREADS 16 + +static void * +t1(void *data __unused) +{ + return (NULL); +} + +int +main(int argc, char *argv[]) +{ + pthread_t tid[THREADS]; + time_t start; + int i, rc, runtime; + + if (argc != 2) + errx(1, "Usage: %s ", argv[0]); + runtime = atoi(argv[1]); + start = time(NULL); + while ((time(NULL) - start) < runtime) { + for (i = 0; i < THREADS; i++) { + if ((rc = pthread_create(&tid[i], NULL, t1, NULL)) == + -1) + errc(1, rc, "pthread_create"); + } + + for (i = 0; i < THREADS; i++) { + if ((rc = pthread_join(tid[i], NULL)) == -1) + errc(1, rc, "pthread_join"); + } + } + + return (0); +} From owner-svn-src-user@freebsd.org Thu Oct 22 07:01:02 2015 Return-Path: Delivered-To: svn-src-user@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 CEDF5A1CAB0 for ; Thu, 22 Oct 2015 07:01:02 +0000 (UTC) (envelope-from pho@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 980311323; Thu, 22 Oct 2015 07:01:02 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9M711mm084315; Thu, 22 Oct 2015 07:01:01 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9M711Z7084314; Thu, 22 Oct 2015 07:01:01 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201510220701.t9M711Z7084314@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Thu, 22 Oct 2015 07:01:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r289742 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Oct 2015 07:01:02 -0000 Author: pho Date: Thu Oct 22 07:01:01 2015 New Revision: 289742 URL: https://svnweb.freebsd.org/changeset/base/289742 Log: Added comment about a new finding. Sponsored by: EMC / Isilon storage division Modified: user/pho/stress2/misc/signal0.sh Modified: user/pho/stress2/misc/signal0.sh ============================================================================== --- user/pho/stress2/misc/signal0.sh Thu Oct 22 06:59:14 2015 (r289741) +++ user/pho/stress2/misc/signal0.sh Thu Oct 22 07:01:01 2015 (r289742) @@ -34,6 +34,10 @@ # Panic fixed in r258497 # Signal number fixed in r258499 +# panic: vm_fault: fault on nofault entry, addr: cdbbe000 +# https://people.freebsd.org/~pho/stress/log/kostik838.txt +# Fixed by r289661. + dir=/tmp odir=`pwd` cd $dir @@ -46,7 +50,9 @@ cd $odir for i in `jot 500`; do /tmp/signal0 done -killall -q swap +while pkill -9 swap; do + : +done rm -f /tmp/signal0 exit From owner-svn-src-user@freebsd.org Sat Oct 24 15:23:45 2015 Return-Path: Delivered-To: svn-src-user@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 7B07AA1DAFF for ; Sat, 24 Oct 2015 15:23:45 +0000 (UTC) (envelope-from pho@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 4996DE09; Sat, 24 Oct 2015 15:23:45 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9OFNi43066381; Sat, 24 Oct 2015 15:23:44 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9OFNiGQ066380; Sat, 24 Oct 2015 15:23:44 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201510241523.t9OFNiGQ066380@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Sat, 24 Oct 2015 15:23:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r289880 - user/pho/stress2/misc X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 Oct 2015 15:23:45 -0000 Author: pho Date: Sat Oct 24 15:23:44 2015 New Revision: 289880 URL: https://svnweb.freebsd.org/changeset/base/289880 Log: Added one more Out of VM test scenario. Sponsored by: EMC / Isilon storage division Added: user/pho/stress2/misc/oovm2.sh (contents, props changed) Added: user/pho/stress2/misc/oovm2.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/oovm2.sh Sat Oct 24 15:23:44 2015 (r289880) @@ -0,0 +1,135 @@ +#!/bin/sh + +# +# Copyright (c) 2015 EMC Corp. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# Out of VM deadlock seen. Introduced by r285808. Variation of oovm.sh +# https://people.freebsd.org/~pho/stress/log/oovm2.txt + +# Test scenario suggestion by alc@ + +. ../default.cfg + +[ `swapinfo | wc -l` -eq 1 ] && exit 0 +size=$((`sysctl -n hw.physmem` / 1024 / 1024)) +d1=${diskimage}.1 +d2=${diskimage}.2 +d3=${diskimage}.3 +d4=${diskimage}.4 +rm -f $d1 $d2 $d3 $d4 +[ `df -k $(dirname $diskimage) | tail -1 | awk '{print int($4 / 1024)'}` -lt \ + $size ] && printf "Need %d MB on %s.\n" $size `dirname $diskimage` && exit +dd if=/dev/zero of=$d1 bs=1m count=$((size / 4)) 2>&1 | \ + egrep -v "records|transferred" +cp $d1 $d2 || exit +cp $d1 $d3 || exit +cp $d1 $d4 || exit +trap "rm -f $d1 $d2 $d3 $d4" EXIT INT + +dir=/tmp +odir=`pwd` +cd $dir +sed '1,/^EOF/d' < $odir/$0 > $dir/oovm2.c +mycc -o oovm2 -Wall -Wextra -g oovm2.c || exit 1 +rm -f oovm2.c +cd $odir + +(cd /tmp; /tmp/oovm2 $d1) & +(cd /tmp; /tmp/oovm2 $d2) & +(cd /tmp; /tmp/oovm2 $d3) & +(cd /tmp; /tmp/oovm2 $d4) & +wait + +rm -f /tmp/oovm2 /tmp/oovm2.core +exit + +EOF +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +const char *file; + +#define RUNTIME 600 + +void +test(void) +{ + struct stat st; + size_t i, olen, len; + time_t start; + int error, fd, ps; + char *p; + + ps = getpagesize(); + if ((fd = open(file, O_RDWR)) == -1) + err(1, "open(%s)", file); + if ((error = fstat(fd, &st)) == -1) + err(1, "stat(%s)", file); + len = olen = round_page(st.st_size); + do { + if ((p = mmap(NULL, len, PROT_READ | PROT_WRITE, MAP_SHARED, + fd, 0)) == MAP_FAILED) { + if (errno == ENOMEM) + len -= ps; + else + err(1, "mmap"); + } + } while (p == MAP_FAILED); + + start = time(NULL); + /* Touch all pages of the file. */ + for (i = 0; i < len; i += ps) + p[i] = 1; + while (time(NULL) - start < RUNTIME) + p[arc4random() % len] = 1; + + if (munmap(p, len) == -1) + err(1, "unmap()"); + close(fd); +} + +int +main(int argc, char *argv[]) +{ + if (argc != 2) + errx(1, "Usage: %s ", argv[0]); + file = argv[1]; + + test(); + + return (0); +} From owner-svn-src-user@freebsd.org Sat Oct 24 18:53:24 2015 Return-Path: Delivered-To: svn-src-user@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 E7CB0A1D30C for ; Sat, 24 Oct 2015 18:53:23 +0000 (UTC) (envelope-from glebius@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 A9BF711D4; Sat, 24 Oct 2015 18:53:23 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t9OIrM1Q027774; Sat, 24 Oct 2015 18:53:22 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t9OIrMqw027771; Sat, 24 Oct 2015 18:53:22 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201510241853.t9OIrMqw027771@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Sat, 24 Oct 2015 18:53:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r289883 - in user/cperciva/freebsd-update-build/scripts/9.3-RELEASE: . amd64 i386 X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 Oct 2015 18:53:24 -0000 Author: glebius Date: Sat Oct 24 18:53:22 2015 New Revision: 289883 URL: https://svnweb.freebsd.org/changeset/base/289883 Log: Check in initial configuration of 9.3-RELEASE freebsd-update-server config, that was used for the previous builds. Added: user/cperciva/freebsd-update-build/scripts/9.3-RELEASE/ user/cperciva/freebsd-update-build/scripts/9.3-RELEASE/amd64/ user/cperciva/freebsd-update-build/scripts/9.3-RELEASE/amd64/build.conf (contents, props changed) user/cperciva/freebsd-update-build/scripts/9.3-RELEASE/build.subr user/cperciva/freebsd-update-build/scripts/9.3-RELEASE/i386/ user/cperciva/freebsd-update-build/scripts/9.3-RELEASE/i386/build.conf (contents, props changed) Added: user/cperciva/freebsd-update-build/scripts/9.3-RELEASE/amd64/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/9.3-RELEASE/amd64/build.conf Sat Oct 24 18:53:22 2015 (r289883) @@ -0,0 +1,13 @@ +# SHA256 hash of disc1.iso image. +export RELH=5a3c82653d77bba7d7ded8bd7efbedc09d52cf4045d98ce52a82c9e0f8fa9b0e + +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/9.3-RELEASE/ + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games lib32" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1483228800 Added: user/cperciva/freebsd-update-build/scripts/9.3-RELEASE/build.subr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/9.3-RELEASE/build.subr Sat Oct 24 18:53:22 2015 (r289883) @@ -0,0 +1,199 @@ +# Overrides to FreeBSD Update build subroutines for FreeBSD 9.0. + +# Download and verify a release ISO image. +fetchiso () { + log "Starting fetch" + + # Figure out where the disc1 ISO image is + RELNUM=${REL%-*} +# ISO=${FTP}/${TARGET}/ISO-IMAGES/${RELNUM}/${REL}-${TARGET}-disc1.iso + ISO=${FTP}/FreeBSD-${REL}-${TARGET}-disc1.iso + + # Fetch the ISO image. We consider the ISO image to be + # the One True Release and don't look at the files used + # for FTP installs. The FreeBSD 4.7-RELEASE ISO and FTP + # files were not identical, but this should never happen + # again. + fetch -o ${WORKDIR}/iso.img -rR ${ISO} 2>&1 + + log "Verifying dvd1 hash" + + # Check that the downloaded ISO has the correct hash. + if ! [ "`sha256 -q ${WORKDIR}/iso.img`" = "${RELH}" ]; then + echo "FreeBSD ${REL}-${TARGET}-dvd1.iso has incorrect hash." + rm ${WORKDIR}/iso.img + return 1 + fi +} + +# Extract the released trees and, if appropriate, construct a world (base +# plus source code) in which to perform builds. +extractiso () { + # Create and mount a md(4) attached to the ISO image. + ISOMD=`mdconfig -a -t vnode -f ${WORKDIR}/iso.img -n` + mkdir -p ${WORKDIR}/iso + mount -t cd9660 -o ro,nosuid /dev/md${ISOMD} ${WORKDIR}/iso + + # Extract the various components into different directories + log "Extracting components" + for C in ${WORLDPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/world/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/world/${C} + done + for C in ${KERNELPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/kernel/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/kernel/${C} + done + for C in ${SOURCEPARTS}; do + mkdir -p ${WORKDIR}/release/R/trees/src/${C} + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/release/R/trees/src/${C} + done + + # If the release ISO we're handling belongs to the platform + # we're running right now, create a world image for future use. + if [ ${TARGET} = ${HOSTPLATFORM} ]; then + log "Constructing world+src image" + + # Create directory for world + mkdir ${WORKDIR}/world/ + + # Extract world and source distributions + for C in ${WORLDPARTS}; do + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/world/ + done + for C in ${SOURCEPARTS}; do + cat ${WORKDIR}/iso/usr/freebsd-dist/${C}.txz | + tar -xpzf - -C ${WORKDIR}/world/ + done + + # build a single tarball of them. + tar -czf ${WORKDIR}/../world.tgz -C ${WORKDIR}/world . + + # clean up + nuke world + fi + + # Unmount and detach the ISO image md(4). + umount ${WORKDIR}/iso + rmdir ${WORKDIR}/iso + mdconfig -d -u ${ISOMD} +} + +# Perform a build in ${WORKDIR}/$1 with BRANCH_OVERRIDE set to $2 +buildworld () { + # We need a devfs inside the jail. Note that we are using a + # jail here in order to keep the environment as "clean" as + # possible, not for security reasons; we assume that the + # original source code plus patches we add personally will + # not do anything evil. + mount -t devfs devfs ${WORKDIR}/$1/dev + + # We need to be able to set file flags + sysctl security.jail.chflags_allowed=1 >/dev/null + + # Build stuff. + jail ${WORKDIR}/$1 ${BUILDHOSTNAME} 127.1.2.3 \ + /usr/bin/env -i PATH=${PATH} RELP=${RELP} \ + BRANCH_OVERRIDE=$2 VERSION="FreeBSD 9.1-RELEASE amd64 902001" \ + TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ + /bin/sh -e <<-"EOF" 2>&1 >${WORKDIR}/$1-build.log + # Function for logging what we're doing + log () { + echo "`date` $1 for FreeBSD/${TARGET} ${RELP}" 1>&2 + } + + # Build the world + log "Building world" + cd /usr/src && + make buildworld -j17 2>&1 + + # Build and kernel + log "Building kernel" + cd /usr/src && + make buildkernel -j17 2>&1 + + # Build and install release images + log "Building release" + cd /usr/src/release && + make release 2>&1 && + make install DESTDIR=/R 2>&1 + EOF + + # Put all the components into the right places. + log "Moving components into staging area" + jail ${WORKDIR}/$1 ${BUILDHOSTNAME} 127.1.2.3 \ + /usr/bin/env -i PATH=${PATH} \ + WORLDPARTS="${WORLDPARTS}" \ + KERNELPARTS="${KERNELPARTS}" \ + SOURCEPARTS="${SOURCEPARTS}" \ + /bin/sh -e <<-"EOF" 2>&1 >>${WORKDIR}/$1-build.log + # Create area for uncompressed components + mkdir -p /R/trees + + # Move world components into place + for C in ${WORLDPARTS}; do + mkdir -p /R/trees/world/${C} + cat /R/ftp/${C}.txz | + tar -xpzf - -C /R/trees/world/${C} + done + + # Move kernel components into place + for C in ${KERNELPARTS}; do + mkdir -p /R/trees/kernel/${C} + cat /R/ftp/${C}.txz | + tar -xpzf - -C /R/trees/kernel/${C} + done + + # Extract src components into place + for C in ${SOURCEPARTS}; do + mkdir -p /R/trees/src/${C} + cat /R/ftp/${C}.txz | + tar -xpzf - -C /R/trees/src/${C} + done + EOF + + # Get rid of the devfs we no longer need. + umount ${WORKDIR}/$1/dev +} + +# Perform a build in ${WORKDIR}/$1, but with the date set 400 days +# into the future. Turn off NTP before we change the date and +# turn it back on afterwards. +futurebuildworld () { + # Turn off ntpd if necessary + if /etc/rc.d/ntpd status | + grep -q 'is running'; then + ntpd_was_running=1 + log "Turning off NTP" + /etc/rc.d/ntpd stop >/dev/null + else + ntpd_was_running=0 + fi + + date -n `date -j -v+400d "+%y%m%d%H%M.%S"` >/dev/null + buildworld $1 FUTUREBUILD + date -n `date -j -v-400d "+%y%m%d%H%M.%S"` >/dev/null + + # Turn ntpd back on, if appropriate + if [ ${ntpd_was_running} = 1 ]; then + log "Turning NTP back on" + /etc/rc.d/ntpd start >/dev/null + fi +} + +# Add extra docs to ${WORKDIR}/$1 +addextradocs () { + log "Extracting extra docs" + + # 8.0 doesn't have any extra docs +} + +# Fixup: the "kernel" kernel is really the "generic" kernel. +indexpublish () { + sed -E 's,kernel\|kernel,kernel|generic,' +} + Added: user/cperciva/freebsd-update-build/scripts/9.3-RELEASE/i386/build.conf ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/cperciva/freebsd-update-build/scripts/9.3-RELEASE/i386/build.conf Sat Oct 24 18:53:22 2015 (r289883) @@ -0,0 +1,13 @@ +# SHA256 hash of disc1.iso image. +export RELH=cab6aad9c3d5ea6a3fb4059f808225c67f1edaea730c555a86a9707ac41ba75d + +# gjb's home directory +export FTP=http://people.freebsd.org/~gjb/9.3-RELEASE/ + +# Components of the world, source, and kernels +export WORLDPARTS="base doc games" +export SOURCEPARTS="src" +export KERNELPARTS="kernel" + +# EOL date +export EOL=1483228800