From owner-svn-src-projects@FreeBSD.ORG Mon Sep 21 04:37:58 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 49B76106566C; Mon, 21 Sep 2009 04:37:58 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 39C118FC08; Mon, 21 Sep 2009 04:37:58 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8L4bwW3076340; Mon, 21 Sep 2009 04:37:58 GMT (envelope-from rodrigc@svn.freebsd.org) Received: (from rodrigc@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8L4bwq9076338; Mon, 21 Sep 2009 04:37:58 GMT (envelope-from rodrigc@svn.freebsd.org) Message-Id: <200909210437.n8L4bwq9076338@svn.freebsd.org> From: Craig Rodrigues Date: Mon, 21 Sep 2009 04:37:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197375 - projects/jbuild/usr.bin/jdirdep X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Sep 2009 04:37:58 -0000 Author: rodrigc Date: Mon Sep 21 04:37:57 2009 New Revision: 197375 URL: http://svn.freebsd.org/changeset/base/197375 Log: Fix -m option, if argument has spaces in it Modified: projects/jbuild/usr.bin/jdirdep/jcommit Modified: projects/jbuild/usr.bin/jdirdep/jcommit ============================================================================== --- projects/jbuild/usr.bin/jdirdep/jcommit Mon Sep 21 04:04:02 2009 (r197374) +++ projects/jbuild/usr.bin/jdirdep/jcommit Mon Sep 21 04:37:57 2009 (r197375) @@ -66,8 +66,8 @@ while getopts "F:m:h" my_opt do case $my_opt in h) ShowHelp; exit 0;; - F) commit_msg_file="-F $OPTARG" ;; - m) commit_msg="-m $OPTARG" ;; + F) commit_msg_file="-F \"$OPTARG\"" ;; + m) commit_msg="-m \"$OPTARG\"" ;; [?]) echo "Bad Option"; ShowHelp; exit 1 ;; esac done @@ -82,4 +82,4 @@ then fi echo $srcdir cd $srcdir -svn commit ${commit_msg_file} ${commit_msg} +eval svn commit ${commit_msg_file} ${commit_msg} From owner-svn-src-projects@FreeBSD.ORG Mon Sep 21 04:48:31 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1336B106568F; Mon, 21 Sep 2009 04:48:31 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 01B598FC0A; Mon, 21 Sep 2009 04:48:31 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8L4mUwn076576; Mon, 21 Sep 2009 04:48:30 GMT (envelope-from rodrigc@svn.freebsd.org) Received: (from rodrigc@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8L4mUlF076574; Mon, 21 Sep 2009 04:48:30 GMT (envelope-from rodrigc@svn.freebsd.org) Message-Id: <200909210448.n8L4mUlF076574@svn.freebsd.org> From: Craig Rodrigues Date: Mon, 21 Sep 2009 04:48:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197376 - projects/jbuild/usr.bin/jbuild X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Sep 2009 04:48:31 -0000 Author: rodrigc Date: Mon Sep 21 04:48:30 2009 New Revision: 197376 URL: http://svn.freebsd.org/changeset/base/197376 Log: Replace makefile with Buildfile in a bunch of places Modified: projects/jbuild/usr.bin/jbuild/jbuild.1 Modified: projects/jbuild/usr.bin/jbuild/jbuild.1 ============================================================================== --- projects/jbuild/usr.bin/jbuild/jbuild.1 Mon Sep 21 04:37:57 2009 (r197375) +++ projects/jbuild/usr.bin/jbuild/jbuild.1 Mon Sep 21 04:48:30 2009 (r197376) @@ -45,7 +45,7 @@ .Op Fl D Ar variable .Op Fl d Ar flags .Op Fl E Ar variable -.Op Fl f Ar makefile +.Op Fl f Ar Buildfile .Op Fl I Ar directory .Bk -words .Op Fl j Ar max_jobs @@ -64,7 +64,7 @@ describing dependency relationships betw files and programs. .Pp First of all, the initial list of specifications will be read -from the system makefile, +from the system Buildfile, .Pa sys.mk , unless inhibited with the .Fl r @@ -166,7 +166,7 @@ Specify a variable whose environment val macro assignments within Buildfiles. .It Fl e Specify that environment values override macro assignments within -makefiles for all variables. +Buildfiles for all variables. .It Fl f Ar Buildfile Specify a Buildfile to read instead of the default one. If @@ -182,7 +182,7 @@ standard input is read. Multiple .Fl f options can be supplied, -and the makefiles will be read in that order. +and the Buildfiles will be read in that order. Unlike the other command-line options, .Fl f is neither stored in @@ -195,14 +195,14 @@ Specify a directory in which to search f Multiple .Fl I options can be specified to form a search path. -The system makefile directory (or directories, see the +The system Buildfile directory (or directories, see the .Fl m option) is automatically appended at the tail of this path. .It Fl i -Ignore non-zero exit of shell commands in the makefile. +Ignore non-zero exit of shell commands in the Buildfile. Equivalent to specifying .Sq Ic \- -before each command line in the makefile. +before each command line in the Buildfile. .It Fl j Ar max_jobs Specify the maximum number of jobs that .Nm @@ -215,14 +215,14 @@ Continue processing after errors are enc that do not depend on the target whose creation caused the error. .It Fl m Ar directory Specify a directory in which to search for -the system makefile and makefiles included via the <...> style. +the system Buildfile and Buildfiles included via the <...> style. Multiple .Fl m options can be specified to form a search path. This path will override the default system include path, -.Pa /usr/share/mk . +.Pa ${.SRCTOP}/bld . The system include path will always be appended to the search path used -for "..."-style inclusions and makefile searches (see the +for "..."-style inclusions and Buildfile searches (see the .Fl I option). .It Fl n @@ -250,7 +250,7 @@ Do not use this option if you plan to do Do not execute any commands, but exit 0 if the specified targets are up-to-date and 1, otherwise. .It Fl r -Do not process the system makefile. +Do not process the system Buildfile. .It Fl S Stop processing when an error is encountered. Default behaviour. @@ -263,7 +263,7 @@ This increases the verbosity of the outp .Nm which defaults to not echoing commands as they are executed. .It Fl t -Rather than re-building a target as specified in the makefile, create it +Rather than re-building a target as specified in the Buildfile, create it or update its modification time to make it appear up-to-date. .It Fl V Ar variable Print @@ -311,7 +311,7 @@ See also the special target. .El .Pp -There are seven different types of lines in a makefile: file dependency +There are seven different types of lines in a Buildfile: file dependency specifications, shell commands, variable assignments, include statements, conditional directives, for loops, and comments. .Pp @@ -460,7 +460,7 @@ Variables defined as part of .Nm Ns 's environment. .It Global variables -Variables defined in the makefile or in included makefiles. +Variables defined in the Buildfile or in included Buildfiles. .It Command line variables Variables defined as part of the command line and variables obtained from the @@ -472,7 +472,7 @@ target. Variables that are defined specific to a certain target. .El .Pp -If the name of an environment variable appears in a makefile +If the name of an environment variable appears in a Buildfile on the left-hand side of an assignment, a global variable with the same name is created, and the latter shadows the former as per their relative precedences. @@ -536,7 +536,7 @@ and are permitted for compatibility with .At V -makefiles and are not recommended. +Buildfiles and are not recommended. .Pp Four of the local variables may be used in sources on dependency lines because they expand to the proper value for each target on the line. @@ -623,7 +623,7 @@ stripped off. .It Va .MAKEFILE_LIST As .Nm -reads various makefiles, including the default files and any +reads various Buildfiles, including the default files and any obtained from the command line and .Ic .include and @@ -633,7 +633,7 @@ directives, their names will be automati variable. They are added right before .Nm -begins to parse them, so that the name of the current makefile is the +begins to parse them, so that the name of the current Buildfile is the last word in this variable. .It Ev MAKEFLAGS The environment variable @@ -702,7 +702,7 @@ and command line as described above, und .Ev MAKEFLAGS . By modifying the contents of the .Va .MAKEFLAGS -global variable, the makefile can alter the contents of the +global variable, the Buildfile can alter the contents of the .Ev MAKEFLAGS environment variable made available for all programs which .Nm @@ -794,11 +794,11 @@ Name of the machine architecture .Nm was compiled for, defined at compilation time. .It Va VPATH -Makefiles may assign a colon-delimited list of directories to +Buildfiles may assign a colon-delimited list of directories to .Va VPATH . These directories will be searched for source files by .Nm -after it has finished parsing all input makefiles. +after it has finished parsing all input Buildfiles. .El .Pp Variable expansion may be modified to select or modify each word of the @@ -959,17 +959,17 @@ The following directives are supported: .Bl -tag -width Ds .It Ic .include Ar .It Ic .include Ar \*qfile\*q -Include the specified makefile. +Include the specified Buildfile. Variables between the angle brackets or double quotes are expanded to form the file name. If angle brackets -are used, the included makefile is expected to be in the system -makefile directory. +are used, the included Buildfile is expected to be in the system +Buildfile directory. If double quotes are used, the including -makefile's directory and any directories specified using the +Buildfile's directory and any directories specified using the .Fl I option are searched before the system -makefile directory. +Buildfile directory. .It Ic .sinclude Ar .It Ic .sinclude Ar \*qfile\*q Like @@ -979,22 +979,22 @@ but silently ignored if the file cannot Un-define the specified global variable. Only global variables may be un-defined. .It Ic .error Ar message -Terminate processing of the makefile immediately. +Terminate processing of the Buildfile immediately. The filename of the -makefile, the line on which the error was encountered and the specified +Buildfile, the line on which the error was encountered and the specified message are printed to the standard error output and .Nm terminates with exit code 1. Variables in the message are expanded. .It Ic .warning Ar message Emit a warning message. -The filename of the makefile, +The filename of the Buildfile, the line on which the warning was encountered, and the specified message are printed to the standard error output. Variables in the message are expanded. .El .Pp -Conditionals are used to determine which parts of the Makefile +Conditionals are used to determine which parts of the Buildfile to process. They are used similarly to the conditionals supported by the C pre-processor. @@ -1189,7 +1189,7 @@ the .Dq make expression is applied. .Pp -If the conditional evaluates to true the parsing of the makefile continues +If the conditional evaluates to true the parsing of the Buildfile continues as before. If it evaluates to false, the following lines are skipped. In both cases this continues until a @@ -1344,14 +1344,14 @@ selects the default target, to give the target on the command line. .It Ic .MAKEFILEDEPS Enable the -.Dq Remaking Makefiles +.Dq Remaking Buildfiles functionality, as explained in the -.Sx REMAKING MAKEFILES +.Sx REMAKING BUILDFILES section below. .It Ic .MAKEFLAGS This target provides a way to specify flags for .Nm -when the makefile is used. +when the Buildfile is used. The flags are as if typed to the shell, though the .Fl f option will have @@ -1367,7 +1367,7 @@ Please note the difference between this internal variable: specifying an option or variable assignment as the source for this target will affect .Em both -the current makefile and all processes that +the current Buildfile and all processes that .Nm executes. .It Ic .MFLAGS @@ -1424,7 +1424,7 @@ behavior to match the applicable .Tn POSIX specifications. (Note this disables the -.Dq Remaking Makefiles +.Dq Remaking Buildfiles feature.) .It Ic .PRECIOUS Apply the @@ -1579,7 +1579,7 @@ Each source specifies a warning flag as .Fl x command line option. Warning flags specified on the command line take precedence over flags -specified in the makefile. +specified in the Buildfile. Also, command line warning flags are pushed to sub-makes through the .Ev MAKEFLAGS environment variables so that a warning flag specified on the command @@ -1588,27 +1588,27 @@ Several flags can be specified on a sing .Ic .WARN target by seperating them with blanks. .El -.Sh REMAKING MAKEFILES +.Sh REMAKING BUILDFILES If the special target .Ic .MAKEFILEDEPS -exists in the Makefile, +exists in the Buildfile, .Nm enables the -.Dq Remaking Makefiles +.Dq Remaking Buildfiles feature. -After reading Makefile and all the files that are included using +After reading Buildfile and all the files that are included using .Ic .include or .Ic .sinclude -directives (source Makefiles) +directives (source Buildfiles) .Nm -considers each source Makefile as a target and tries to rebuild it. -Both explicit and implicit rules are checked and all source Makefiles -are updated if necessary. If any of the source Makefiles were rebuilt, +considers each source Buildfile as a target and tries to rebuild it. +Both explicit and implicit rules are checked and all source Buildfiles +are updated if necessary. If any of the source Buildfiles were rebuilt, .Nm restarts from clean state. .Pp -To prevent infinite loops the following source Makefile targets are ignored: +To prevent infinite loops the following source Buildfile targets are ignored: .Bl -bullet .It .Ic :: @@ -1626,20 +1626,20 @@ attributes targets without prerequisites and without commands .El .Pp -When remaking a source Makefile options +When remaking a source Buildfile options .Ic -t (touch target), .Ic -q (query mode), and .Ic -n -(no exec) do not take effect, unless source Makefile is specified +(no exec) do not take effect, unless source Buildfile is specified explicitly as a target in .Nm command line. .Pp -Additionally, system makefiles and +Additionally, system Buildfiles and .Ic .depend -are not considered as Makefiles that can be rebuilt. +are not considered as Buildfiles that can be rebuilt. .Sh ENVIRONMENT The .Nm @@ -1679,7 +1679,7 @@ default path to .Xr make.conf 5 .El .Sh EXAMPLES -List all included makefiles in order visited: +List all included Buildfiles in order visited: .Pp .Dl "jbuild -V .MAKEFILE_LIST | tr \e\ \e\en" .Sh COMPATIBILITY From owner-svn-src-projects@FreeBSD.ORG Mon Sep 21 05:39:57 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8C0941065670; Mon, 21 Sep 2009 05:39:57 +0000 (UTC) (envelope-from rodrigc@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7B94D8FC08; Mon, 21 Sep 2009 05:39:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8L5dvHJ077584; Mon, 21 Sep 2009 05:39:57 GMT (envelope-from rodrigc@svn.freebsd.org) Received: (from rodrigc@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8L5dvxX077582; Mon, 21 Sep 2009 05:39:57 GMT (envelope-from rodrigc@svn.freebsd.org) Message-Id: <200909210539.n8L5dvxX077582@svn.freebsd.org> From: Craig Rodrigues Date: Mon, 21 Sep 2009 05:39:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197377 - projects/jbuild/usr.bin/jdirdep X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Sep 2009 05:39:57 -0000 Author: rodrigc Date: Mon Sep 21 05:39:57 2009 New Revision: 197377 URL: http://svn.freebsd.org/changeset/base/197377 Log: Set PAGER if it is unset Modified: projects/jbuild/usr.bin/jdirdep/jcommit Modified: projects/jbuild/usr.bin/jdirdep/jcommit ============================================================================== --- projects/jbuild/usr.bin/jdirdep/jcommit Mon Sep 21 04:48:30 2009 (r197376) +++ projects/jbuild/usr.bin/jdirdep/jcommit Mon Sep 21 05:39:57 2009 (r197377) @@ -32,6 +32,8 @@ ShowHelp() exit 0 } +PAGER=${PAGER:-more} + # Here is a trick to make sure that ssh-agent is running before # we start doing a bunch of svn operations over ssh. From owner-svn-src-projects@FreeBSD.ORG Thu Sep 24 01:58:30 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 41C98106566B; Thu, 24 Sep 2009 01:58:30 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 313248FC1E; Thu, 24 Sep 2009 01:58:30 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8O1wU5D080275; Thu, 24 Sep 2009 01:58:30 GMT (envelope-from lstewart@svn.freebsd.org) Received: (from lstewart@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8O1wUgh080272; Thu, 24 Sep 2009 01:58:30 GMT (envelope-from lstewart@svn.freebsd.org) Message-Id: <200909240158.n8O1wUgh080272@svn.freebsd.org> From: Lawrence Stewart Date: Thu, 24 Sep 2009 01:58:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197447 - in projects/tcp_ffcaia2008_8.x/sys: kern sys X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Sep 2009 01:58:30 -0000 Author: lstewart Date: Thu Sep 24 01:58:29 2009 New Revision: 197447 URL: http://svn.freebsd.org/changeset/base/197447 Log: Fix alq_getn such that it no longer uses malloc, which ensures the KPI is safe to use in all contexts. This change allows the buffer to develop a "hole" at the end when a wrap occurs, which should significantly improve performance in situations where the buffer is wrapping frequently. Testing is required. Sponsored by: FreeBSD Foundation Modified: projects/tcp_ffcaia2008_8.x/sys/kern/kern_alq.c projects/tcp_ffcaia2008_8.x/sys/sys/alq.h Modified: projects/tcp_ffcaia2008_8.x/sys/kern/kern_alq.c ============================================================================== --- projects/tcp_ffcaia2008_8.x/sys/kern/kern_alq.c Thu Sep 24 00:22:33 2009 (r197446) +++ projects/tcp_ffcaia2008_8.x/sys/kern/kern_alq.c Thu Sep 24 01:58:29 2009 (r197447) @@ -59,7 +59,9 @@ struct alq { char *aq_entbuf; /* Buffer for stored entries */ int aq_writehead; int aq_writetail; + int aq_wrapearly; /* # bytes left blank at end of buf */ int aq_flags; /* Queue flags */ + struct ale aq_getpost; /* ALE for use by get/post */ struct mtx aq_mtx; /* Queue lock */ struct vnode *aq_vp; /* Open vnode handle */ struct ucred *aq_cred; /* Credentials of the opening thread */ @@ -303,6 +305,7 @@ alq_doio(struct alq *alq) int totlen; int iov; int vfslocked; + int wrapearly; KASSERT((ALQ_HAS_PENDING_DATA(alq)), ("%s: queue emtpy!", __func__) @@ -331,13 +334,15 @@ alq_doio(struct alq *alq) * - first is from writetail to end of buffer * - second is from start of buffer to writehead */ - aiov[0].iov_len = alq->aq_buflen - alq->aq_writetail; + aiov[0].iov_len = alq->aq_buflen - alq->aq_writetail - + alq->aq_wrapearly; iov++; aiov[1].iov_base = alq->aq_entbuf; aiov[1].iov_len = alq->aq_writehead; totlen = aiov[0].iov_len + aiov[1].iov_len; } + wrapearly = alq->aq_wrapearly; alq->aq_flags |= AQ_FLUSHING; ALQ_UNLOCK(alq); @@ -379,8 +384,16 @@ alq_doio(struct alq *alq) alq->aq_flags &= ~AQ_FLUSHING; /* Adjust writetail as required, taking into account wrapping. */ - alq->aq_writetail = (alq->aq_writetail + totlen) % alq->aq_buflen; - alq->aq_freebytes += totlen; + alq->aq_writetail = (alq->aq_writetail + totlen + wrapearly) % + alq->aq_buflen; + alq->aq_freebytes += totlen + wrapearly; + + /* + * If we just flushed part of the buffer which wrapped, reset the + * wrapearly indicator. + */ + if (wrapearly) + alq->aq_wrapearly = 0; /* * If we just flushed the buffer completely, @@ -613,21 +626,12 @@ alq_get(struct alq *alq, int flags) struct ale * alq_getn(struct alq *alq, int len, int flags) { - struct ale *ale; int contigbytes; KASSERT((len > 0 && len <= alq->aq_buflen), ("%s: len <= 0 || len > alq->aq_buflen", __func__) ); - ale = malloc( sizeof(struct ale), - M_ALD, - (flags & ALQ_NOWAIT) ? M_NOWAIT : M_WAITOK - ); - - if (ale == NULL) - return (NULL); - ALQ_LOCK(alq); /* @@ -640,9 +644,28 @@ alq_getn(struct alq *alq, int len, int f */ if (alq->aq_writehead <= alq->aq_writetail) contigbytes = alq->aq_freebytes; - else + else { contigbytes = alq->aq_buflen - alq->aq_writehead; + if (contigbytes < len) { + /* + * Insufficient space at end of buffer to handle a + * contiguous write. Wrap early if there's space at + * the beginning. This will leave a hole at the end + * of the buffer which we will have to skip over when + * flushing the buffer to disk. + */ + if (alq->aq_writetail >= len || flags & ALQ_WAITOK) { + /* Keep track of # bytes left blank. */ + alq->aq_wrapearly = contigbytes; + /* Do the wrap and adjust counters. */ + contigbytes = alq->aq_freebytes = + alq->aq_writetail; + alq->aq_writehead = 0; + } + } + } + /* * If the message is larger than our underlying buffer or * there is not enough free contiguous space in our underlying buffer @@ -651,7 +674,6 @@ alq_getn(struct alq *alq, int len, int f if ((len > alq->aq_buflen) || ((flags & ALQ_NOWAIT) && (contigbytes < len))) { ALQ_UNLOCK(alq); - free(ale, M_ALD); return (NULL); } @@ -678,10 +700,9 @@ alq_getn(struct alq *alq, int len, int f */ wakeup_one(alq); - /* Bail if we're shutting down */ + /* Bail if we're shutting down. */ if (alq->aq_flags & AQ_SHUTDOWN) { ALQ_UNLOCK(alq); - free(ale, M_ALD); return (NULL); } @@ -689,8 +710,7 @@ alq_getn(struct alq *alq, int len, int f * If we are here, we have a contiguous number of bytes >= len * available in our buffer starting at aq_writehead. */ - ale->ae_data = alq->aq_entbuf + alq->aq_writehead; - ale->ae_datalen = len; + alq->aq_getpost.ae_data = alq->aq_entbuf + alq->aq_writehead; alq->aq_writehead += len; alq->aq_freebytes -= len; @@ -702,7 +722,7 @@ alq_getn(struct alq *alq, int len, int f ("%s: aq_writehead < 0 || aq_writehead >= aq_buflen", __func__) ); - return (ale); + return (&alq->aq_getpost); } void @@ -724,8 +744,6 @@ alq_post(struct alq *alq, struct ale *al ald_activate(alq); ALD_UNLOCK(); } - - free(ale, M_ALD); } void Modified: projects/tcp_ffcaia2008_8.x/sys/sys/alq.h ============================================================================== --- projects/tcp_ffcaia2008_8.x/sys/sys/alq.h Thu Sep 24 00:22:33 2009 (r197446) +++ projects/tcp_ffcaia2008_8.x/sys/sys/alq.h Thu Sep 24 01:58:29 2009 (r197447) @@ -42,8 +42,9 @@ extern struct thread *ald_thread; * Async. Logging Entry */ struct ale { - char *ae_data; /* Entry buffer */ - int ae_datalen; /* Length of buffer */ + struct ale *ae_next; /* Unused, compat. */ + char *ae_data; /* Write ptr. */ + int ae_flags; /* Unused, compat. */ }; /* flags options */ From owner-svn-src-projects@FreeBSD.ORG Thu Sep 24 02:15:05 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7DEA6106566B; Thu, 24 Sep 2009 02:15:05 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 632448FC15; Thu, 24 Sep 2009 02:15:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8O2F5Mn080626; Thu, 24 Sep 2009 02:15:05 GMT (envelope-from lstewart@svn.freebsd.org) Received: (from lstewart@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8O2F5th080624; Thu, 24 Sep 2009 02:15:05 GMT (envelope-from lstewart@svn.freebsd.org) Message-Id: <200909240215.n8O2F5th080624@svn.freebsd.org> From: Lawrence Stewart Date: Thu, 24 Sep 2009 02:15:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197448 - projects/tcp_ffcaia2008_8.x/sys/kern X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Sep 2009 02:15:05 -0000 Author: lstewart Date: Thu Sep 24 02:15:05 2009 New Revision: 197448 URL: http://svn.freebsd.org/changeset/base/197448 Log: Remove cruft that was required to allow ALQ to compile and run on FreeBSD 6, 7 and 8. Any MFC of the new ALQ work will require changes to the code that replicate the relevant chunks of what this commit removes. Sponsored by: FreeBSD Foundation Modified: projects/tcp_ffcaia2008_8.x/sys/kern/kern_alq.c Modified: projects/tcp_ffcaia2008_8.x/sys/kern/kern_alq.c ============================================================================== --- projects/tcp_ffcaia2008_8.x/sys/kern/kern_alq.c Thu Sep 24 01:58:29 2009 (r197447) +++ projects/tcp_ffcaia2008_8.x/sys/kern/kern_alq.c Thu Sep 24 02:15:05 2009 (r197448) @@ -46,9 +46,7 @@ __FBSDID("$FreeBSD$"); #include #include -#if (__FreeBSD_version >= 700000) #include -#endif /* Async. Logging Queue */ struct alq { @@ -189,11 +187,7 @@ ald_daemon(void) for (;;) { while ((alq = LIST_FIRST(&ald_active)) == NULL && !ald_shutingdown) -#if (__FreeBSD_version >= 700000) mtx_sleep(&ald_active, &ald_mtx, PWAIT, "aldslp", 0); -#else - msleep(&ald_active, &ald_mtx, PWAIT, "aldslp", 0); -#endif /* Don't shutdown until all active alq's are flushed */ if (ald_shutingdown && alq == NULL) { @@ -211,14 +205,7 @@ ald_daemon(void) ALD_LOCK(); } -#if (__FreeBSD_version < 800000) -#if (__FreeBSD_version < 700000) - wakeup(ald_proc); -#endif - kthread_exit(0); -#else kproc_exit(0); -#endif } static void @@ -248,11 +235,8 @@ ald_shutdown(void *arg, int howto) wakeup(&ald_active); /* Wait for ald_daemon to exit */ -#if (__FreeBSD_version >= 700000) mtx_sleep(ald_proc, &ald_mtx, PWAIT, "aldslp", 0); -#else - msleep(ald_proc, &ald_mtx, PWAIT, "aldslp", 0); -#endif + ALD_UNLOCK(); } @@ -359,11 +343,7 @@ alq_doio(struct alq *alq) */ vfslocked = VFS_LOCK_GIANT(vp->v_mount); vn_start_write(vp, &mp, V_WAIT); -#if (__FreeBSD_version < 800000) - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); -#else vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); -#endif /* * XXX: VOP_WRITE error checks are ignored. @@ -372,11 +352,7 @@ alq_doio(struct alq *alq) if (mac_vnode_check_write(alq->aq_cred, NOCRED, vp) == 0) #endif VOP_WRITE(vp, &auio, IO_UNIT | IO_APPEND, alq->aq_cred); -#if (__FreeBSD_version < 800000) - VOP_UNLOCK(vp, 0, td); -#else VOP_UNLOCK(vp, 0); -#endif vn_finished_write(mp); VFS_UNLOCK_GIANT(vfslocked); @@ -450,24 +426,14 @@ alq_open(struct alq **alqp, const char * NDINIT(&nd, LOOKUP, NOFOLLOW | MPSAFE, UIO_SYSSPACE, file, td); flags = FWRITE | O_NOFOLLOW | O_CREAT; -#if (__FreeBSD_version < 700000) - error = vn_open_cred(&nd, &flags, cmode, cred, 0); -#elif (__FreeBSD_version < 800098) - error = vn_open_cred(&nd, &flags, cmode, cred, NULL); -#else error = vn_open_cred(&nd, &flags, cmode, 0, cred, NULL); -#endif if (error) return (error); vfslocked = NDHASGIANT(&nd); NDFREE(&nd, NDF_ONLY_PNBUF); /* We just unlock so we hold a reference. */ -#if (__FreeBSD_version < 800000) - VOP_UNLOCK(nd.ni_vp, 0, td); -#else VOP_UNLOCK(nd.ni_vp, 0); -#endif VFS_UNLOCK_GIANT(vfslocked); alq = malloc(sizeof(*alq), M_ALD, M_WAITOK|M_ZERO); From owner-svn-src-projects@FreeBSD.ORG Thu Sep 24 08:16:13 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6FC74106568F; Thu, 24 Sep 2009 08:16:13 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5E7FE8FC0A; Thu, 24 Sep 2009 08:16:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8O8GDJa089453; Thu, 24 Sep 2009 08:16:13 GMT (envelope-from lstewart@svn.freebsd.org) Received: (from lstewart@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8O8GDrr089451; Thu, 24 Sep 2009 08:16:13 GMT (envelope-from lstewart@svn.freebsd.org) Message-Id: <200909240816.n8O8GDrr089451@svn.freebsd.org> From: Lawrence Stewart Date: Thu, 24 Sep 2009 08:16:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197451 - projects/tcp_ffcaia2008_8.x/sys/netinet X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Sep 2009 08:16:13 -0000 Author: lstewart Date: Thu Sep 24 08:16:12 2009 New Revision: 197451 URL: http://svn.freebsd.org/changeset/base/197451 Log: Enable the KASSERT to catch accounting errors now that the patch to add sack_hole_bytes has been tested and works well. Sponsored by: FreeBSD Foundation Modified: projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_sack.c Modified: projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_sack.c ============================================================================== --- projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_sack.c Thu Sep 24 07:11:23 2009 (r197450) +++ projects/tcp_ffcaia2008_8.x/sys/netinet/tcp_sack.c Thu Sep 24 08:16:12 2009 (r197451) @@ -344,17 +344,12 @@ tcp_sackhole_remove(struct tcpcb *tp, st /* Free this SACK hole. */ tcp_sackhole_free(tp, hole); - /* #ifdef INVARIANTS if (TAILQ_EMPTY(&tp->snd_holes)) KASSERT(tp->sack_hole_bytes == 0, - ("tp->sack_hole_bytes is %d instead of 0", tp->sack_hole_bytes)); + ("tp->sack_hole_bytes is %d instead of 0", + tp->sack_hole_bytes)); #endif - */ - if (TAILQ_EMPTY(&tp->snd_holes) && tp->sack_hole_bytes != 0) { - printf("conn (%p) tp->sack_hole_bytes is %d instead of 0\n", tp, tp->sack_hole_bytes); - tp->sack_hole_bytes = 0; - } } /* From owner-svn-src-projects@FreeBSD.ORG Fri Sep 25 18:44:34 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 77829106566B; Fri, 25 Sep 2009 18:44:34 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 675518FC15; Fri, 25 Sep 2009 18:44:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8PIiYbQ036935; Fri, 25 Sep 2009 18:44:34 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8PIiYFV036933; Fri, 25 Sep 2009 18:44:34 GMT (envelope-from des@svn.freebsd.org) Message-Id: <200909251844.n8PIiYFV036933@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Fri, 25 Sep 2009 18:44:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197499 - projects/quota64/sys/ufs/ufs X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Sep 2009 18:44:34 -0000 Author: des Date: Fri Sep 25 18:44:34 2009 New Revision: 197499 URL: http://svn.freebsd.org/changeset/base/197499 Log: Improve comments, and remove a bogus 0 id check. Modified: projects/quota64/sys/ufs/ufs/ufs_quota.c Modified: projects/quota64/sys/ufs/ufs/ufs_quota.c ============================================================================== --- projects/quota64/sys/ufs/ufs/ufs_quota.c Fri Sep 25 18:24:21 2009 (r197498) +++ projects/quota64/sys/ufs/ufs/ufs_quota.c Fri Sep 25 18:44:34 2009 (r197499) @@ -60,6 +60,8 @@ __FBSDID("$FreeBSD$"); #include #include +CTASSERT(sizeof(struct dqblk64) == sizeof(struct dqhdr64)); + static int unprivileged_get_quota = 0; SYSCTL_INT(_security_bsd, OID_AUTO, unprivileged_get_quota, CTLFLAG_RW, &unprivileged_get_quota, 0, @@ -1124,6 +1126,14 @@ dqhashfind(struct dqhash *dqh, u_long id /* * Determine the quota file type. + * + * A 32-bit quota file is simply an array of struct dqblk32. + * + * A 64-bit quota file is a struct dqhdr64 followed by an array of struct + * dqblk64. The header contains various magic bits which allow us to be + * reasonably confident that it is indeeda 64-bit quota file and not just + * a 32-bit quota file that just happens to "look right". + * */ static int dqopen(struct vnode *vp, struct ufsmount *ump, int type) @@ -1312,23 +1322,8 @@ hfound: DQI_LOCK(dq); /* * Read the requested quota record from the quota file, performing * any necessary conversions. - * - * The record's offset within the file depends on the size of the - * record, which means we need to know whether it's a 32-bit file - * or a 64-bit file. - * - * Luckily, root's record is always at offset 0, and most of it is - * unused, so we can use it to store a magic number indicating the - * file format. Due to an acute lack of imagination, this magic - * number, stored in the first byte of root's record and hence the - * first byte of the file, is 64. - * - * Another lucky break is that quotaon() always loads root's - * record, to get the default values for dq_btime and dq_itime, so - * we will always have a chance to check the file format before - * being asked for a "real" record. */ - if (id == 0 || (ump->um_qflags[type] & QTF_64BIT)) { + if (ump->um_qflags[type] & QTF_64BIT) { recsize = sizeof(struct dqblk64); base = sizeof(struct dqhdr64); } else { @@ -1597,6 +1592,10 @@ dqflush(struct vnode *vp) #define CLIP32(u64) (u64 > UINT32_MAX ? UINT32_MAX : (uint32_t)u64) +/* + * Convert on-disk 32-bit host-order structure to in-memory 64-bit + * host-order structure. + */ static void dqb32_dq(const struct dqblk32 *dqb32, struct dquot *dq) { @@ -1611,6 +1610,10 @@ dqb32_dq(const struct dqblk32 *dqb32, st dq->dq_itime = dqb32->dqb_itime; } +/* + * Convert on-disk 64-bit network-order structure to in-memory 64-bit + * host-order structure. + */ static void dqb64_dq(const struct dqblk64 *dqb64, struct dquot *dq) { @@ -1625,6 +1628,10 @@ dqb64_dq(const struct dqblk64 *dqb64, st dq->dq_itime = be64toh(dqb64->dqb_itime); } +/* + * Convert in-memory 64-bit host-order structure to on-disk 32-bit + * host-order structure. + */ static void dq_dqb32(const struct dquot *dq, struct dqblk32 *dqb32) { @@ -1639,6 +1646,10 @@ dq_dqb32(const struct dquot *dq, struct dqb32->dqb_itime = CLIP32(dq->dq_itime); } +/* + * Convert in-memory host-order 64-bit structure to on-disk 64-bit + * network-order structure. + */ static void dq_dqb64(const struct dquot *dq, struct dqblk64 *dqb64) { @@ -1653,6 +1664,10 @@ dq_dqb64(const struct dquot *dq, struct dqb64->dqb_itime = htobe64(dq->dq_itime); } +/* + * Convert in-memory 64-bit host-order structure to in-memory 32-bit + * host-order structure. + */ static void dqb64_dqb32(const struct dqblk64 *dqb64, struct dqblk32 *dqb32) { @@ -1667,6 +1682,10 @@ dqb64_dqb32(const struct dqblk64 *dqb64, dqb32->dqb_itime = CLIP32(dqb64->dqb_itime); } +/* + * Convert in-memory 32-bit host-order structure to in-memory 64-bit + * host-order structure. + */ static void dqb32_dqb64(const struct dqblk32 *dqb32, struct dqblk64 *dqb64) { From owner-svn-src-projects@FreeBSD.ORG Fri Sep 25 18:50:34 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 424EE1065672; Fri, 25 Sep 2009 18:50:34 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3236D8FC18; Fri, 25 Sep 2009 18:50:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8PIoYlL037141; Fri, 25 Sep 2009 18:50:34 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8PIoYEk037139; Fri, 25 Sep 2009 18:50:34 GMT (envelope-from des@svn.freebsd.org) Message-Id: <200909251850.n8PIoYEk037139@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Fri, 25 Sep 2009 18:50:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197500 - projects/quota64/sys/ufs/ufs X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Sep 2009 18:50:34 -0000 Author: des Date: Fri Sep 25 18:50:33 2009 New Revision: 197500 URL: http://svn.freebsd.org/changeset/base/197500 Log: Further improve comments. Modified: projects/quota64/sys/ufs/ufs/ufs_quota.c Modified: projects/quota64/sys/ufs/ufs/ufs_quota.c ============================================================================== --- projects/quota64/sys/ufs/ufs/ufs_quota.c Fri Sep 25 18:44:34 2009 (r197499) +++ projects/quota64/sys/ufs/ufs/ufs_quota.c Fri Sep 25 18:50:33 2009 (r197500) @@ -1593,8 +1593,7 @@ dqflush(struct vnode *vp) #define CLIP32(u64) (u64 > UINT32_MAX ? UINT32_MAX : (uint32_t)u64) /* - * Convert on-disk 32-bit host-order structure to in-memory 64-bit - * host-order structure. + * Convert 32-bit host-order structure to dquot. */ static void dqb32_dq(const struct dqblk32 *dqb32, struct dquot *dq) @@ -1611,8 +1610,7 @@ dqb32_dq(const struct dqblk32 *dqb32, st } /* - * Convert on-disk 64-bit network-order structure to in-memory 64-bit - * host-order structure. + * Convert 64-bit network-order structure to dquot. */ static void dqb64_dq(const struct dqblk64 *dqb64, struct dquot *dq) @@ -1629,8 +1627,7 @@ dqb64_dq(const struct dqblk64 *dqb64, st } /* - * Convert in-memory 64-bit host-order structure to on-disk 32-bit - * host-order structure. + * Convert dquot to 32-bit host-order structure. */ static void dq_dqb32(const struct dquot *dq, struct dqblk32 *dqb32) @@ -1647,8 +1644,7 @@ dq_dqb32(const struct dquot *dq, struct } /* - * Convert in-memory host-order 64-bit structure to on-disk 64-bit - * network-order structure. + * Convert dquot to 64-bit network-order structure. */ static void dq_dqb64(const struct dquot *dq, struct dqblk64 *dqb64) @@ -1665,8 +1661,7 @@ dq_dqb64(const struct dquot *dq, struct } /* - * Convert in-memory 64-bit host-order structure to in-memory 32-bit - * host-order structure. + * Convert 64-bit host-order structure to 32-bit host-order structure. */ static void dqb64_dqb32(const struct dqblk64 *dqb64, struct dqblk32 *dqb32) @@ -1683,8 +1678,7 @@ dqb64_dqb32(const struct dqblk64 *dqb64, } /* - * Convert in-memory 32-bit host-order structure to in-memory 64-bit - * host-order structure. + * Convert 32-bit host-order structure to 64-bit host-order structure. */ static void dqb32_dqb64(const struct dqblk32 *dqb32, struct dqblk64 *dqb64) From owner-svn-src-projects@FreeBSD.ORG Fri Sep 25 22:46:00 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AB3E71065670; Fri, 25 Sep 2009 22:46:00 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 94DCD8FC15; Fri, 25 Sep 2009 22:46:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8PMk0sl041819; Fri, 25 Sep 2009 22:46:00 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8PMjx1n041786; Fri, 25 Sep 2009 22:45:59 GMT (envelope-from des@svn.freebsd.org) Message-Id: <200909252245.n8PMjx1n041786@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Fri, 25 Sep 2009 22:45:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197507 - in projects/quota64: . bin/sh cddl/contrib/opensolaris cddl/contrib/opensolaris/cmd/zfs contrib/bind9 contrib/cpio contrib/csup contrib/ee contrib/file contrib/gdb contrib/gdt... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Sep 2009 22:46:00 -0000 Author: des Date: Fri Sep 25 22:45:59 2009 New Revision: 197507 URL: http://svn.freebsd.org/changeset/base/197507 Log: Sync with head Added: projects/quota64/lib/libc/gen/getpagesizes.3 - copied unchanged from r197506, head/lib/libc/gen/getpagesizes.3 projects/quota64/lib/libc/gen/getpagesizes.c - copied unchanged from r197506, head/lib/libc/gen/getpagesizes.c projects/quota64/share/man/man9/vaccess_acl_nfs4.9 - copied unchanged from r197506, head/share/man/man9/vaccess_acl_nfs4.9 projects/quota64/sys/compat/x86bios/ - copied from r197506, head/sys/compat/x86bios/ projects/quota64/sys/fs/procfs/procfs_osrel.c - copied unchanged from r197506, head/sys/fs/procfs/procfs_osrel.c projects/quota64/sys/modules/x86bios/ - copied from r197506, head/sys/modules/x86bios/ projects/quota64/tools/regression/acltools/03.t - copied unchanged from r197506, head/tools/regression/acltools/03.t projects/quota64/tools/regression/acltools/aclfuzzer.sh - copied unchanged from r197506, head/tools/regression/acltools/aclfuzzer.sh projects/quota64/tools/regression/acltools/tools-crossfs.test - copied unchanged from r197506, head/tools/regression/acltools/tools-crossfs.test projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.1 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/1.1 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.10 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/1.10 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.11 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/1.11 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.12 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/1.12 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.13 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/1.13 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.14 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/1.14 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.15 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/1.15 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.16 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/1.16 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.17 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/1.17 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.18 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/1.18 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.2 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/1.2 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.3 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/1.3 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.4 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/1.4 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.4.1 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/1.4.1 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.5 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/1.5 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.6 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/1.6 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.7 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/1.7 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.8 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/1.8 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.9 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/1.9 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.1 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/2.1 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.10 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/2.10 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.11 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/2.11 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.12 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/2.12 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.13 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/2.13 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.14 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/2.14 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.15 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/2.15 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.16 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/2.16 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.17 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/2.17 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.18 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/2.18 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.19 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/2.19 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.2 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/2.2 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.20 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/2.20 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.21 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/2.21 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.22 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/2.22 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.3 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/2.3 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.4 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/2.4 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.5 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/2.5 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.6 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/2.6 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.7 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/2.7 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.8 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/2.8 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.9 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/2.9 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/3.1 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/3.1 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/3.2 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/3.2 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/3.3 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/3.3 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/3.4 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/3.4 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/4.1 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/4.1 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/4.2 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/4.2 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/4.3 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/4.3 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/4.4 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/4.4 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/4.5 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/4.5 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/4.6 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/4.6 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/4.7 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/4.7 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/4.8 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/4.8 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/5.1 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/5.1 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/5.2 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/5.2 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/5.3 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/5.3 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/5.4 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/5.4 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/5.5 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/5.5 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/5.6 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/5.6 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/5.7 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/5.7 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/5.8 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/5.8 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/6.1 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/6.1 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/6.2 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/6.2 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/6.3 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/6.3 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/6.4 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/6.4 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/6.5 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/6.5 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/6.6 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/6.6 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/7.1 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/7.1 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/7.2 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/7.2 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/7.3 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/7.3 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/7.4 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/7.4 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/7.5 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/7.5 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/7.6 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/7.6 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/7.7 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/7.7 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/7.8 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/7.8 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.1 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/8.1 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.10 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/8.10 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.11 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/8.11 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.12 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/8.12 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.13 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/8.13 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.14 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/8.14 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.15 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/8.15 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.16 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/8.16 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.17 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/8.17 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.18 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/8.18 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.19 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/8.19 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.2 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/8.2 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.20 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/8.20 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.21 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/8.21 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.22 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/8.22 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.23 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/8.23 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.3 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/8.3 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.4 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/8.4 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.5 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/8.5 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.6 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/8.6 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.7 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/8.7 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.8 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/8.8 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.9 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/8.9 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.1 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.1 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.10 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.10 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.11 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.11 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.12 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.12 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.13 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.13 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.14 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.14 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.15 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.15 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.16 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.16 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.17 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.17 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.18 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.18 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.19 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.19 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.2 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.2 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.20 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.20 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.21 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.21 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.22 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.22 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.23 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.23 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.24 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.24 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.25 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.25 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.26 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.26 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.27 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.27 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.28 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.28 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.29 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.29 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.3 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.3 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.30 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.30 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.31 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.31 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.4 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.4 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.5 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.5 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.6 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.6 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.7 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.7 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.8 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.8 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.9 - copied unchanged from r197506, head/tools/regression/usr.bin/sed/regress.multitest.out/9.9 Deleted: projects/quota64/sys/dev/isp/isp_tpublic.h projects/quota64/sys/modules/x86emu/ projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/100_9.10 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/101_9.11 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/102_9.12 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/103_9.13 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/104_9.14 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/105_9.15 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/106_9.16 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/107_9.17 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/108_9.18 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/109_9.19 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/10_1.9 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/110_9.20 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/111_9.21 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/112_9.22 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/113_9.23 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/114_9.24 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/115_9.25 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/116_9.26 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/117_9.27 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/118_9.28 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/119_9.29 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/11_1.10 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/120_9.30 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/121_9.31 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/12_1.11 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/13_1.12 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/14_1.13 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/15_1.14 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/16_1.15 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/17_1.16 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/18_1.17 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/19_1.18 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1_1.1 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/20_2.1 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/21_2.2 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/22_2.3 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/23_2.4 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/24_2.5 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/25_2.6 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/26_2.7 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/27_2.8 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/28_2.9 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/29_2.10 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2_1.2 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/30_2.11 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/31_2.12 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/32_2.13 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/33_2.14 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/34_2.15 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/35_2.16 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/36_2.17 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/37_2.18 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/38_2.19 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/39_2.20 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/3_1.3 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/40_2.21 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/40_3.1 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/41_2.22 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/41_3.2 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/42_3.3 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/43_3.4 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/44_4.1 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/45_4.2 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/46_4.3 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/47_4.4 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/48_4.5 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/49_4.6 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/4_1.4 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/50_4.7 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/51_4.8 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/52_5.1 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/53_5.2 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/54_5.3 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/55_5.4 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/56_5.5 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/57_5.6 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/58_5.7 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/59_5.8 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/5_1.4.1 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/60_6.1 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/61_6.2 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/62_6.3 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/63_6.4 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/64_6.5 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/65_6.6 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/66_7.1 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/67_7.2 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/68_7.3 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/69_7.4 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/6_1.5 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/70_7.5 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/71_7.6 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/72_7.7 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/73_7.8 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/74_8.1 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/75_8.2 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/76_8.3 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/77_8.4 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/78_8.5 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/79_8.6 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/7_1.6 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/80_8.7 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/81_8.8 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/82_8.9 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/83_8.10 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/84_8.11 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/85_8.12 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/86_8.13 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/87_8.14 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/88_8.15 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/89_8.16 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8_1.7 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/90_8.17 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/91_9.1 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/92_9.2 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/93_9.3 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/94_9.4 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/95_9.5 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/96_9.6 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/97_9.7 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/98_9.8 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/99_9.9 projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9_1.8 Modified: projects/quota64/ (props changed) projects/quota64/UPDATING projects/quota64/bin/sh/sh.1 projects/quota64/cddl/contrib/opensolaris/ (props changed) projects/quota64/cddl/contrib/opensolaris/cmd/zfs/zfs.8 projects/quota64/contrib/bind9/ (props changed) projects/quota64/contrib/cpio/ (props changed) projects/quota64/contrib/csup/ (props changed) projects/quota64/contrib/ee/ (props changed) projects/quota64/contrib/file/ (props changed) projects/quota64/contrib/gdb/ (props changed) projects/quota64/contrib/gdtoa/ (props changed) projects/quota64/contrib/less/ (props changed) projects/quota64/contrib/libpcap/ (props changed) projects/quota64/contrib/ncurses/ (props changed) projects/quota64/contrib/netcat/ (props changed) projects/quota64/contrib/ntp/ (props changed) projects/quota64/contrib/openbsm/ (props changed) projects/quota64/contrib/openpam/ (props changed) projects/quota64/contrib/pf/ (props changed) projects/quota64/contrib/sendmail/ (props changed) projects/quota64/contrib/tcpdump/ (props changed) projects/quota64/contrib/tcsh/ (props changed) projects/quota64/contrib/top/ (props changed) projects/quota64/contrib/wpa/ (props changed) projects/quota64/crypto/openssh/ (props changed) projects/quota64/crypto/openssl/ (props changed) projects/quota64/etc/defaults/rc.conf projects/quota64/etc/rc.subr projects/quota64/gnu/usr.bin/groff/tmac/mdoc.local projects/quota64/lib/libc/ (props changed) projects/quota64/lib/libc/gen/Makefile.inc projects/quota64/lib/libc/gen/Symbol.map projects/quota64/lib/libc/stdtime/ (props changed) projects/quota64/lib/libc/string/ffsll.c (props changed) projects/quota64/lib/libc/string/flsll.c (props changed) projects/quota64/lib/libc/sys/setfib.2 projects/quota64/lib/libdisk/change.c projects/quota64/lib/libjail/jail.3 projects/quota64/lib/libthr/thread/thr_spec.c projects/quota64/lib/libthr/thread/thr_umtx.h projects/quota64/lib/libutil/ (props changed) projects/quota64/libexec/rpc.rquotad/rquotad.c projects/quota64/release/Makefile projects/quota64/release/doc/en_US.ISO8859-1/hardware/article.sgml projects/quota64/sbin/ (props changed) projects/quota64/sbin/camcontrol/camcontrol.c projects/quota64/sbin/ipfw/ (props changed) projects/quota64/sbin/ipfw/ipfw.8 projects/quota64/sbin/mount_nfs/mount_nfs.c projects/quota64/sbin/savecore/savecore.8 projects/quota64/share/examples/scsi_target/scsi_target.c projects/quota64/share/man/man5/procfs.5 projects/quota64/share/man/man5/rc.conf.5 projects/quota64/share/man/man9/Makefile projects/quota64/share/man/man9/VOP_ACCESS.9 projects/quota64/share/man/man9/acl.9 projects/quota64/share/man/man9/fail.9 projects/quota64/share/man/man9/ieee80211.9 projects/quota64/share/man/man9/ieee80211_amrr.9 projects/quota64/share/man/man9/ieee80211_beacon.9 projects/quota64/share/man/man9/ieee80211_bmiss.9 projects/quota64/share/man/man9/ieee80211_crypto.9 projects/quota64/share/man/man9/ieee80211_ddb.9 projects/quota64/share/man/man9/ieee80211_input.9 projects/quota64/share/man/man9/ieee80211_node.9 projects/quota64/share/man/man9/ieee80211_output.9 projects/quota64/share/man/man9/ieee80211_proto.9 projects/quota64/share/man/man9/ieee80211_radiotap.9 projects/quota64/share/man/man9/ieee80211_regdomain.9 projects/quota64/share/man/man9/ieee80211_scan.9 projects/quota64/share/man/man9/ieee80211_vap.9 projects/quota64/share/man/man9/vaccess.9 projects/quota64/share/misc/bsd-family-tree projects/quota64/share/misc/iso3166 projects/quota64/share/zoneinfo/ (props changed) projects/quota64/sys/ (props changed) projects/quota64/sys/amd64/acpica/acpi_machdep.c projects/quota64/sys/amd64/acpica/madt.c projects/quota64/sys/amd64/amd64/machdep.c projects/quota64/sys/amd64/amd64/pmap.c projects/quota64/sys/amd64/amd64/trap.c projects/quota64/sys/amd64/conf/NOTES projects/quota64/sys/amd64/include/acpica_machdep.h projects/quota64/sys/amd64/include/param.h projects/quota64/sys/amd64/include/xen/ (props changed) projects/quota64/sys/amd64/pci/pci_cfgreg.c projects/quota64/sys/arm/include/param.h projects/quota64/sys/cam/cam_periph.c projects/quota64/sys/cam/scsi/scsi_target.c projects/quota64/sys/cddl/contrib/opensolaris/ (props changed) projects/quota64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/fletcher.c projects/quota64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h projects/quota64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h projects/quota64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c projects/quota64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c projects/quota64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/quota64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c projects/quota64/sys/conf/NOTES projects/quota64/sys/conf/files projects/quota64/sys/conf/files.amd64 projects/quota64/sys/conf/files.i386 projects/quota64/sys/conf/newvers.sh projects/quota64/sys/conf/options projects/quota64/sys/contrib/dev/acpica/ (props changed) projects/quota64/sys/contrib/pf/ (props changed) projects/quota64/sys/contrib/x86emu/x86emu.c projects/quota64/sys/contrib/x86emu/x86emu_util.c projects/quota64/sys/dev/acpi_support/acpi_aiboost.c projects/quota64/sys/dev/acpi_support/acpi_ibm.c projects/quota64/sys/dev/acpica/acpi.c projects/quota64/sys/dev/acpica/acpi_video.c projects/quota64/sys/dev/acpica/acpivar.h projects/quota64/sys/dev/ata/chipsets/ata-marvell.c projects/quota64/sys/dev/atkbdc/atkbd.c projects/quota64/sys/dev/de/if_de.c projects/quota64/sys/dev/de/if_devar.h projects/quota64/sys/dev/dpms/dpms.c projects/quota64/sys/dev/fb/s3_pci.c projects/quota64/sys/dev/fb/vesa.c projects/quota64/sys/dev/hwpmc/pmc_events.h projects/quota64/sys/dev/if_ndis/if_ndis.c projects/quota64/sys/dev/isp/isp.c projects/quota64/sys/dev/isp/isp_stds.h projects/quota64/sys/dev/isp/ispmbox.h projects/quota64/sys/dev/kbd/kbd.c projects/quota64/sys/dev/mwl/if_mwl.c projects/quota64/sys/dev/mxge/if_mxge.c projects/quota64/sys/dev/mxge/if_mxge_var.h projects/quota64/sys/dev/pci/pci.c projects/quota64/sys/dev/pci/pcireg.h projects/quota64/sys/dev/ppbus/vpo.c projects/quota64/sys/dev/sound/pci/es137x.c projects/quota64/sys/dev/sound/pci/es137x.h projects/quota64/sys/dev/sound/pci/t4dwave.c projects/quota64/sys/dev/syscons/syscons.c projects/quota64/sys/dev/twa/tw_cl_io.c projects/quota64/sys/dev/twa/tw_cl_share.h projects/quota64/sys/dev/twe/twe.c projects/quota64/sys/dev/twe/twevar.h projects/quota64/sys/dev/xen/xenpci/ (props changed) projects/quota64/sys/fs/procfs/procfs.c projects/quota64/sys/fs/procfs/procfs.h projects/quota64/sys/geom/part/g_part.c projects/quota64/sys/i386/acpica/acpi_machdep.c projects/quota64/sys/i386/acpica/madt.c projects/quota64/sys/i386/conf/NOTES projects/quota64/sys/i386/i386/machdep.c projects/quota64/sys/i386/i386/pmap.c projects/quota64/sys/i386/i386/trap.c projects/quota64/sys/i386/include/acpica_machdep.h projects/quota64/sys/i386/include/param.h projects/quota64/sys/i386/pci/pci_cfgreg.c projects/quota64/sys/ia64/include/param.h projects/quota64/sys/kern/kern_event.c projects/quota64/sys/kern/kern_mib.c projects/quota64/sys/kern/kern_umtx.c projects/quota64/sys/kern/subr_acl_nfs4.c projects/quota64/sys/kern/subr_bus.c projects/quota64/sys/kern/subr_devstat.c projects/quota64/sys/kern/subr_smp.c projects/quota64/sys/kern/uipc_syscalls.c projects/quota64/sys/mips/include/param.h projects/quota64/sys/modules/Makefile projects/quota64/sys/modules/procfs/Makefile projects/quota64/sys/net/if.c projects/quota64/sys/net/if_llatbl.c projects/quota64/sys/net80211/ieee80211.h projects/quota64/sys/net80211/ieee80211_hwmp.c projects/quota64/sys/net80211/ieee80211_mesh.c projects/quota64/sys/net80211/ieee80211_mesh.h projects/quota64/sys/netinet/in_mcast.c projects/quota64/sys/netinet/in_proto.c projects/quota64/sys/netinet/sctp_asconf.c projects/quota64/sys/netinet/sctp_bsd_addr.c projects/quota64/sys/netinet/sctp_input.c projects/quota64/sys/netinet/sctp_os_bsd.h projects/quota64/sys/netinet/sctp_output.c projects/quota64/sys/netinet/sctp_pcb.c projects/quota64/sys/netinet/sctp_pcb.h projects/quota64/sys/netinet/sctp_structs.h projects/quota64/sys/netinet/sctp_sysctl.c projects/quota64/sys/netinet/sctp_timer.c projects/quota64/sys/netinet/sctp_usrreq.c projects/quota64/sys/netinet/sctputil.c projects/quota64/sys/netinet6/sctp6_usrreq.c projects/quota64/sys/pci/intpm.c projects/quota64/sys/powerpc/include/param.h projects/quota64/sys/sparc64/conf/GENERIC projects/quota64/sys/sparc64/include/param.h projects/quota64/sys/sun4v/include/param.h projects/quota64/sys/sys/event.h projects/quota64/sys/sys/kbio.h projects/quota64/sys/sys/mman.h projects/quota64/sys/sys/param.h projects/quota64/sys/sys/smp.h projects/quota64/sys/sys/systm.h projects/quota64/sys/sys/vnode.h projects/quota64/sys/teken/sequences projects/quota64/sys/teken/teken.c projects/quota64/sys/teken/teken.h projects/quota64/sys/teken/teken_scs.h projects/quota64/sys/teken/teken_subr.h projects/quota64/sys/teken/teken_subr_compat.h projects/quota64/sys/ufs/ufs/ufs_gjournal.c projects/quota64/sys/vm/vm_mmap.c projects/quota64/tools/regression/acltools/00.t projects/quota64/tools/regression/sockets/accf_data_attach/accf_data_attach.c projects/quota64/tools/regression/usr.bin/sed/multitest.t projects/quota64/tools/tools/mwl/mwlstats/mwlstats.c projects/quota64/usr.bin/csup/ (props changed) projects/quota64/usr.bin/find/find.1 projects/quota64/usr.bin/gcore/elfcore.c projects/quota64/usr.bin/netstat/inet.c projects/quota64/usr.bin/procstat/ (props changed) projects/quota64/usr.bin/sed/compile.c projects/quota64/usr.sbin/crashinfo/crashinfo.8 projects/quota64/usr.sbin/dumpcis/cardinfo.h (props changed) projects/quota64/usr.sbin/dumpcis/cis.h (props changed) projects/quota64/usr.sbin/kbdcontrol/kbdcontrol.c projects/quota64/usr.sbin/kbdcontrol/kbdmap.5 projects/quota64/usr.sbin/mfiutil/mfiutil.8 (props changed) projects/quota64/usr.sbin/sysinstall/menus.c projects/quota64/usr.sbin/zic/ (props changed) Modified: projects/quota64/UPDATING ============================================================================== --- projects/quota64/UPDATING Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/UPDATING Fri Sep 25 22:45:59 2009 (r197507) @@ -22,6 +22,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. machines to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090922: + 802.11s D3.03 support was committed. This is incompatible with the + previous code, which was based on D3.0. + 20090910: ZFS snapshots are now mounted with MNT_IGNORE flag. Use -v option for mount(8) and -a option for df(1) to see them. Modified: projects/quota64/bin/sh/sh.1 ============================================================================== --- projects/quota64/bin/sh/sh.1 Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/bin/sh/sh.1 Fri Sep 25 22:45:59 2009 (r197507) @@ -375,6 +375,10 @@ introduces a comment if used at the begi The word starting with .Ql # and the rest of the line are ignored. +.Pp +.Tn ASCII +.Dv NUL +characters (character code 0) are not allowed in shell input. .Ss Quoting Quoting is used to remove the special meaning of certain characters or words to the shell, such as operators, whitespace, keywords, Modified: projects/quota64/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- projects/quota64/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Fri Sep 25 22:45:59 2009 (r197507) @@ -535,7 +535,7 @@ This property is not inherited. .ad .sp .6 .RS 4n -Controls the checksum used to verify data integrity. The default value is "on", which automatically selects an appropriate algorithm (currently, \fIfletcher2\fR, but this may change in future releases). The value "off" disables integrity +Controls the checksum used to verify data integrity. The default value is "on", which automatically selects an appropriate algorithm (currently, \fIfletcher4\fR, but this may change in future releases). The value "off" disables integrity checking on user data. Disabling checksums is NOT a recommended practice. .RE Modified: projects/quota64/etc/defaults/rc.conf ============================================================================== --- projects/quota64/etc/defaults/rc.conf Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/etc/defaults/rc.conf Fri Sep 25 22:45:59 2009 (r197507) @@ -23,6 +23,7 @@ rc_debug="NO" # Set to YES to enable debugging output from rc.d rc_info="NO" # Enables display of informational messages at boot. +rc_startmsgs="NO" # Show "Starting foo:" messages at boot rcshutdown_timeout="30" # Seconds to wait before terminating rc.shutdown early_late_divider="FILESYSTEMS" # Script that separates early/late # stages of the boot process. Make sure you know Modified: projects/quota64/etc/rc.subr ============================================================================== --- projects/quota64/etc/rc.subr Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/etc/rc.subr Fri Sep 25 22:45:59 2009 (r197507) @@ -708,7 +708,13 @@ run_rc_command() # setup the full command to run # - [ -z "${rc_quiet}" ] && echo "Starting ${name}." + _show_startmsgs=1 + if [ -n "${rc_quiet}" ]; then + if ! checkyesno rc_startmsgs; then + unset _show_startmsgs + fi + fi + [ -n "$_show_startmsgs" ] && echo "Starting ${name}." if [ -n "$_chroot" ]; then _doit="\ ${_nice:+nice -n $_nice }\ Modified: projects/quota64/gnu/usr.bin/groff/tmac/mdoc.local ============================================================================== --- projects/quota64/gnu/usr.bin/groff/tmac/mdoc.local Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/gnu/usr.bin/groff/tmac/mdoc.local Fri Sep 25 22:45:59 2009 (r197507) @@ -72,6 +72,8 @@ .ds doc-operating-system-FreeBSD-6.3 6.3 .ds doc-operating-system-FreeBSD-6.4 6.4 .ds doc-operating-system-FreeBSD-7.1 7.1 +.ds doc-operating-system-FreeBSD-7.2 7.2 +.ds doc-operating-system-FreeBSD-7.3 7.3 .ds doc-operating-system-FreeBSD-8.0 8.0 .ds doc-operating-system-FreeBSD-9.0 9.0 . Modified: projects/quota64/lib/libc/gen/Makefile.inc ============================================================================== --- projects/quota64/lib/libc/gen/Makefile.inc Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/lib/libc/gen/Makefile.inc Fri Sep 25 22:45:59 2009 (r197507) @@ -15,7 +15,7 @@ SRCS+= __getosreldate.c __xuname.c \ getbootfile.c getbsize.c \ getcap.c getcwd.c getdomainname.c getgrent.c getgrouplist.c \ gethostname.c getloadavg.c getlogin.c getmntinfo.c getnetgrent.c \ - getosreldate.c getpagesize.c \ + getosreldate.c getpagesize.c getpagesizes.c \ getpeereid.c getprogname.c getpwent.c getttyent.c \ getusershell.c getvfsbyname.c glob.c \ initgroups.c isatty.c isinf.c isnan.c jrand48.c lcong48.c \ @@ -51,8 +51,8 @@ MAN+= alarm.3 arc4random.3 \ getbootfile.3 getbsize.3 getcap.3 getcontext.3 getcwd.3 \ getdiskbyname.3 getdomainname.3 getfsent.3 \ getgrent.3 getgrouplist.3 gethostname.3 getloadavg.3 \ - getmntinfo.3 getnetgrent.3 getosreldate.3 \ - getpagesize.3 getpass.3 getpeereid.3 getprogname.3 getpwent.3 \ + getmntinfo.3 getnetgrent.3 getosreldate.3 getpagesize.3 \ + getpagesizes.3 getpass.3 getpeereid.3 getprogname.3 getpwent.3 \ getttyent.3 getusershell.3 getvfsbyname.3 \ glob.3 initgroups.3 isgreater.3 ldexp.3 lockf.3 makecontext.3 \ modf.3 \ Modified: projects/quota64/lib/libc/gen/Symbol.map ============================================================================== --- projects/quota64/lib/libc/gen/Symbol.map Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/lib/libc/gen/Symbol.map Fri Sep 25 22:45:59 2009 (r197507) @@ -366,6 +366,10 @@ FBSD_1.1 { tcsetsid; }; +FBSD_1.2 { + getpagesizes; +}; + FBSDprivate_1.0 { /* needed by thread libraries */ __thr_jtable; Copied: projects/quota64/lib/libc/gen/getpagesizes.3 (from r197506, head/lib/libc/gen/getpagesizes.3) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/quota64/lib/libc/gen/getpagesizes.3 Fri Sep 25 22:45:59 2009 (r197507, copy of r197506, head/lib/libc/gen/getpagesizes.3) @@ -0,0 +1,99 @@ +.\" Copyright (c) 2009 Alan L. Cox +.\" 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$ +.\" +.Dd September 21, 2009 +.Dt GETPAGESIZES 3 +.Os +.Sh NAME +.Nm getpagesizes +.Nd "get system page sizes" +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In sys/mman.h +.Ft int +.Fn getpagesizes "size_t pagesize[]" "int nelem" +.Sh DESCRIPTION +The +.Fn getpagesizes +function retrieves page size information from the system. +When it is called with +.Fa pagesize +specified as +.Dv NULL +and +.Fa nelem +specified as 0, it returns the number of distinct page sizes that are +supported by the system. +Otherwise, it assigns up to +.Fa nelem +of the system-supported page sizes to consecutive elements of the +array referenced by +.Fa pagesize . +These page sizes are expressed in bytes. +In this case, +.Fn getpagesizes +returns the number of such page sizes that it assigned to the array. +.Sh RETURN VALUES +If successful, the +.Fn getpagesizes +function returns either the number of page sizes that are supported by +the system or the number of supported page sizes that it assigned to +the array referenced by +.Fa pagesize . +Otherwise, it returns the value\~\-1 and sets +.Va errno +to indicate the error. +.Sh ERRORS +The +.Fn getpagesizes +function will succeed unless: +.Bl -tag -width Er +.It Bq Er EINVAL +The +.Fa pagesize +argument is +.Dv NULL +and the +.Fa nelem +argument is non-zero. +.It Bq Er EINVAL +The +.Fa nelem +argument is less than zero. +.El +.Sh SEE ALSO +.Xr getpagesize 3 +.Sh HISTORY +The +.Fn getpagesizes +function first appeared in Solaris 9. +This manual page was written in conjunction with a new but compatible +implementation that was first released in +.Fx 7.3 . +.Sh AUTHORS +This manual page was written by +.An Alan L. Cox Aq alc@cs.rice.edu . Copied: projects/quota64/lib/libc/gen/getpagesizes.c (from r197506, head/lib/libc/gen/getpagesizes.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/quota64/lib/libc/gen/getpagesizes.c Fri Sep 25 22:45:59 2009 (r197507, copy of r197506, head/lib/libc/gen/getpagesizes.c) @@ -0,0 +1,78 @@ +/*- + * Copyright (c) 2009 Alan L. Cox + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include + +#include + +/* + * Retrieves page size information from the system. Specifically, returns the + * number of distinct page sizes that are supported by the system, if + * "pagesize" is NULL and "nelem" is 0. Otherwise, assigns up to "nelem" of + * the system-supported page sizes to consecutive elements of the array + * referenced by "pagesize", and returns the number of such page sizes that it + * assigned to the array. These page sizes are expressed in bytes. + * + * The implementation of this function does not directly or indirectly call + * malloc(3) or any other dynamic memory allocator that may itself call this + * function. + */ +int +getpagesizes(size_t pagesize[], int nelem) +{ + static u_long ps[MAXPAGESIZES]; + static int nops; + size_t size; + int i; + + if (nelem < 0 || (nelem > 0 && pagesize == NULL)) { + errno = EINVAL; + return (-1); + } + /* Cache the result of the sysctl(2). */ + if (nops == 0) { + size = sizeof(ps); + if (sysctlbyname("hw.pagesizes", ps, &size, NULL, 0) == -1) + return (-1); + /* Count the number of page sizes that are supported. */ + nops = size / sizeof(ps[0]); + while (nops > 0 && ps[nops - 1] == 0) + nops--; + } + if (pagesize == NULL) + return (nops); + /* Return up to "nelem" page sizes from the cached result. */ + if (nelem > nops) + nelem = nops; + for (i = 0; i < nelem; i++) + pagesize[i] = ps[i]; + return (nelem); +} Modified: projects/quota64/lib/libc/sys/setfib.2 ============================================================================== --- projects/quota64/lib/libc/sys/setfib.2 Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/lib/libc/sys/setfib.2 Fri Sep 25 22:45:59 2009 (r197507) @@ -67,8 +67,8 @@ if the .Fa fib argument is greater than the current system maximum. .Sh SEE ALSO -.Xr setsockopt 2 , -.Xr setfib 8 +.Xr setfib 1 , +.Xr setsockopt 2 .Sh STANDARDS The .Fn setfib Modified: projects/quota64/lib/libdisk/change.c ============================================================================== --- projects/quota64/lib/libdisk/change.c Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/lib/libdisk/change.c Fri Sep 25 22:45:59 2009 (r197507) @@ -36,17 +36,22 @@ Sanitize_Bios_Geom(struct disk *disk) if (disk->bios_cyl >= 65536) sane = 0; - if (disk->bios_hd > 256) - sane = 0; #ifdef PC98 + if (disk->bios_hd >= 256) + sane = 0; if (disk->bios_sect >= 256) + sane = 0; #else + if (disk->bios_hd > 256) + sane = 0; if (disk->bios_sect > 63) -#endif sane = 0; +#endif +#if 0 /* Disable a check on a disk size. It's too strict. */ if (disk->bios_cyl * disk->bios_hd * disk->bios_sect != disk->chunks->size) sane = 0; +#endif if (sane) return; Modified: projects/quota64/lib/libjail/jail.3 ============================================================================== --- projects/quota64/lib/libjail/jail.3 Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/lib/libjail/jail.3 Fri Sep 25 22:45:59 2009 (r197507) @@ -39,7 +39,7 @@ .Nm jailparam_set , .Nm jailparam_get , .Nm jailparam_export , -.Nm jailparam_free , +.Nm jailparam_free .Nd create and manage system jails .Sh LIBRARY .Lb libjail @@ -89,14 +89,16 @@ knowing the parameter formats. The .Fn jail_getid function returns the JID of the jail identified by -.Ar name , +.Fa name , or \-1 if the jail does not exist. .Pp The .Fn jail_getname function returns the name of the jail identified by -.Ar jid , -or NULL if the jail does not exist. +.Fa jid , +or +.Dv NULL +if the jail does not exist. .Pp The .Fn jail_setv @@ -116,7 +118,7 @@ returned parameters. The .Fn jailparam_all function sets -.Ar jpp +.Fa jpp to a list of all known jail parameters, and returns the number of parameters. The list should later be freed with @@ -127,14 +129,15 @@ and The .Fn jailparam_init function clears a parameter record and copies the -.Ar name -to it. After use, it should be freed with +.Fa name +to it. +After use, it should be freed with .Fn jailparam_free . .Pp The .Fn jailparam_import function adds a -.Ar value +.Fa value to a parameter record, converting it from a string to its native form. The .Fn jailparam_import_raw @@ -151,7 +154,7 @@ and .Pp The .Fn jailparam_get -function function passes a list of parameters to +function passes a list of parameters to .Xr jail_get 2 . The parameters are assumed to have been created with .Fn jailparam_init @@ -163,7 +166,7 @@ with one parameter (the key) having been The .Fn jailparam_export function returns the string equivalent of a parameter value. -The returned string should freed after use. +The returned string should be freed after use. .Pp The .Fn jailparam_free @@ -171,6 +174,43 @@ function frees the stored names and valu If the list itself came from .Fn jailparam_all , it should be freed as well. +.Sh RETURN VALUES +The +.Fn jail_getid , +.Fn jail_setv , +.Fn jail_getv , +.Fn jailparam_set +and +.Fn jailparam_get +functions return a JID on success, or \-1 on error. +.Pp +The +.Fn jail_getname +and +.Fn jailparam_export +functions return a dynamically allocated string on success, or +.Dv NULL +on error. +.Pp +The +.Fn jailparam_all +function returns the number of parameters on success, or \-1 on error. +.Pp +The +.Fn jailparam_init , +.Fn jailparam_import +and +.Fn jailparam_import_raw +functions return 0 on success, or \-1 on error. +.Pp +Whenever an error is returned, +.Va errno +is set, and the global string +.Va jail_errmsg +contains a description of the error, possibly from +.Xr jail_set 2 +or +.Xr jail_get 2 . .Sh EXAMPLES Set the hostname of jail .Dq foo @@ -209,41 +249,6 @@ jailparam_get(params, 2, 0); hostname = jailparam_export(¶ms[1]); jailparam_free(params, 2); .Ed -.Sh RETURN VALUES -The -.Fn jail_getid , -.Fn jail_setv , -.Fn jail_getv , -.Fn jailparam_set -and -.Fn jailparam_get -functions return a JID on success, or \-1 on error. -.Pp -The -.Fn jail_getname -and -.Fn jailparam_export -functions return a dynamically allocated string on success, or NULL on error. -.Pp -The -.Fn jailparam_all -function returns the number of parameters on success, or \-1 on error. -.Pp -The -.Fn jailparam_init , -.Fn jailparam_import -and -.Fn jailparam_import_raw -functions return 0 on success, or \-1 on error. -.Pp -Whenever an error is returned, -.Va errno -is set, and the global string -.Va jail_errmsg -contains a descrption of the error, possibly from -.Xr jail_set 2 -or -.Xr jail_get 2 . .Sh ERRORS The .Nm jail @@ -256,16 +261,17 @@ or In addition, the following errors are possible: .Bl -tag -width Er .It Bq Er EINVAL -A prameter value cannot be convert from the passed string to its +A parameter value cannot be converted from the passed string to its internal form. .It Bq Er ENOENT The named parameter does not exist. .It Bq Er ENOENT A parameter is of an unknown type. +.El .Sh SEE ALSO .Xr jail 2 , -.Xr jail 8 , -.Xr sysctl 3 +.Xr sysctl 3 , +.Xr jail 8 .Sh HISTORY The .Nm jail Modified: projects/quota64/lib/libthr/thread/thr_spec.c ============================================================================== --- projects/quota64/lib/libthr/thread/thr_spec.c Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/lib/libthr/thread/thr_spec.c Fri Sep 25 22:45:59 2009 (r197507) @@ -131,9 +131,19 @@ _thread_cleanupspecific(void) curthread->specific[key].data = NULL; curthread->specific_data_count--; } + else if (curthread->specific[key].data != NULL) { + /* + * This can happen if the key is deleted via + * pthread_key_delete without first setting the value + * to NULL in all threads. POSIX says that the + * destructor is not invoked in this case. + */ + curthread->specific[key].data = NULL; + curthread->specific_data_count--; + } /* - * If there is a destructore, call it + * If there is a destructor, call it * with the key table entry unlocked: */ if (destructor != NULL) { Modified: projects/quota64/lib/libthr/thread/thr_umtx.h ============================================================================== --- projects/quota64/lib/libthr/thread/thr_umtx.h Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/lib/libthr/thread/thr_umtx.h Fri Sep 25 22:45:59 2009 (r197507) @@ -171,8 +171,11 @@ _thr_rwlock_unlock(struct urwlock *rwloc for (;;) { if (__predict_false(URWLOCK_READER_COUNT(state) == 0)) return (EPERM); - if (!((state & URWLOCK_WRITE_WAITERS) && URWLOCK_READER_COUNT(state) == 1)) { - if (atomic_cmpset_rel_32(&rwlock->rw_state, state, state-1)) + if (!((state & (URWLOCK_WRITE_WAITERS | + URWLOCK_READ_WAITERS)) && + URWLOCK_READER_COUNT(state) == 1)) { + if (atomic_cmpset_rel_32(&rwlock->rw_state, + state, state-1)) return (0); state = rwlock->rw_state; } else { Modified: projects/quota64/libexec/rpc.rquotad/rquotad.c ============================================================================== --- projects/quota64/libexec/rpc.rquotad/rquotad.c Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/libexec/rpc.rquotad/rquotad.c Fri Sep 25 22:45:59 2009 (r197507) @@ -57,8 +57,8 @@ static void cleanup(int sig) { - (void) sig; - (void) rpcb_unset(RQUOTAPROG, RQUOTAVERS, NULL); + (void)sig; + (void)rpcb_unset(RQUOTAPROG, RQUOTAVERS, NULL); exit(0); } @@ -71,18 +71,17 @@ main(void) socklen_t fromlen; fromlen = sizeof(from); - if (getsockname(0, (struct sockaddr *)&from, &fromlen) < 0) { + if (getsockname(0, (struct sockaddr *)&from, &fromlen) < 0) from_inetd = 0; - } if (!from_inetd) { daemon(0, 0); - (void) rpcb_unset(RQUOTAPROG, RQUOTAVERS, NULL); + (void)rpcb_unset(RQUOTAPROG, RQUOTAVERS, NULL); - (void) signal(SIGINT, cleanup); - (void) signal(SIGTERM, cleanup); - (void) signal(SIGHUP, cleanup); + (void)signal(SIGINT, cleanup); + (void)signal(SIGTERM, cleanup); + (void)signal(SIGHUP, cleanup); } openlog("rpc.rquotad", LOG_CONS|LOG_PID, LOG_DAEMON); @@ -95,10 +94,11 @@ main(void) exit(1); } ok = svc_reg(transp, RQUOTAPROG, RQUOTAVERS, - rquota_service, NULL); - } else + rquota_service, NULL); + } else { ok = svc_create(rquota_service, - RQUOTAPROG, RQUOTAVERS, "udp"); + RQUOTAPROG, RQUOTAVERS, "udp"); + } if (!ok) { syslog(LOG_ERR, "unable to register (RQUOTAPROG, RQUOTAVERS, %s)", @@ -143,7 +143,7 @@ sendquota(struct svc_req *request, SVCXP struct dqblk dqblk; struct timeval timev; - bzero((char *)&getq_args, sizeof(getq_args)); + bzero(&getq_args, sizeof(getq_args)); if (!svc_getargs(transp, (xdrproc_t)xdr_getquota_args, &getq_args)) { svcerr_decode(transp); return; @@ -196,7 +196,7 @@ printerr_reply(SVCXPRT *transp) /* when caller = (struct sockaddr *)svc_getrpccaller(transp)->buf; getnameinfo(caller, caller->sa_len, name, sizeof (name), - NULL, 0, NI_NUMERICHOST); + NULL, 0, NI_NUMERICHOST); errno = save_errno; if (errno == 0) syslog(LOG_ERR, "couldn't send reply to %s", name); @@ -221,15 +221,13 @@ initfs(void) if (!hasquota(fs, &qfpathname)) continue; - fs_current = (struct fs_stat *) malloc(sizeof(struct fs_stat)); + fs_current = malloc(sizeof(struct fs_stat)); fs_current->fs_next = fs_next; /* next element */ - fs_current->fs_file = - malloc(sizeof(char) * (strlen(fs->fs_file) + 1)); + fs_current->fs_file = malloc(strlen(fs->fs_file) + 1); strcpy(fs_current->fs_file, fs->fs_file); - fs_current->qfpathname = - malloc(sizeof(char) * (strlen(qfpathname) + 1)); + fs_current->qfpathname = malloc(strlen(qfpathname) + 1); strcpy(fs_current->qfpathname, qfpathname); stat(fs_current->fs_file, &st); Modified: projects/quota64/release/Makefile ============================================================================== --- projects/quota64/release/Makefile Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/release/Makefile Fri Sep 25 22:45:59 2009 (r197507) @@ -242,6 +242,7 @@ MFSSIZE= 4096 MFSINODE= 8192 MFSLABEL= auto MINIROOT= +SEPARATE_LIVEFS= .elif ${TARGET_ARCH} == "ia64" DISKLABEL= "" MAKE_DVD= Modified: projects/quota64/release/doc/en_US.ISO8859-1/hardware/article.sgml ============================================================================== --- projects/quota64/release/doc/en_US.ISO8859-1/hardware/article.sgml Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/release/doc/en_US.ISO8859-1/hardware/article.sgml Fri Sep 25 22:45:59 2009 (r197507) @@ -503,6 +503,10 @@ + &sun.blade; 2500 + + + &sun.fire; 280R @@ -511,7 +515,12 @@ - &sun.fire; V440 (except for the on-board NICs) + &sun.fire; V250 + + + + &sun.fire; V440 (support for the on-board NICs first + appeared in 8.0-RELEASE) Modified: projects/quota64/sbin/camcontrol/camcontrol.c ============================================================================== --- projects/quota64/sbin/camcontrol/camcontrol.c Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/sbin/camcontrol/camcontrol.c Fri Sep 25 22:45:59 2009 (r197507) @@ -1055,23 +1055,22 @@ atacapprint(struct ata_params *parm) printf("\n"); printf("PIO supported PIO"); - if (parm->atavalid & ATA_FLAG_64_70) { - if (parm->apiomodes & 0x02) - printf("4"); - else if (parm->apiomodes & 0x01) - printf("3"); - } else if (parm->mwdmamodes & 0x04) + switch (ata_max_pmode(parm)) { + case ATA_PIO4: printf("4"); - else if (parm->mwdmamodes & 0x02) + break; + case ATA_PIO3: printf("3"); - else if (parm->mwdmamodes & 0x01) + break; + case ATA_PIO2: printf("2"); - else if ((parm->retired_piomode & ATA_RETIRED_PIO_MASK) == 0x200) - printf("2"); - else if ((parm->retired_piomode & ATA_RETIRED_PIO_MASK) == 0x100) + break; + case ATA_PIO1: printf("1"); - else + break; + default: printf("0"); + } printf("\n"); printf("DMA%ssupported ", Modified: projects/quota64/sbin/ipfw/ipfw.8 ============================================================================== --- projects/quota64/sbin/ipfw/ipfw.8 Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/sbin/ipfw/ipfw.8 Fri Sep 25 22:45:59 2009 (r197507) @@ -869,7 +869,7 @@ The packet is tagged so as to use the FI .Ar fibnum in any subsequent forwarding decisions. Initially this is limited to the values 0 through 15, see -.Xr setfib 8 . +.Xr setfib 1 . Processing continues at the next rule. .It Cm reass Queue and reassemble ip fragments. Modified: projects/quota64/sbin/mount_nfs/mount_nfs.c ============================================================================== --- projects/quota64/sbin/mount_nfs/mount_nfs.c Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/sbin/mount_nfs/mount_nfs.c Fri Sep 25 22:45:59 2009 (r197507) @@ -104,7 +104,7 @@ struct nfhret { #define OF_NOINET6 8 int retrycnt = -1; int opflags = 0; -int nfsproto = IPPROTO_UDP; +int nfsproto = IPPROTO_TCP; int mnttcp_ok = 1; int noconn = 0; char *portspec = NULL; /* Server nfs port; NULL means look up via rpcbind. */ Modified: projects/quota64/sbin/savecore/savecore.8 ============================================================================== --- projects/quota64/sbin/savecore/savecore.8 Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/sbin/savecore/savecore.8 Fri Sep 25 22:45:59 2009 (r197507) @@ -101,14 +101,16 @@ checks the core dump in various ways to If it passes these checks, it saves the core image in .Ar directory Ns Pa /vmcore.# and information about the core in -.Ar directory Ns Pa /info.# +.Ar directory Ns Pa /info.# . For kernel textdumps generated with the .Xr textdump 4 facility, output will be stored in the .Xr tar 5 format and named -.Ar director Ns Pa /textdump.tar.# -The ``#'' is the number from the first line of the file +.Ar directory Ns Pa /textdump.tar.# . +The +.Dq # +is the number from the first line of the file .Ar directory Ns Pa /bounds , and it is incremented and stored back into the file each time .Nm Modified: projects/quota64/share/examples/scsi_target/scsi_target.c ============================================================================== --- projects/quota64/share/examples/scsi_target/scsi_target.c Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/share/examples/scsi_target/scsi_target.c Fri Sep 25 22:45:59 2009 (r197507) @@ -293,7 +293,7 @@ main(int argc, char *argv[]) if (targ_fd < 0) errx(1, "Tried to open %d devices, none available", unit); else - warnx("opened /dev/targ%d", unit); + warnx("opened %s", targname); /* The first three are handled by kevent() later */ signal(SIGHUP, SIG_IGN); Modified: projects/quota64/share/man/man5/procfs.5 ============================================================================== --- projects/quota64/share/man/man5/procfs.5 Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/share/man/man5/procfs.5 Fri Sep 25 22:45:59 2009 (r197507) @@ -2,7 +2,7 @@ .\" Written by Garrett Wollman .\" This file is in the public domain. .\" -.Dd July 9, 2009 +.Dd September 22, 2009 .Dt PROCFS 5 .Os .Sh NAME @@ -117,6 +117,12 @@ Not implemented. .It Pa notepg Used for sending signal to the process group. Not implemented. +.It Pa osrel +Allows read and write of the kernel osrel value assigned to the process. +It affects the compatibility shims that are turned on and off +depending on the value. +Initial process value is read from the ABI note tag in the executed ELF image, +and is zero if the tag not supported by binary format or was not found. .It Pa regs Allows read and write access to the process' register set. This file contains a binary data structure @@ -237,6 +243,8 @@ the complete virtual address space of th used for signaling the process .It Pa /proc/curproc/notepg used for signaling the process group +.It Pa /proc/curproc/osrel +the process osrel value .It Pa /proc/curproc/regs the process register set .It Pa /proc/curproc/rlimit Modified: projects/quota64/share/man/man5/rc.conf.5 ============================================================================== --- projects/quota64/share/man/man5/rc.conf.5 Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/share/man/man5/rc.conf.5 Fri Sep 25 22:45:59 2009 (r197507) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 2, 2009 +.Dd September 17, 2009 .Dt RC.CONF 5 .Os .Sh NAME @@ -95,6 +95,13 @@ disable informational messages from the Informational messages are displayed when a condition that is not serious enough to warrant a warning or an error occurs. +.It Va rc_startmsgs +.Pq Vt bool +If set to +.Dq Li YES , +show +.Dq Starting foo: +when faststart is used (e.g., at boot time). .It Va early_late_divider .Pq Vt str The name of the script that should be used as the Modified: projects/quota64/share/man/man9/Makefile ============================================================================== --- projects/quota64/share/man/man9/Makefile Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/share/man/man9/Makefile Fri Sep 25 22:45:59 2009 (r197507) @@ -253,6 +253,7 @@ MAN= accept_filter.9 \ usbdi.9 \ utopia.9 \ vaccess.9 \ + vaccess_acl_nfs4.9 \ vaccess_acl_posix1e.9 \ vcount.9 \ vflush.9 \ Modified: projects/quota64/share/man/man9/VOP_ACCESS.9 ============================================================================== --- projects/quota64/share/man/man9/VOP_ACCESS.9 Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/share/man/man9/VOP_ACCESS.9 Fri Sep 25 22:45:59 2009 (r197507) @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 1, 2009 +.Dd September 18, 2009 .Os .Dt VOP_ACCESS 9 .Sh NAME @@ -95,6 +95,7 @@ requested access. .El .Sh SEE ALSO .Xr vaccess 9 , +.Xr vaccess_acl_nfs4 9 , .Xr vaccess_acl_posix1e 9 , .Xr vnode 9 .Sh AUTHORS Modified: projects/quota64/share/man/man9/acl.9 ============================================================================== --- projects/quota64/share/man/man9/acl.9 Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/share/man/man9/acl.9 Fri Sep 25 22:45:59 2009 (r197507) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 23, 1999 +.Dd September 18, 2009 .Os .Dt ACL 9 .Sh NAME @@ -207,6 +207,7 @@ The following values are valid: .El .Sh SEE ALSO .Xr acl 3 , +.Xr vaccess_acl_nfs4 9 , .Xr vaccess_acl_posix1e 9 , .Xr VFS 9 , .Xr vnaccess 9 , Modified: projects/quota64/share/man/man9/fail.9 ============================================================================== --- projects/quota64/share/man/man9/fail.9 Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/share/man/man9/fail.9 Fri Sep 25 22:45:59 2009 (r197507) @@ -37,7 +37,6 @@ .Nm KFAIL_POINT_GOTO , .Nm fail_point , .Nm DEBUG_FP -. .Nd fail points .Sh SYNOPSIS .In sys/fail.h @@ -79,7 +78,7 @@ is derived from the .Fn return value set in the sysctl MIB. See -.Sx SYSCTL SETTINGS +.Sx SYSCTL VARIABLES below. .Pp The remaining @@ -100,7 +99,6 @@ is the equivalent of .Sy KFAIL_POINT_CODE(..., { error_var = RETURN_VALUE; goto label;}) .El -.Pp .Sh SYSCTL VARIABLES The .Fn KFAIL_POINT_* @@ -108,28 +106,28 @@ macros add sysctl MIBs where specified. Many base kernel MIBs can be found in the .Sy debug.fail_point tree (referenced in code by -.Sy DEBUG_FP -). +.Sy DEBUG_FP ) . .Pp The sysctl variable may be set using the following grammar: .Pp +.Bd -literal :: ( "->" )* -.Pp + :: ( ( "%") | ( "*" ) )* [ "(" ")" ] -.Pp + :: [ "." ] | "." -.Pp + :: "off" | "return" | "sleep" | "panic" | "break" | "print" +.Ed .Pp -The -argument specifies which action to take: +The argument specifies which action to take: .Bl -tag -width ".Dv return" .It Sy off Take no action (does not trigger fail point code) @@ -158,13 +156,13 @@ is evaluated before the count, i.e. "2%5 but only 5 times total". .Pp The operator -> can be used to express cascading terms. -If you specify ->, it means that if doesn't -'execute', is evaluated. +If you specify ->, it means that if does not +.Ql execute , + is evaluated. For the purpose of this operator, the return() and print() operators are the only types that cascade. A return() term only cascades if the code executes, and a print() term only cascades when passed a non-zero argument. -.Pp .Sh EXAMPLES .Bl -tag .It Sy sysctl debug.fail_point.foobar="2.1%return(5)" @@ -175,7 +173,7 @@ with RETURN_VALUE set to 5. 2/100ths of the time, execute .Fa code with RETURN_VALUE set to 5. -If that doesn't happen, 5% of the time execute +If that does not happen, 5% of the time execute .Fa code with RETURN_VALUE set to 22. .It Sy sysctl debug.fail_point.foobar="5*return(5)->0.1%return(22)" @@ -186,9 +184,8 @@ Return 5 for 1 in 1000 executions, but o .It Sy sysctl debug.fail_point.foobar="1%*sleep(50)" 1/100th of the time, sleep 50ms. .El -.Pp .Sh CAVEATS -It's easy to shoot yourself in the foot by setting fail points too +It is easy to shoot yourself in the foot by setting fail points too aggressively or setting too many in combination. For example, forcing .Fn malloc @@ -201,7 +198,6 @@ Currently, .Fn fail_point_eval does not verify whether the context is appropriate for calling .Fn msleep . -.Pp .Sh AUTHORS .An -nosplit This manual page was written by Modified: projects/quota64/share/man/man9/ieee80211.9 ============================================================================== --- projects/quota64/share/man/man9/ieee80211.9 Fri Sep 25 22:20:30 2009 (r197506) +++ projects/quota64/share/man/man9/ieee80211.9 Fri Sep 25 22:45:59 2009 (r197507) @@ -225,7 +225,7 @@ Allocate and initialize a structure. This method cannot sleep. The default method allocates zero'd memory using -.Xr malloc 9. +.Xr malloc 9 . Drivers should override this method to allocate extended storage for their own needs. Memory allocated by the driver must be tagged with *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Fri Sep 25 23:27:07 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CED961065679; Fri, 25 Sep 2009 23:27:07 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BE4198FC14; Fri, 25 Sep 2009 23:27:07 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8PNR7eD042691; Fri, 25 Sep 2009 23:27:07 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8PNR7Or042689; Fri, 25 Sep 2009 23:27:07 GMT (envelope-from des@svn.freebsd.org) Message-Id: <200909252327.n8PNR7Or042689@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Fri, 25 Sep 2009 23:27:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197510 - projects/quota64/lib/libutil X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Sep 2009 23:27:07 -0000 Author: des Date: Fri Sep 25 23:27:07 2009 New Revision: 197510 URL: http://svn.freebsd.org/changeset/base/197510 Log: Style Modified: projects/quota64/lib/libutil/quotafile.c Modified: projects/quota64/lib/libutil/quotafile.c ============================================================================== --- projects/quota64/lib/libutil/quotafile.c Fri Sep 25 23:14:43 2009 (r197509) +++ projects/quota64/lib/libutil/quotafile.c Fri Sep 25 23:27:07 2009 (r197510) @@ -269,9 +269,9 @@ quota_read(struct quotafile *qf, struct } switch (qf->wordsize) { case 32: - return quota_read32(qf, dqb, id); + return (quota_read32(qf, dqb, id)); case 64: - return quota_read64(qf, dqb, id); + return (quota_read64(qf, dqb, id)); default: errno = EINVAL; return (-1); @@ -361,9 +361,9 @@ quota_write_usage(struct quotafile *qf, */ switch (qf->wordsize) { case 32: - return quota_write32(qf, &dqbuf, id); + return (quota_write32(qf, &dqbuf, id)); case 64: - return quota_write64(qf, &dqbuf, id); + return (quota_write64(qf, &dqbuf, id)); default: errno = EINVAL; return (-1); @@ -415,9 +415,9 @@ quota_write_limits(struct quotafile *qf, */ switch (qf->wordsize) { case 32: - return quota_write32(qf, dqb, id); + return (quota_write32(qf, dqb, id)); case 64: - return quota_write64(qf, dqb, id); + return (quota_write64(qf, dqb, id)); default: errno = EINVAL; return (-1); From owner-svn-src-projects@FreeBSD.ORG Fri Sep 25 23:28:58 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3B42B106566B; Fri, 25 Sep 2009 23:28:58 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 26F3C8FC0A; Fri, 25 Sep 2009 23:28:58 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8PNSvZi042760; Fri, 25 Sep 2009 23:28:57 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8PNSvFX042758; Fri, 25 Sep 2009 23:28:57 GMT (envelope-from des@svn.freebsd.org) Message-Id: <200909252328.n8PNSvFX042758@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Fri, 25 Sep 2009 23:28:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197511 - in projects/quota64: . cddl/contrib/opensolaris contrib/bind9 contrib/cpio contrib/csup contrib/ee contrib/file contrib/gdb contrib/gdtoa contrib/less contrib/libpcap contrib/... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Sep 2009 23:28:58 -0000 Author: des Date: Fri Sep 25 23:28:57 2009 New Revision: 197511 URL: http://svn.freebsd.org/changeset/base/197511 Log: Sync with head Modified: projects/quota64/ (props changed) projects/quota64/cddl/contrib/opensolaris/ (props changed) projects/quota64/contrib/bind9/ (props changed) projects/quota64/contrib/cpio/ (props changed) projects/quota64/contrib/csup/ (props changed) projects/quota64/contrib/ee/ (props changed) projects/quota64/contrib/file/ (props changed) projects/quota64/contrib/gdb/ (props changed) projects/quota64/contrib/gdtoa/ (props changed) projects/quota64/contrib/less/ (props changed) projects/quota64/contrib/libpcap/ (props changed) projects/quota64/contrib/ncurses/ (props changed) projects/quota64/contrib/netcat/ (props changed) projects/quota64/contrib/ntp/ (props changed) projects/quota64/contrib/openbsm/ (props changed) projects/quota64/contrib/openpam/ (props changed) projects/quota64/contrib/pf/ (props changed) projects/quota64/contrib/sendmail/ (props changed) projects/quota64/contrib/tcpdump/ (props changed) projects/quota64/contrib/tcsh/ (props changed) projects/quota64/contrib/top/ (props changed) projects/quota64/contrib/wpa/ (props changed) projects/quota64/crypto/openssh/ (props changed) projects/quota64/crypto/openssl/ (props changed) projects/quota64/lib/libc/ (props changed) projects/quota64/lib/libc/stdtime/ (props changed) projects/quota64/lib/libc/string/ffsll.c (props changed) projects/quota64/lib/libc/string/flsll.c (props changed) projects/quota64/lib/libutil/ (props changed) projects/quota64/libexec/rpc.rquotad/rquotad.c projects/quota64/sbin/ (props changed) projects/quota64/sbin/ipfw/ (props changed) projects/quota64/share/zoneinfo/ (props changed) projects/quota64/sys/ (props changed) projects/quota64/sys/amd64/include/xen/ (props changed) projects/quota64/sys/cddl/contrib/opensolaris/ (props changed) projects/quota64/sys/contrib/dev/acpica/ (props changed) projects/quota64/sys/contrib/pf/ (props changed) projects/quota64/sys/dev/xen/xenpci/ (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.1 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.10 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.11 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.12 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.13 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.14 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.15 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.16 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.17 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.18 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.2 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.3 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.4 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.4.1 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.5 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.6 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.7 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.8 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/1.9 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.1 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.10 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.11 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.12 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.13 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.14 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.15 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.16 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.17 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.18 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.19 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.2 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.20 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.21 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.22 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.3 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.4 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.5 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.6 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.7 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.8 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/2.9 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/3.1 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/3.2 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/3.3 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/3.4 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/4.1 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/4.2 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/4.3 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/4.4 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/4.5 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/4.6 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/4.7 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/4.8 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/5.1 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/5.2 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/5.3 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/5.4 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/5.5 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/5.6 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/5.7 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/5.8 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/6.1 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/6.2 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/6.3 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/6.4 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/6.5 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/6.6 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/7.1 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/7.2 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/7.3 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/7.4 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/7.5 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/7.6 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/7.7 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/7.8 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.1 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.10 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.11 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.12 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.13 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.14 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.15 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.16 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.17 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.2 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.3 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.4 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.5 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.6 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.7 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.8 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/8.9 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.1 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.10 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.11 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.12 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.13 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.14 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.15 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.16 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.17 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.18 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.19 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.2 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.20 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.21 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.22 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.23 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.24 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.25 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.26 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.27 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.28 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.29 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.3 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.30 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.31 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.4 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.5 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.6 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.7 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.8 (props changed) projects/quota64/tools/regression/usr.bin/sed/regress.multitest.out/9.9 (props changed) projects/quota64/usr.bin/csup/ (props changed) projects/quota64/usr.bin/procstat/ (props changed) projects/quota64/usr.sbin/dumpcis/cardinfo.h (props changed) projects/quota64/usr.sbin/dumpcis/cis.h (props changed) projects/quota64/usr.sbin/mfiutil/mfiutil.8 (props changed) projects/quota64/usr.sbin/zic/ (props changed) Modified: projects/quota64/libexec/rpc.rquotad/rquotad.c ============================================================================== --- projects/quota64/libexec/rpc.rquotad/rquotad.c Fri Sep 25 23:27:07 2009 (r197510) +++ projects/quota64/libexec/rpc.rquotad/rquotad.c Fri Sep 25 23:28:57 2009 (r197511) @@ -176,9 +176,8 @@ sendquota(struct svc_req *request, SVCXP getq_rslt.getquota_rslt_u.gqr_rquota.rq_ftimeleft = dqblk.dqb_itime - timev.tv_sec; } - if (!svc_sendreply(transp, (xdrproc_t)xdr_getquota_rslt, &getq_rslt)) { + if (!svc_sendreply(transp, (xdrproc_t)xdr_getquota_rslt, &getq_rslt)) svcerr_systemerr(transp); - } if (!svc_freeargs(transp, (xdrproc_t)xdr_getquota_args, &getq_args)) { syslog(LOG_ERR, "unable to free arguments"); exit(1); @@ -190,10 +189,9 @@ printerr_reply(SVCXPRT *transp) /* when { char name[INET6_ADDRSTRLEN]; struct sockaddr *caller; - int save_errno; + int save_errno; save_errno = errno; - caller = (struct sockaddr *)svc_getrpccaller(transp)->buf; getnameinfo(caller, caller->sa_len, name, sizeof (name), NULL, 0, NI_NUMERICHOST); @@ -257,7 +255,7 @@ getfsquota(long id, char *path, struct d qcmd = QCMD(Q_GETQUOTA, USRQUOTA); for (fs = fs_begin; fs != NULL; fs = fs->fs_next) { - /* where the devise is the same as path */ + /* where the device is the same as path */ if (fs->st_dev != st_path.st_dev) continue; From owner-svn-src-projects@FreeBSD.ORG Sat Sep 26 23:16:06 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7F671106566C; Sat, 26 Sep 2009 23:16:06 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6E5778FC16; Sat, 26 Sep 2009 23:16:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8QNG6kq073501; Sat, 26 Sep 2009 23:16:06 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8QNG6CH073496; Sat, 26 Sep 2009 23:16:06 GMT (envelope-from des@svn.freebsd.org) Message-Id: <200909262316.n8QNG6CH073496@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Sat, 26 Sep 2009 23:16:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197532 - projects/quota64/lib/libutil X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Sep 2009 23:16:06 -0000 Author: des Date: Sat Sep 26 23:16:06 2009 New Revision: 197532 URL: http://svn.freebsd.org/changeset/base/197532 Log: Further extend the quotafile API. Modified: projects/quota64/lib/libutil/Makefile projects/quota64/lib/libutil/libutil.h projects/quota64/lib/libutil/quotafile.3 projects/quota64/lib/libutil/quotafile.c Modified: projects/quota64/lib/libutil/Makefile ============================================================================== --- projects/quota64/lib/libutil/Makefile Sat Sep 26 23:05:01 2009 (r197531) +++ projects/quota64/lib/libutil/Makefile Sat Sep 26 23:16:06 2009 (r197532) @@ -60,8 +60,12 @@ MLINKS+=pidfile.3 pidfile_open.3 \ pidfile.3 pidfile_close.3 \ pidfile.3 pidfile_remove.3 MLINKS+=quotafile.3 quota_open.3 \ + quotafile.3 quota_fsname.3 \ + quotafile.3 quota_qfname.3 \ + quotafile.3 quota_statfs.3 \ quotafile.3 quota_read.3 \ - quotafile.3 quota_write.3 \ + quotafile.3 quota_write_limits.3 \ + quotafile.3 quota_write_usage.3 \ quotafile.3 quota_close.3 .include Modified: projects/quota64/lib/libutil/libutil.h ============================================================================== --- projects/quota64/lib/libutil/libutil.h Sat Sep 26 23:05:01 2009 (r197531) +++ projects/quota64/lib/libutil/libutil.h Sat Sep 26 23:16:06 2009 (r197532) @@ -144,10 +144,13 @@ int pidfile_remove(struct pidfh *pfh); struct quotafile; struct fstab; struct quotafile *quota_open(struct fstab *, int, int); -void quota_close(struct quotafile *); +const char *quota_fsname(const struct quotafile *); +const char *quota_qfname(const struct quotafile *); +int quota_check_path(const struct quotafile *, const char *path); int quota_read(struct quotafile *, struct dqblk *, int); int quota_write_limits(struct quotafile *, struct dqblk *, int); int quota_write_usage(struct quotafile *, struct dqblk *, int); +void quota_close(struct quotafile *); #endif __END_DECLS Modified: projects/quota64/lib/libutil/quotafile.3 ============================================================================== --- projects/quota64/lib/libutil/quotafile.3 Sat Sep 26 23:05:01 2009 (r197531) +++ projects/quota64/lib/libutil/quotafile.3 Sat Sep 26 23:16:06 2009 (r197532) @@ -25,11 +25,14 @@ .\" .\" $FreeBSD$ .\" -.Dd February 14, 2009 +.Dd September 26, 2009 .Dt QUOTAFILE 3 .Os .Sh NAME .Nm quota_open +.Nm quota_fsname +.Nm quota_qfname +.Nm quota_check_path .Nm quota_read .Nm quota_write_limits .Nm quota_write_usage @@ -38,11 +41,19 @@ .Sh LIBRARY .Lb libutil .Sh SYNOPSIS +.In sys/param.h +.In sys/mount.h .In ufs/ufs/quota.h .In libutil.h .In fstab.h .Ft "struct quotafile *" .Fn quota_open "struct fstab *fs" "int quotatype" "int openflags" +.Ft "const char *" +.Fn quota_fsname "const struct quotafile *qf" +.Ft "const char *" +.Fn quota_qfname "const struct quotafile *qf" +.Ft int +.Fn quota_check_path "const struct quotafile *qf" "const char *path" .Ft int .Fn quota_read "struct quotafile *qf" "struct dqblk *dqb" "int id" .Ft int @@ -84,12 +95,42 @@ if the quotas are just to be read, or if the quotas are to be updated. The .Dv O_CREAT -flag should be specified if a new quota file of the requested type should -be created if it does not already exist. +flag should be specified if a new quota file of the requested type +should be created if it does not already exist. +.Pp +The +.Fn quota_fsname +function returns a pointer to a buffer containing the path to the root +of the file system that corresponds to its +.Va qf +argument, as listed in +.Pa /etc/fstab . +Note that this may be a symbolic link to the actual directory. +.Pp +The +.Fn quota_qfname +function returns a pointer to a buffer containing the name of the +quota file that corresponds to its +.Va qf +argument. +Note that this may be a symbolic link to the actual file. +.Pp +The +.Fn quota_check_path +function checks if the specified path is within the filesystem that +corresponds to its +.Va qf +argument. +If the +.Va path +argument refers to a symbolic link, +.Fn quota_check_path +will follow it. .Pp The .Fn quota_read -function reads the quota from the filesystem and quota type referenced by +function reads the quota from the filesystem and quota type referenced +by .Va qf for the user (or group) specified by .Va id @@ -127,6 +168,9 @@ The function closes any open file descriptors and frees any storage associated with the filesystem and quota type referenced by .Va qf . +.Sh IMPLEMENTATION NOTES +If the underlying quota file is in the old 32-bit format, limit and +usage values written to the quota file will be clipped to 32 bits. .Sh RETURN VALUES If the filesystem has quotas associated with it, .Fn quota_open @@ -137,7 +181,15 @@ If the filesystem has no quotas, or acce .Dv NULL is returned and .Va errno -is set to indicate the cause of failure. +is set to indicate the error. +.Pp +The +.Fn quota_check_path +function returns\~1 for a positive result and\~0 for a negative +result. +If an error occurs, it returns\~-1 and sets +.Va errno +to indicate the error. .Pp The .Fn quota_read , @@ -146,11 +198,10 @@ The and .Fn quota_close functions return zero on success. -On error they return -.Dv -1 +On error they return\~-1 and set .Va errno -to indicate the cause of failure. +to indicate the error. .Sh SEE ALSO .Xr quotactl 2 , .Xr quota.user 5 , Modified: projects/quota64/lib/libutil/quotafile.c ============================================================================== --- projects/quota64/lib/libutil/quotafile.c Sat Sep 26 23:05:01 2009 (r197531) +++ projects/quota64/lib/libutil/quotafile.c Sat Sep 26 23:16:06 2009 (r197532) @@ -49,8 +49,10 @@ struct quotafile { int fd; /* -1 means using quotactl for access */ + int accmode; /* access mode */ int wordsize; /* 32-bit or 64-bit limits */ int quotatype; /* USRQUOTA or GRPQUOTA */ + dev_t dev; /* device */ char fsname[MAXPATHLEN + 1]; /* mount point of filesystem */ char qfname[MAXPATHLEN + 1]; /* quota file if not using quotactl */ }; @@ -59,6 +61,7 @@ static const char *qfextension[] = INITQ /* * Check to see if a particular quota is to be enabled. + * XXX merge into quota_open */ static int hasquota(struct fstab *fs, int type, char *qfnamep, int qfbufsize) @@ -69,6 +72,11 @@ hasquota(struct fstab *fs, int type, cha char buf[BUFSIZ]; static char initname, usrname[100], grpname[100]; + /* + * XXX + * 1) we only need one of these + * 2) fstab may specify a different filename + */ if (!initname) { (void)snprintf(usrname, sizeof(usrname), "%s%s", qfextension[USRQUOTA], QUOTAFILENAME); @@ -109,12 +117,17 @@ quota_open(struct fstab *fs, int quotaty struct quotafile *qf; struct dqhdr64 dqh; struct group *grp; + struct stat st; int qcmd, serrno; if ((qf = calloc(1, sizeof(*qf))) == NULL) return (NULL); + qf->fd = -1; qf->quotatype = quotatype; strncpy(qf->fsname, fs->fs_file, sizeof(qf->fsname)); + if (stat(qf->fsname, &st) != 0) + goto error; + qf->dev = st.st_dev; qcmd = QCMD(Q_GETQUOTA, quotatype); if (quotactl(fs->fs_file, qcmd, 0, &dqh) == 0) { qf->wordsize = 64; @@ -122,27 +135,19 @@ quota_open(struct fstab *fs, int quotaty return (qf); } if (!hasquota(fs, quotatype, qf->qfname, sizeof(qf->qfname))) { - free(qf); errno = EOPNOTSUPP; - return (NULL); - } - if ((qf->fd = open(qf->qfname, openflags & O_ACCMODE)) < 0 && - (openflags & O_CREAT) == 0) { - serrno = errno; - free(qf); - errno = serrno; - return (NULL); + goto error; } + qf->accmode = openflags & O_ACCMODE; + if ((qf->fd = open(qf->qfname, qf->accmode)) < 0 && + (openflags & O_CREAT) != O_CREAT) + goto error; /* File open worked, so process it */ if (qf->fd != -1) { qf->wordsize = 32; switch (read(qf->fd, &dqh, sizeof(dqh))) { case -1: - serrno = errno; - close(qf->fd); - free(qf); - errno = serrno; - return (NULL); + goto error; case sizeof(dqh): if (strcmp(dqh.dqh_magic, Q_DQHDR64_MAGIC) != 0) { /* no magic, assume 32 bits */ @@ -153,10 +158,8 @@ quota_open(struct fstab *fs, int quotaty be32toh(dqh.dqh_hdrlen) != sizeof(struct dqhdr64) || be32toh(dqh.dqh_reclen) != sizeof(struct dqblk64)) { /* correct magic, wrong version / lengths */ - close(qf->fd); - free(qf); errno = EINVAL; - return (NULL); + goto error; } qf->wordsize = 64; return (qf); @@ -166,31 +169,33 @@ quota_open(struct fstab *fs, int quotaty } /* not reached */ } - /* Open failed above, but O_CREAT specified, so create a new file */ - if ((qf->fd = open(qf->qfname, O_RDWR|O_CREAT|O_TRUNC, 0)) < 0) { - serrno = errno; - free(qf); - errno = serrno; - return (NULL); - } + /* open failed, but O_CREAT was specified, so create a new file */ + if ((qf->fd = open(qf->qfname, O_RDWR|O_CREAT|O_TRUNC, 0)) < 0) + goto error; qf->wordsize = 64; memset(&dqh, 0, sizeof(dqh)); memcpy(dqh.dqh_magic, Q_DQHDR64_MAGIC, sizeof(dqh.dqh_magic)); dqh.dqh_version = htobe32(Q_DQHDR64_VERSION); dqh.dqh_hdrlen = htobe32(sizeof(struct dqhdr64)); dqh.dqh_reclen = htobe32(sizeof(struct dqblk64)); - if (write(qf->fd, &dqh, sizeof(dqh)) != sizeof(dqh)) { - serrno = errno; - unlink(qf->qfname); - close(qf->fd); - free(qf); - errno = serrno; - return (NULL); - } + if (write(qf->fd, &dqh, sizeof(dqh)) != sizeof(dqh)) + goto error; grp = getgrnam(QUOTAGROUP); fchown(qf->fd, 0, grp ? grp->gr_gid : 0); fchmod(qf->fd, 0640); return (qf); +error: + serrno = errno; + /* did we have an open file? */ + if (qf->fd != -1) { + /* was it one we created ourselves? */ + if ((openflags & O_CREAT) == O_CREAT) + unlink(qf->qfname); + close(qf->fd); + } + free(qf); + errno = serrno; + return (NULL); } void @@ -202,6 +207,30 @@ quota_close(struct quotafile *qf) free(qf); } +const char * +quota_fsname(const struct quotafile *qf) +{ + + return (qf->fsname); +} + +const char * +quota_qfname(const struct quotafile *qf) +{ + + return (qf->qfname); +} + +int +quota_check_path(const struct quotafile *qf, const char *path) +{ + struct stat st; + + if (stat(path, &st) == -1) + return (-1); + return (st.st_dev == qf->dev); +} + static int quota_read32(struct quotafile *qf, struct dqblk *dqb, int id) { @@ -333,6 +362,10 @@ quota_write_usage(struct quotafile *qf, struct dqblk dqbuf; int qcmd; + if ((qf->accmode & O_RDWR) != O_RDWR) { + errno = EBADF; + return (-1); + } if (qf->fd == -1) { qcmd = QCMD(Q_SETUSE, qf->quotatype); return (quotactl(qf->fsname, qcmd, id, dqb)); @@ -377,6 +410,10 @@ quota_write_limits(struct quotafile *qf, struct dqblk dqbuf; int qcmd; + if ((qf->accmode & O_RDWR) != O_RDWR) { + errno = EBADF; + return (-1); + } if (qf->fd == -1) { qcmd = QCMD(Q_SETQUOTA, qf->quotatype); return (quotactl(qf->fsname, qcmd, id, dqb)); From owner-svn-src-projects@FreeBSD.ORG Sat Sep 26 23:25:22 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E9F02106566C; Sat, 26 Sep 2009 23:25:22 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D66248FC08; Sat, 26 Sep 2009 23:25:22 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n8QNPMZM073740; Sat, 26 Sep 2009 23:25:22 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8QNPM4h073711; Sat, 26 Sep 2009 23:25:22 GMT (envelope-from des@svn.freebsd.org) Message-Id: <200909262325.n8QNPM4h073711@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Sat, 26 Sep 2009 23:25:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197533 - in projects/quota64: . cddl/contrib/opensolaris contrib/bind9 contrib/cpio contrib/csup contrib/ee contrib/file contrib/gdb contrib/gdtoa contrib/less contrib/libpcap contrib/... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Sep 2009 23:25:23 -0000 Author: des Date: Sat Sep 26 23:25:22 2009 New Revision: 197533 URL: http://svn.freebsd.org/changeset/base/197533 Log: Sync from head. Added: projects/quota64/share/man/man4/lindev.4 - copied unchanged from r197532, head/share/man/man4/lindev.4 projects/quota64/sys/dev/lindev/ - copied from r197532, head/sys/dev/lindev/ projects/quota64/sys/modules/lindev/ - copied from r197532, head/sys/modules/lindev/ Modified: projects/quota64/ (props changed) projects/quota64/UPDATING projects/quota64/cddl/contrib/opensolaris/ (props changed) projects/quota64/contrib/bind9/ (props changed) projects/quota64/contrib/cpio/ (props changed) projects/quota64/contrib/csup/ (props changed) projects/quota64/contrib/ee/ (props changed) projects/quota64/contrib/file/ (props changed) projects/quota64/contrib/gdb/ (props changed) projects/quota64/contrib/gdtoa/ (props changed) projects/quota64/contrib/less/ (props changed) projects/quota64/contrib/libpcap/ (props changed) projects/quota64/contrib/ncurses/ (props changed) projects/quota64/contrib/netcat/ (props changed) projects/quota64/contrib/ntp/ (props changed) projects/quota64/contrib/openbsm/ (props changed) projects/quota64/contrib/openpam/ (props changed) projects/quota64/contrib/pf/ (props changed) projects/quota64/contrib/sendmail/ (props changed) projects/quota64/contrib/tcpdump/ (props changed) projects/quota64/contrib/tcsh/ (props changed) projects/quota64/contrib/top/ (props changed) projects/quota64/contrib/wpa/ (props changed) projects/quota64/crypto/openssh/ (props changed) projects/quota64/crypto/openssl/ (props changed) projects/quota64/etc/network.subr projects/quota64/etc/rc.d/defaultroute projects/quota64/etc/rc.d/ip6addrctl projects/quota64/etc/rc.d/netif projects/quota64/etc/rc.d/routing projects/quota64/etc/rc.d/rtadvd projects/quota64/lib/libc/ (props changed) projects/quota64/lib/libc/stdlib/malloc.3 projects/quota64/lib/libc/stdlib/malloc.c projects/quota64/lib/libc/stdtime/ (props changed) projects/quota64/lib/libc/string/ffsll.c (props changed) projects/quota64/lib/libc/string/flsll.c (props changed) projects/quota64/lib/libutil/ (props changed) projects/quota64/libexec/rpc.rquotad/rquotad.c projects/quota64/sbin/ (props changed) projects/quota64/sbin/ifconfig/ifconfig.8 projects/quota64/sbin/ipfw/ (props changed) projects/quota64/share/man/man4/Makefile projects/quota64/share/man/man5/rc.conf.5 projects/quota64/share/zoneinfo/ (props changed) projects/quota64/sys/ (props changed) projects/quota64/sys/amd64/conf/NOTES projects/quota64/sys/amd64/include/xen/ (props changed) projects/quota64/sys/arm/arm/identcpu.c projects/quota64/sys/arm/include/md_var.h projects/quota64/sys/boot/forth/loader.conf projects/quota64/sys/cddl/contrib/opensolaris/ (props changed) projects/quota64/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c projects/quota64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c projects/quota64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c projects/quota64/sys/conf/files.amd64 projects/quota64/sys/conf/files.i386 projects/quota64/sys/conf/files.pc98 projects/quota64/sys/contrib/dev/acpica/ (props changed) projects/quota64/sys/contrib/pf/ (props changed) projects/quota64/sys/dev/syscons/scterm-teken.c projects/quota64/sys/dev/xen/xenpci/ (props changed) projects/quota64/sys/i386/conf/NOTES projects/quota64/sys/modules/Makefile projects/quota64/sys/nfsserver/nfs_serv.c projects/quota64/sys/pc98/conf/NOTES projects/quota64/sys/teken/teken.c projects/quota64/sys/teken/teken.h projects/quota64/sys/teken/teken_demo.c projects/quota64/sys/teken/teken_scs.h projects/quota64/sys/teken/teken_stress.c projects/quota64/sys/teken/teken_subr.h projects/quota64/sys/teken/teken_subr_compat.h projects/quota64/usr.bin/csup/ (props changed) projects/quota64/usr.bin/procstat/ (props changed) projects/quota64/usr.sbin/dumpcis/cardinfo.h (props changed) projects/quota64/usr.sbin/dumpcis/cis.h (props changed) projects/quota64/usr.sbin/mfiutil/mfiutil.8 (props changed) projects/quota64/usr.sbin/zic/ (props changed) Modified: projects/quota64/UPDATING ============================================================================== --- projects/quota64/UPDATING Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/UPDATING Sat Sep 26 23:25:22 2009 (r197533) @@ -22,10 +22,61 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. machines to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090926: + The rc.d/network_ipv6, IPv6 configuration script has been integrated + into rc.d/netif. The changes are the following: + + 1. To use IPv6, simply define $ifconfig_IF_ipv6 like $ifconfig_IF + for IPv4. For aliases, $ifconfig_IF_aliasN should be used. + Note that both variables need the "inet6" keyword at the head. + + Do not set $ipv6_network_interfaces manually if you do not + understand what you are doing. It is not needed in most cases. + + $ipv6_ifconfig_IF and $ipv6_ifconfig_IF_aliasN still work, but + they are obsolete. + + 2. $ipv6_enable is obsolete. Use $ipv6_prefer and + "inet6 accept_rtadv" keyword in ifconfig(8) instead. + + If you define $ipv6_enable=YES, it means $ipv6_prefer=YES and + all configured interfaces have "inet6 accept_rtadv" in the + $ifconfig_IF_ipv6. These are for backward compatibility. + + 3. A new variable $ipv6_prefer has been added. If NO, IPv6 + functionality of interfaces with no corresponding + $ifconfig_IF_ipv6 is disabled by using "inet6 ifdisabled" flag, + and the default address selection policy of ip6addrctl(8) + is the IPv4-preferred one (see rc.d/ip6addrctl for more details). + Note that if you want to configure IPv6 functionality on the + disabled interfaces after boot, first you need to clear the flag by + using ifconfig(8) like: + + ifconfig em0 inet6 -ifdisabled + + If YES, the default address selection policy is set as + IPv6-preferred. + + The default value of $ipv6_prefer is NO. + + 4. If your system need to receive Router Advertisement messages, + define "inet6 accept_rtadv" in $ifconfig_IF_ipv6. The rc(8) + scripts automatically invoke rtsol(8) when the interface becomes + UP. The Router Advertisement messages are used for SLAAC + (State-Less Address AutoConfiguration). + 20090922: 802.11s D3.03 support was committed. This is incompatible with the previous code, which was based on D3.0. +20090912: + A sysctl variable net.inet6.ip6.accept_rtadv now sets the default value + of a per-interface flag ND6_IFF_ACCEPT_RTADV, not a global knob to + control whether accepting Router Advertisement messages or not. + Also, a per-interface flag ND6_IFF_AUTO_LINKLOCAL has been added and + a sysctl variable net.inet6.ip6.auto_linklocal is its default value. + The ifconfig(8) utility now supports these flags. + 20090910: ZFS snapshots are now mounted with MNT_IGNORE flag. Use -v option for mount(8) and -a option for df(1) to see them. Modified: projects/quota64/etc/network.subr ============================================================================== --- projects/quota64/etc/network.subr Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/etc/network.subr Sat Sep 26 23:25:22 2009 (r197533) @@ -97,15 +97,26 @@ ifconfig_up() if afexists inet6; then if ipv6if $1; then if checkyesno ipv6_gateway_enable; then - _ipv6_opts="-accept_rtadv auto_linklocal" - else - _ipv6_opts="auto_linklocal" + _ipv6_opts="-accept_rtadv" fi else - _ipv6_opts="-auto_linklocal ifdisabled" + if checkyesno ipv6_prefer; then + _ipv6_opts="-ifdisabled" + else + _ipv6_opts="ifdisabled" + fi + + # backward compatibility: $ipv6_enable + case $ipv6_enable in + [Yy][Ee][Ss]) + _ipv6_opts="${_ipv6_opts} accept_rtadv" + ;; + esac fi - ifconfig $1 inet6 ${_ipv6_opts} + if [ -n "${_ipv6_opts}" ]; then + ifconfig $1 inet6 ${_ipv6_opts} + fi # ifconfig_IF_ipv6 ifconfig_args=`ifconfig_getargs $1 ipv6` @@ -382,7 +393,7 @@ noafif() # 1 otherwise. ipv6if() { - local _if i + local _if _tmpargs i _if=$1 if ! afexists inet6; then @@ -396,6 +407,18 @@ ipv6if() ;; esac + # True if $ifconfig_IF_ipv6 is defined. + _tmpargs=`_ifconfig_getargs $_if ipv6` + if [ -n "${_tmpargs}" ]; then + return 0 + fi + + # backward compatibility: True if $ipv6_ifconfig_IF is defined. + _tmpargs=`get_if_var $_if ipv6_ifconfig_IF` + if [ -n "${_tmpargs}" ]; then + return 0 + fi + case "${ipv6_network_interfaces}" in [Aa][Uu][Tt][Oo]) return 0 @@ -431,17 +454,30 @@ ipv6_autoconfif() if checkyesno ipv6_gateway_enable; then return 1 fi + _tmpargs=`get_if_var $_if ipv6_prefix_IF` + if [ -n "${_tmpargs}" ]; then + return 1 + fi case $_if in lo0|\ stf[0-9]*|\ faith[0-9]*|\ lp[0-9]*|\ - sl[0-9]*) + sl[0-9]*|\ + pflog[0-9]*|\ + pfsync[0-9]*) return 1 ;; esac + # backward compatibility: $ipv6_enable + case $ipv6_enable in + [Yy][Ee][Ss]) + return 0 + ;; + esac + _tmpargs=`_ifconfig_getargs $_if ipv6` for _arg in $_tmpargs; do case $_arg in @@ -451,6 +487,16 @@ ipv6_autoconfif() esac done + # backward compatibility: $ipv6_ifconfig_IF + _tmpargs=`get_if_var $_if ipv6_ifconfig_IF` + for _arg in $_tmpargs; do + case $_arg in + accept_rtadv) + return 0 + ;; + esac + done + return 1 } @@ -691,7 +737,7 @@ ifalias_ipv6_up() ;; *) ifconfig $1 inet6 ${ifconfig_args} alias && _ret=0 - warn "\$ipv6_ifconfig_$1_alias${alias} is obsolete." + warn "\$ipv6_ifconfig_$1_alias${alias} is obsolete." \ " Use ifconfig_$1_aliasN instead." ;; esac @@ -773,6 +819,7 @@ ifalias_ipv6_down() done # backward compatibility: ipv6_ifconfig_IF_aliasN. + alias=0 while : ; do ifconfig_args=`get_if_var $1 ipv6_ifconfig_IF_alias${alias}` case "${ifconfig_args}" in @@ -780,13 +827,12 @@ ifalias_ipv6_down() break ;; *) - ifconfig $1 inet6 ${ifconfig_args} -alias - alias=$((${alias} + 1)) - warn "\$ipv6_ifconfig_$1_alias${alias} is obsolete." + ifconfig $1 inet6 ${ifconfig_args} -alias && _ret=0 + warn "\$ipv6_ifconfig_$1_alias${alias} is obsolete." \ " Use ifconfig_$1_aliasN instead." - _ret=0 ;; esac + alias=$((${alias} + 1)) done return $_ret Modified: projects/quota64/etc/rc.d/defaultroute ============================================================================== --- projects/quota64/etc/rc.d/defaultroute Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/etc/rc.d/defaultroute Sat Sep 26 23:25:22 2009 (r197533) @@ -6,7 +6,7 @@ # # PROVIDE: defaultroute -# REQUIRE: devd netif +# REQUIRE: devd faith netif stf # KEYWORD: nojail . /etc/rc.subr Modified: projects/quota64/etc/rc.d/ip6addrctl ============================================================================== --- projects/quota64/etc/rc.d/ip6addrctl Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/etc/rc.d/ip6addrctl Sat Sep 26 23:25:22 2009 (r197533) @@ -19,6 +19,8 @@ status_cmd="ip6addrctl" prefer_ipv6_cmd="ip6addrctl_prefer_ipv6" prefer_ipv4_cmd="ip6addrctl_prefer_ipv4" +set_rcvar_obsolete ipv6_enable ipv6_prefer + ip6addrctl_prefer_ipv6() { ip6addrctl flush >/dev/null 2>&1 Modified: projects/quota64/etc/rc.d/netif ============================================================================== --- projects/quota64/etc/rc.d/netif Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/etc/rc.d/netif Sat Sep 26 23:25:22 2009 (r197533) @@ -41,7 +41,7 @@ clonedown_cmd="clone_down" extra_commands="cloneup clonedown" cmdifn= -set_rcvar_obsolete ipv6_enable +set_rcvar_obsolete ipv6_enable ipv6_prefer network_start() { Modified: projects/quota64/etc/rc.d/routing ============================================================================== --- projects/quota64/etc/rc.d/routing Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/etc/rc.d/routing Sat Sep 26 23:25:22 2009 (r197533) @@ -6,7 +6,7 @@ # # PROVIDE: routing -# REQUIRE: netif ppp +# REQUIRE: faith netif ppp stf # KEYWORD: nojail . /etc/rc.subr Modified: projects/quota64/etc/rc.d/rtadvd ============================================================================== --- projects/quota64/etc/rc.d/rtadvd Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/etc/rc.d/rtadvd Sat Sep 26 23:25:22 2009 (r197533) @@ -43,7 +43,10 @@ rtadvd_precmd() case ${rtadvd_interfaces} in [Aa][Uu][Tt][Oo]|'') for i in `ifconfig -l` ; do - if is_wired_interface $1; then + case $i in + lo0) continue ;; + esac + if ipv6if $i; then rtadvd_interfaces="${rtadvd_interfaces} ${i}" fi done Modified: projects/quota64/lib/libc/stdlib/malloc.3 ============================================================================== --- projects/quota64/lib/libc/stdlib/malloc.3 Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/lib/libc/stdlib/malloc.3 Sat Sep 26 23:25:22 2009 (r197533) @@ -32,7 +32,7 @@ .\" @(#)malloc.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd August 26, 2008 +.Dd September 26, 2009 .Dt MALLOC 3 .Os .Sh NAME @@ -245,7 +245,8 @@ will be initialized to 0x5a. This is intended for debugging and will impact performance negatively. .It K Double/halve the virtual memory chunk size. -The default chunk size is 1 MB. +The default chunk size is the maximum of 1 MB and the largest +page size that is less than or equal to 4 MB. .It M Use .Xr mmap 2 @@ -561,6 +562,7 @@ _malloc_options = "X"; .Xr alloca 3 , .Xr atexit 3 , .Xr getpagesize 3 , +.Xr getpagesizes 3 , .Xr memory 3 , .Xr posix_memalign 3 .Sh STANDARDS Modified: projects/quota64/lib/libc/stdlib/malloc.c ============================================================================== --- projects/quota64/lib/libc/stdlib/malloc.c Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/lib/libc/stdlib/malloc.c Sat Sep 26 23:25:22 2009 (r197533) @@ -4795,6 +4795,21 @@ malloc_init_hard(void) } } + /* + * Increase the chunk size to the largest page size that is greater + * than the default chunk size and less than or equal to 4MB. + */ + { + size_t pagesizes[MAXPAGESIZES]; + int k, nsizes; + + nsizes = getpagesizes(pagesizes, MAXPAGESIZES); + for (k = 0; k < nsizes; k++) + if (pagesizes[k] <= (1LU << 22)) + while ((1LU << opt_chunk_2pow) < pagesizes[k]) + opt_chunk_2pow++; + } + for (i = 0; i < 3; i++) { unsigned j; Modified: projects/quota64/libexec/rpc.rquotad/rquotad.c ============================================================================== --- projects/quota64/libexec/rpc.rquotad/rquotad.c Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/libexec/rpc.rquotad/rquotad.c Sat Sep 26 23:25:22 2009 (r197533) @@ -32,12 +32,11 @@ __FBSDID("$FreeBSD$"); #include #include -void rquota_service(struct svc_req *request, SVCXPRT *transp); -void sendquota(struct svc_req *request, SVCXPRT *transp); -void printerr_reply(SVCXPRT *transp); -void initfs(void); -int getfsquota(long id, char *path, struct dqblk *dqblk); -int hasquota(struct fstab *fs, char **qfnamep); +static void rquota_service(struct svc_req *request, SVCXPRT *transp); +static void sendquota(struct svc_req *request, SVCXPRT *transp); +static void initfs(void); +static int getfsquota(long id, char *path, struct dqblk *dqblk); +static int hasquota(struct fstab *fs, char **qfnamep); /* * structure containing informations about ufs filesystems @@ -49,9 +48,9 @@ struct fs_stat { char *qfpathname; /* pathname of the quota file */ dev_t st_dev; /* device of the filesystem */ } fs_stat; -struct fs_stat *fs_begin = NULL; +static struct fs_stat *fs_begin = NULL; -int from_inetd = 1; +static int from_inetd = 1; static void cleanup(int sig) @@ -112,7 +111,7 @@ main(void) exit(1); } -void +static void rquota_service(struct svc_req *request, SVCXPRT *transp) { @@ -135,7 +134,7 @@ rquota_service(struct svc_req *request, } /* read quota for the specified id, and send it */ -void +static void sendquota(struct svc_req *request, SVCXPRT *transp) { struct getquota_args getq_args; @@ -184,26 +183,8 @@ sendquota(struct svc_req *request, SVCXP } } -void -printerr_reply(SVCXPRT *transp) /* when a reply to a request failed */ -{ - char name[INET6_ADDRSTRLEN]; - struct sockaddr *caller; - int save_errno; - - save_errno = errno; - caller = (struct sockaddr *)svc_getrpccaller(transp)->buf; - getnameinfo(caller, caller->sa_len, name, sizeof (name), - NULL, 0, NI_NUMERICHOST); - errno = save_errno; - if (errno == 0) - syslog(LOG_ERR, "couldn't send reply to %s", name); - else - syslog(LOG_ERR, "couldn't send reply to %s: %m", name); -} - /* initialise the fs_tab list from entries in /etc/fstab */ -void +static void initfs(void) { struct fs_stat *fs_current = NULL; @@ -241,7 +222,7 @@ initfs(void) * gets the quotas for id, filesystem path. * Return 0 if fail, 1 otherwise */ -int +static int getfsquota(long id, char *path, struct dqblk *dqblk) { struct quotafile *qf; @@ -281,7 +262,7 @@ getfsquota(long id, char *path, struct d * Check to see if a particular quota is to be enabled. * Comes from quota.c, NetBSD 0.9 */ -int +static int hasquota(struct fstab *fs, char **qfnamep) { static char initname, usrname[100]; Modified: projects/quota64/sbin/ifconfig/ifconfig.8 ============================================================================== --- projects/quota64/sbin/ifconfig/ifconfig.8 Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/sbin/ifconfig/ifconfig.8 Sat Sep 26 23:25:22 2009 (r197533) @@ -28,7 +28,7 @@ .\" From: @(#)ifconfig.8 8.3 (Berkeley) 1/5/94 .\" $FreeBSD$ .\" -.Dd September 2, 2009 +.Dd September 23, 2009 .Dt IFCONFIG 8 .Os .Sh NAME @@ -598,7 +598,10 @@ If the interface was reset when previous the hardware will be re-initialized. .El .Pp -The following parameters are for ICMPv6 Neightbor Discovery Protocol: +The following parameters are for ICMPv6 Neightbor Discovery Protocol. +Note that the address family keyword +.Dq Li inet6 +is needed for them: .Bl -tag -width indent .It Cm accept_rtadv Set a flag to enable accepting ICMPv6 Router Advertisement messages. @@ -619,7 +622,10 @@ Clear a flag .Cm defaultif . .It Cm ifdisabled Set a flag to disable all of IPv6 network communications on the -specified interface. +specified interface. Note that if there are already configured IPv6 +addresses on that interface, all of them are marked as +.Dq tentative +and DAD will be performed when this flag is cleared. .It Cm -ifdisabled Clear a flag .Cm ifdisabled . Modified: projects/quota64/share/man/man4/Makefile ============================================================================== --- projects/quota64/share/man/man4/Makefile Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/share/man/man4/Makefile Sat Sep 26 23:25:22 2009 (r197533) @@ -173,6 +173,7 @@ MAN= aac.4 \ le.4 \ led.4 \ lge.4 \ + ${_lindev.4} \ ${_linux.4} \ lmc.4 \ lo.4 \ @@ -625,6 +626,7 @@ _if_urtw.4= if_urtw.4 _if_wpi.4= if_wpi.4 _ipmi.4= ipmi.4 _io.4= io.4 +_lindev.4= lindev.4 _linux.4= linux.4 _ndis.4= ndis.4 _nfe.4= nfe.4 @@ -636,6 +638,8 @@ _speaker.4= speaker.4 _spkr.4= spkr.4 _urtw.4= urtw.4 _wpi.4= wpi.4 + +MLINKS+=lindev.4 full.4 .endif .if exists(${.CURDIR}/man4.${MACHINE_ARCH}) Copied: projects/quota64/share/man/man4/lindev.4 (from r197532, head/share/man/man4/lindev.4) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/quota64/share/man/man4/lindev.4 Sat Sep 26 23:25:22 2009 (r197533, copy of r197532, head/share/man/man4/lindev.4) @@ -0,0 +1,73 @@ +.\"- +.\" Copyright (c) 2009 "Bjoern A. Zeeb" +.\" 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$ +.\" +.Dd September 26, 2009 +.Dt LINDEV 4 +.Os +.Sh NAME +.Nm lindev +.Nd the lindev module +.Sh SYNOPSIS +To compile this collection of linux-specific pseudo devices into the kernel, +place the following line in your kernel configuration file: +.Bd -ragged -offset indent +.Cd "device lindev" +.Ed +.Pp +Alternatively, to load the driver as a module at boot time, +place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +lindev_load="YES" +.Ed +.Sh DESCRIPTION +The +.Nm +module provides a collection of linux-specific pseudo devices. +.Sh DEVICES +.Bl -tag -width /dev/full +.It Pa /dev/full +The +.Xr full +device always returns +.Er ENOSPC +on write attempts. +For reads it emulates +.Xr zero 4 . +.El +.Sh FILES +.Bl -tag -width /dev/full +.It Pa /dev/full +.El +.Sh SEE ALSO +.Xr null 4 , +.Xr zero 4 +.Sh HISTORY +The +.Nm +module first appeared in +.Fx 9.0 . Modified: projects/quota64/share/man/man5/rc.conf.5 ============================================================================== --- projects/quota64/share/man/man5/rc.conf.5 Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/share/man/man5/rc.conf.5 Sat Sep 26 23:25:22 2009 (r197533) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 17, 2009 +.Dd September 23, 2009 .Dt RC.CONF 5 .Os .Sh NAME @@ -1246,28 +1246,85 @@ It is also possible to rename interface ifconfig_ed0_name="net0" ifconfig_net0="inet 192.0.2.1 netmask 0xffffff00" .Ed +.It Va ipv6_enable +.Pq Vt bool +If the variable is +.Dq Li YES , +.Dq Li inet6 accept_rtadv +is added to all of +.Va ifconfig_ Ns Ao Ar interface Ac Ns _ipv6 +and the +.Va ipv6_prefer +is defined as +.Dq Li YES . +.Pp +This variable is deprecated. Use +.Va ipv6_prefer +and +.Va ifconfig_ Ns Ao Ar interface Ac Ns _ipv6 . +.It Va ipv6_prefer +.Pq Vt bool +This variable does the following: +.Pp +If the variable is +.Dq Li YES , +the default policy of the source address selection set by +.Xr ip6addrctl 8 +will be IPv6-preferred. +.Pp +If the variable is +.Dq Li NO , +the default policy of the source address selection set by +.Xr ip6addrctl 8 +will be IPv4-preferred, and all of interfaces which does not have the +corrsponding +.Va ifconfig_ Ns Ao Ar interface Ac Ns _ipv6 +variable will be marked as +.Dq Li IFDISABLED . +This means only IPv6 functionality on that interface is completely +disabled. For more details of +.Dq Li IFDISABLED +flag and keywords +.Dq Li inet6 ifdisabled , +see +.Xr ifconfig 8 . +.Pp .It Va ipv6_network_interfaces .Pq Vt str This is the IPv6 equivalent of .Va network_interfaces . -Instead of setting the ifconfig variables as -.Va ifconfig_ Ns Aq Ar interface -they should be set as -.Va ifconfig_ Ns Ao Ar interface Ac Ns _ipv6. -Aliases should be set as -.Va ifconfig_ Ns Ao Ar interface Ac Ns Va _alias Ns Aq Ar n . -.Va ipv6_prefix_ Ns Aq Ar interface -does something. -Interfaces that have a -.Fl accept_rtadv -flag in +Normally manual configuration of this variable is not needed. +.Pp +IPv6 functionality on an interface should be configured by +.Va ifconfig_ Ns Ao Ar interface Ac Ns _ipv6 , +instead of setting ifconfig parameters in +.Va ifconfig_ Ns Aq Ar interface . +Aliases should be set by +.Va ifconfig_ Ns Ao Ar interface Ac Ns Va _alias Ns Aq Ar n +with +.Dq Li inet6 +keyword. For example: +.Bd -literal +ifconfig_ed0_ipv6="inet6 2001:db8:1::1 prefixlen 64" +ifconfig_ed0_alias0="inet6 2001:db8:2::1 prefixlen 64" +.Ed +.Pp +Interfaces that have an +.Dq Li inet6 accept_rtadv +keyword in .Va ifconfig_ Ns Ao Ar interface Ac Ns _ipv6 setting will be automatically configured by -.Xr rtsol 8 -if the +.Xr rtsol 8 . +Note that this automatic configuration is disabled if the .Va ipv6_gateway_enable is set to -.Dq Li NO . +.Dq Li YES . +.It Va ipv6_prefix_ Ns Aq Ar interface +.Pq Vt str +If one or more prefixes are defined in +.Va ipv6_prefix_ Ns Aq Ar interface +addresses based on each prefix and the EUI-64 interface index will be +configured on that interface. .It Va ipv6_default_interface .Pq Vt str If not set to Modified: projects/quota64/sys/amd64/conf/NOTES ============================================================================== --- projects/quota64/sys/amd64/conf/NOTES Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/sys/amd64/conf/NOTES Sat Sep 26 23:25:22 2009 (r197533) @@ -517,3 +517,6 @@ options VM_KMEM_SIZE_SCALE # Enable NDIS binary driver support options NDISAPI device ndis + +# Linux-specific pseudo devices support +device lindev Modified: projects/quota64/sys/arm/arm/identcpu.c ============================================================================== --- projects/quota64/sys/arm/arm/identcpu.c Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/sys/arm/arm/identcpu.c Sat Sep 26 23:25:22 2009 (r197533) @@ -54,30 +54,12 @@ __FBSDID("$FreeBSD$"); #include #include +#include char machine[] = "arm"; SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD, machine, 0, "Machine class"); -enum cpu_class { - CPU_CLASS_NONE, - CPU_CLASS_ARM2, - CPU_CLASS_ARM2AS, - CPU_CLASS_ARM3, - CPU_CLASS_ARM6, - CPU_CLASS_ARM7, - CPU_CLASS_ARM7TDMI, - CPU_CLASS_ARM8, - CPU_CLASS_ARM9TDMI, - CPU_CLASS_ARM9ES, - CPU_CLASS_ARM9EJS, - CPU_CLASS_ARM10E, - CPU_CLASS_ARM10EJ, - CPU_CLASS_SA1, - CPU_CLASS_XSCALE, - CPU_CLASS_ARM11J, - CPU_CLASS_MARVELL -}; static const char * const generic_steppings[16] = { "rev 0", "rev 1", "rev 2", "rev 3", @@ -372,11 +354,11 @@ static const char * const wtnames[] = { extern int ctrl; +enum cpu_class cpu_class = CPU_CLASS_NONE; void identify_arm_cpu(void) { u_int cpuid; - enum cpu_class cpu_class = CPU_CLASS_NONE; int i; cpuid = cpu_id(); Modified: projects/quota64/sys/arm/include/md_var.h ============================================================================== --- projects/quota64/sys/arm/include/md_var.h Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/sys/arm/include/md_var.h Sat Sep 26 23:25:22 2009 (r197533) @@ -48,6 +48,27 @@ extern int _min_bzero_size; #define SRC_IS_USER 0x2 #define IS_PHYSICAL 0x4 +enum cpu_class { + CPU_CLASS_NONE, + CPU_CLASS_ARM2, + CPU_CLASS_ARM2AS, + CPU_CLASS_ARM3, + CPU_CLASS_ARM6, + CPU_CLASS_ARM7, + CPU_CLASS_ARM7TDMI, + CPU_CLASS_ARM8, + CPU_CLASS_ARM9TDMI, + CPU_CLASS_ARM9ES, + CPU_CLASS_ARM9EJS, + CPU_CLASS_ARM10E, + CPU_CLASS_ARM10EJ, + CPU_CLASS_SA1, + CPU_CLASS_XSCALE, + CPU_CLASS_ARM11J, + CPU_CLASS_MARVELL +}; +extern enum cpu_class cpu_class; + struct dumperinfo; extern int busdma_swi_pending; void busdma_swi(void); Modified: projects/quota64/sys/boot/forth/loader.conf ============================================================================== --- projects/quota64/sys/boot/forth/loader.conf Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/sys/boot/forth/loader.conf Sat Sep 26 23:25:22 2009 (r197533) @@ -179,6 +179,7 @@ screensave_name="green_saver" # Set to t ibcs2_load="NO" # IBCS2 (SCO) emulation ibcs2_coff_load="NO" linux_load="NO" # Linux emulation +lindev_load="NO" # Linux-specific pseudo devices (see lindev(4)) svr4_load="NO" # SystemV R4 emulation streams_load="NO" # System V streams module Modified: projects/quota64/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c ============================================================================== --- projects/quota64/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c Sat Sep 26 23:25:22 2009 (r197533) @@ -595,7 +595,6 @@ found: if (vp->v_flag & V_XATTRDIR) VI_LOCK(fp->gfs_parent); VI_LOCK(vp); - ASSERT(vp->v_count < 2); /* * Really remove this vnode */ @@ -607,12 +606,7 @@ found: */ ge->gfse_vnode = NULL; } - if (vp->v_count == 1) { - vp->v_usecount--; - vdropl(vp); - } else { - VI_UNLOCK(vp); - } + VI_UNLOCK(vp); /* * Free vnode and release parent @@ -1084,18 +1078,16 @@ gfs_vop_inactive(ap) { vnode_t *vp = ap->a_vp; gfs_file_t *fp = vp->v_data; - void *data; if (fp->gfs_type == GFS_DIR) - data = gfs_dir_inactive(vp); + gfs_dir_inactive(vp); else - data = gfs_file_inactive(vp); - - if (data != NULL) - kmem_free(data, fp->gfs_size); + gfs_file_inactive(vp); VI_LOCK(vp); vp->v_data = NULL; VI_UNLOCK(vp); + kmem_free(fp, fp->gfs_size); + return (0); } Modified: projects/quota64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c ============================================================================== --- projects/quota64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c Sat Sep 26 23:25:22 2009 (r197533) @@ -818,7 +818,11 @@ zfsctl_snapdir_lookup(ap) if ((sep = avl_find(&sdp->sd_snaps, &search, &where)) != NULL) { *vpp = sep->se_root; VN_HOLD(*vpp); - if ((*vpp)->v_mountedhere == NULL) { + err = traverse(vpp, LK_EXCLUSIVE | LK_RETRY); + if (err) { + VN_RELE(*vpp); + *vpp = NULL; + } else if (*vpp == sep->se_root) { /* * The snapshot was unmounted behind our backs, * try to remount it. @@ -832,10 +836,9 @@ zfsctl_snapdir_lookup(ap) */ (*vpp)->v_flag &= ~VROOT; } - vn_lock(*vpp, LK_EXCLUSIVE | LK_RETRY); mutex_exit(&sdp->sd_lock); ZFS_EXIT(zfsvfs); - return (0); + return (err); } /* @@ -895,6 +898,8 @@ domount: } mutex_exit(&sdp->sd_lock); ZFS_EXIT(zfsvfs); + if (err != 0) + *vpp = NULL; return (err); } @@ -1002,15 +1007,24 @@ zfsctl_snapdir_inactive(ap) { vnode_t *vp = ap->a_vp; zfsctl_snapdir_t *sdp = vp->v_data; - void *private; + zfs_snapentry_t *sep; - private = gfs_dir_inactive(vp); - if (private != NULL) { - ASSERT(avl_numnodes(&sdp->sd_snaps) == 0); - mutex_destroy(&sdp->sd_lock); - avl_destroy(&sdp->sd_snaps); - kmem_free(private, sizeof (zfsctl_snapdir_t)); + /* + * On forced unmount we have to free snapshots from here. + */ + mutex_enter(&sdp->sd_lock); + while ((sep = avl_first(&sdp->sd_snaps)) != NULL) { + avl_remove(&sdp->sd_snaps, sep); + kmem_free(sep->se_name, strlen(sep->se_name) + 1); + kmem_free(sep, sizeof (zfs_snapentry_t)); } + mutex_exit(&sdp->sd_lock); + gfs_dir_inactive(vp); + ASSERT(avl_numnodes(&sdp->sd_snaps) == 0); + mutex_destroy(&sdp->sd_lock); + avl_destroy(&sdp->sd_snaps); + kmem_free(sdp, sizeof (zfsctl_snapdir_t)); + return (0); } @@ -1068,6 +1082,9 @@ zfsctl_snapshot_inactive(ap) int locked; vnode_t *dvp; + if (vp->v_count > 0) + goto end; + VERIFY(gfs_dir_lookup(vp, "..", &dvp, cr, 0, NULL, NULL) == 0); sdp = dvp->v_data; VOP_UNLOCK(dvp, 0); @@ -1075,11 +1092,6 @@ zfsctl_snapshot_inactive(ap) if (!(locked = MUTEX_HELD(&sdp->sd_lock))) mutex_enter(&sdp->sd_lock); - if (vp->v_count > 1) { - if (!locked) - mutex_exit(&sdp->sd_lock); - return (0); - } ASSERT(!vn_ismntpt(vp)); sep = avl_first(&sdp->sd_snaps); @@ -1099,6 +1111,7 @@ zfsctl_snapshot_inactive(ap) if (!locked) mutex_exit(&sdp->sd_lock); VN_RELE(dvp); +end: VFS_RELE(vp->v_vfsp); /* Modified: projects/quota64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c ============================================================================== --- projects/quota64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c Sat Sep 26 23:25:22 2009 (r197533) @@ -1107,8 +1107,7 @@ zfs_umount(vfs_t *vfsp, int fflag) if (zfsvfs->z_issnap) { vnode_t *svp = vfsp->mnt_vnodecovered; - ASSERT(svp->v_count == 2 || svp->v_count == 1); - if (svp->v_count == 2) + if (svp->v_count >= 2) VN_RELE(svp); } zfs_freevfs(vfsp); Modified: projects/quota64/sys/conf/files.amd64 ============================================================================== --- projects/quota64/sys/conf/files.amd64 Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/sys/conf/files.amd64 Sat Sep 26 23:25:22 2009 (r197533) @@ -208,6 +208,8 @@ dev/hwpmc/hwpmc_piv.c optional hwpmc dev/hwpmc/hwpmc_tsc.c optional hwpmc dev/hwpmc/hwpmc_x86.c optional hwpmc dev/kbd/kbd.c optional atkbd | sc | ukbd | usb2_input_kbd +dev/lindev/full.c optional lindev +dev/lindev/lindev.c optional lindev dev/mem/memutil.c optional mem dev/nfe/if_nfe.c optional nfe pci dev/nve/if_nve.c optional nve pci Modified: projects/quota64/sys/conf/files.i386 ============================================================================== --- projects/quota64/sys/conf/files.i386 Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/sys/conf/files.i386 Sat Sep 26 23:25:22 2009 (r197533) @@ -201,6 +201,8 @@ dev/ipmi/ipmi_pci.c optional ipmi pci dev/ipmi/ipmi_linux.c optional ipmi compat_linux dev/kbd/kbd.c optional atkbd | sc | ukbd | usb2_input_kbd dev/le/if_le_isa.c optional le isa +dev/lindev/full.c optional lindev +dev/lindev/lindev.c optional lindev dev/mem/memutil.c optional mem dev/mse/mse.c optional mse dev/mse/mse_isa.c optional mse isa Modified: projects/quota64/sys/conf/files.pc98 ============================================================================== --- projects/quota64/sys/conf/files.pc98 Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/sys/conf/files.pc98 Sat Sep 26 23:25:22 2009 (r197533) @@ -107,6 +107,8 @@ dev/hwpmc/hwpmc_x86.c optional hwpmc dev/io/iodev.c optional io dev/kbd/kbd.c optional pckbd | sc | ukbd | usb2_input_kbd dev/le/if_le_cbus.c optional le isa +dev/lindev/full.c optional lindev +dev/lindev/lindev.c optional lindev dev/mem/memutil.c optional mem dev/mse/mse.c optional mse dev/mse/mse_cbus.c optional mse isa Modified: projects/quota64/sys/dev/syscons/scterm-teken.c ============================================================================== --- projects/quota64/sys/dev/syscons/scterm-teken.c Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/sys/dev/syscons/scterm-teken.c Sat Sep 26 23:25:22 2009 (r197533) @@ -313,11 +313,11 @@ scteken_attr(const teken_attr_t *a) teken_color_t fg, bg; if (a->ta_format & TF_REVERSE) { - fg = a->ta_bgcolor; - bg = a->ta_fgcolor; + fg = teken_256to8(a->ta_bgcolor); + bg = teken_256to8(a->ta_fgcolor); } else { - fg = a->ta_fgcolor; - bg = a->ta_bgcolor; + fg = teken_256to8(a->ta_fgcolor); + bg = teken_256to8(a->ta_bgcolor); } if (a->ta_format & TF_BOLD) attr |= fgcolors_bold[fg]; Modified: projects/quota64/sys/i386/conf/NOTES ============================================================================== --- projects/quota64/sys/i386/conf/NOTES Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/sys/i386/conf/NOTES Sat Sep 26 23:25:22 2009 (r197533) @@ -880,6 +880,9 @@ device streams # STREAMS network drive options NDISAPI device ndis +# Linux-specific pseudo devices support +device lindev + ##################################################################### # VM OPTIONS Modified: projects/quota64/sys/modules/Makefile ============================================================================== --- projects/quota64/sys/modules/Makefile Sat Sep 26 23:16:06 2009 (r197532) +++ projects/quota64/sys/modules/Makefile Sat Sep 26 23:25:22 2009 (r197533) @@ -151,6 +151,7 @@ SUBDIR= ${_3dfx} \ libiconv \ libmbpool \ libmchain \ + ${_lindev} \ ${_linprocfs} \ ${_linsysfs} \ ${_linux} \ @@ -373,6 +374,7 @@ _ie= ie _if_ndis= if_ndis _igb= igb _io= io +_lindev= lindev _linprocfs= linprocfs _linsysfs= linsysfs _linux= linux @@ -510,6 +512,7 @@ _ipwfw= ipwfw *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***