From owner-svn-src-stable-7@FreeBSD.ORG Sun Apr 5 00:52:00 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 55F0E106566C; Sun, 5 Apr 2009 00:52:00 +0000 (UTC) (envelope-from ru@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 438AB8FC14; Sun, 5 Apr 2009 00:52:00 +0000 (UTC) (envelope-from ru@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n350pxl4088819; Sun, 5 Apr 2009 00:51:59 GMT (envelope-from ru@svn.freebsd.org) Received: (from ru@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n350pxtS088818; Sun, 5 Apr 2009 00:51:59 GMT (envelope-from ru@svn.freebsd.org) Message-Id: <200904050051.n350pxtS088818@svn.freebsd.org> From: Ruslan Ermilov Date: Sun, 5 Apr 2009 00:51:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190707 - stable/7 X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Apr 2009 00:52:01 -0000 Author: ru Date: Sun Apr 5 00:51:59 2009 New Revision: 190707 URL: http://svn.freebsd.org/changeset/base/190707 Log: MFC: Don't put "install-info" to the list of install-tools if we're installing with -DWITHOUT_INFO. Approved by: re (kib) Modified: stable/7/Makefile.inc1 (contents, props changed) Modified: stable/7/Makefile.inc1 ============================================================================== --- stable/7/Makefile.inc1 Sun Apr 5 00:24:49 2009 (r190706) +++ stable/7/Makefile.inc1 Sun Apr 5 00:51:59 2009 (r190707) @@ -597,10 +597,14 @@ installcheck_UGID: # # Installs everything compiled by a 'buildworld'. # +.if ${MK_INFO} != "no" +_install-info= install-info +.endif + distributeworld installworld: installcheck mkdir -p ${INSTALLTMP} for prog in [ awk cap_mkdb cat chflags chmod chown \ - date echo egrep find grep install-info \ + date echo egrep find grep ${_install-info} \ ln lockf make mkdir mtree mv pwd_mkdb rm sed sh sysctl \ test true uname wc zic; do \ cp `which $$prog` ${INSTALLTMP}; \ From owner-svn-src-stable-7@FreeBSD.ORG Mon Apr 6 11:15:38 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 89F541065736; Mon, 6 Apr 2009 11:15:36 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CD3898FC36; Mon, 6 Apr 2009 11:15:28 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n36BFSo1069584; Mon, 6 Apr 2009 11:15:28 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n36BFS1R069583; Mon, 6 Apr 2009 11:15:28 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <200904061115.n36BFS1R069583@svn.freebsd.org> From: Luigi Rizzo Date: Mon, 6 Apr 2009 11:15:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190762 - stable/7/release/picobsd/build X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2009 11:16:18 -0000 Author: luigi Date: Mon Apr 6 11:15:28 2009 New Revision: 190762 URL: http://svn.freebsd.org/changeset/base/190762 Log: MFC: bring in recent fixes to the picobsd script Approved by: re (blanket on picobsd) Modified: stable/7/release/picobsd/build/picobsd Modified: stable/7/release/picobsd/build/picobsd ============================================================================== --- stable/7/release/picobsd/build/picobsd Mon Apr 6 11:14:30 2009 (r190761) +++ stable/7/release/picobsd/build/picobsd Mon Apr 6 11:15:28 2009 (r190762) @@ -3,17 +3,17 @@ # $FreeBSD$ # This file requires sysutils/makefs to run # -# The new PicoBSD build script. Invoked as +# The PicoBSD build script. Invoked as # -# picobsd [options] floppy_type site_name +# picobsd [options] image_type [site_name] # -# Where floppy_type is a directory where the picobsd config info -# is held, and ${floppy_type}/floppy.tree.${site_name} contains +# Where image_type is a directory with the picobsd config info, +# and ${image_type}/floppy.tree.${site_name} contains # optional site-specific configuration. # # For Options, see the bottom of the file where the processing is # done. The picobsd(8) manpage might be of some help, but code and docs -# tend to lose sync over time... +# tend to lose sync over time. # # This script depends on the following files: # @@ -33,36 +33,42 @@ # floppy.tree/ local additions to ${PICO_TREE}/mfs_free # floppy.tree.${site}/ same as above, site specific. # mfs_tree/ local additions to the mfs_free -# buildtree.mk optional makefile to build an extension for floppy tree +# buildtree.mk optional Makefile to build an extension for floppy tree # (generated in buildtree/ ) # #--- The main entry point is at the end. # -# There are two set of initialization. The first one (set_defaults) -# is done on entry to the script, and is used to set default values -# for all variables which do not depend on floppy type and source tree. +# There are two initialization functions: # -# The second set is done after command line parsing, e.g. -# to resolve dependencies on the source tree. +# + set_defaults +# is run on entry to the script, and is used to set default values +# for all variables that do not depend on image type and source tree. # -# Naming: +# + set_build_parameters +# is run after command line parsing +# +# VARIABLE NAMES: # + variables that control operation (e.g. verbosity) and are generally # set from the command line have o_ ("option") as a name prefix # -# + variables which contain pathnames and values that should not change +# + variables that contain pathnames and values that should not change # have c_ ("constant") as a name prefix # # + variables exported to Makefiles and subshells are CAPITAL # # + variables local to the script are lowercase, possibly with -# an l_ ("local") prefix +# an l_ ("local") prefix. +# +# There are unfortunately exceptions: +# name, l_usrtree, l_objtree # SRC points to your FreeBSD source tree. # l_usrtree points to the /usr subdir for the source tree. # Normally /usr or ${SRC}/../usr # l_objtree points to the obj tree. Normally ${l_usrtree}/obj-pico +# c_label is either bsdlabel or disklabel # PICO_TREE is where standard picobsd stuff resides. # Normally ${SRC}/release/picobsd # You can set SRC with --src @@ -71,28 +77,27 @@ # MY_TREE (set later) is where this floppy type resides. # BUILDDIR is the build directory -# set some default values for variables. -# needs to be done as the first thing in the script. - # log something on stdout if verbose. o_verbose=0 # this needs to be here! -log() { +log() { # message local foo [ ${o_verbose} -gt 0 ] && printf "\n*** %s\n" "$*" [ ${o_verbose} -gt 1 ] && read -p "=== Press enter to continue" foo return 0 } -logverbose() { +# unconditionally log and wait for input +logverbose() { # message local foo printf "\n*** %s\n" "$*" read -p "=== Press enter to continue" foo return 0 } -set_defaults() { - # no way to use logging in this function, variable not set yet. +# set some default values for variables. +# needs to be done as the first thing in the script. +set_defaults() { # no arguments # EDITOR is the editor you use # fd_size floppy size in KB (default to 1440). You can use 1480, # 1720, 2880, etc. but beware that only 1440 and 1480 will boot @@ -101,15 +106,20 @@ set_defaults() { fd_size=${fd_size:-1440} o_use_loader="yes" # use /boot/loader - o_all_in_mfs="yes" # put all files in mfs so you can boot and run - # the image via diskless boot. - o_clean="" # do not clean + # You should not change it unless you are really short + # of space, and your kernel is small enough that the + # bootblocks manage to load it. + + o_all_in_mfs="yes" # put all files in mfs so you can boot + # and run the image via diskless boot. + o_clean="" # set if you want to clean prev.builds. o_interactive="" # default is interactive o_verbose=0 # verbose level, 0 is silent o_tarv="" # tar verbose flag, "" or "v" - o_init_src="" # non "" if we need to init libs and includes. + o_init_src="" # set to build libs and includes. o_makeopts=${MAKEOPTS:--s} # make options, be silent by default - o_no_devfs=yes # we do not want devfs + o_no_devfs= # default is use devfs. + # You should only set it when building 4.x images o_do_modules="" # do not build modules SRC="/usr/src" # default location for sources @@ -132,13 +142,13 @@ set_defaults() { c_img=picobsd.bin # filename used for the picobsd image generate_iso="NO" # don't generate the iso image - # select the right memory disk name + # select the right disklabel program case `uname -r` in - 7.*|6.*|5.*) - l_label="bsdlabel" + 4.*) + c_label="disklabel" ;; *) - l_label="disklabel" + c_label="bsdlabel" ;; esac @@ -150,8 +160,9 @@ set_defaults() { trap fail 15 } -# use the new build infrastructure -create_includes_and_libraries2() { +# use the new build infrastructure to create libraries +# and also to build a specific target +create_includes_and_libraries2() { # opt_dir opt_target local no log "create_includes_and_libraries2() for ${SRC}" if [ ${OSVERSION} -ge 600000 ] ; then @@ -163,7 +174,11 @@ create_includes_and_libraries2() { export MAKEOBJDIRPREFIX ( cd ${SRC}; # make -DNOCLEAN -DNOPROFILE -DNOGAMES -DNOLIBC_R -DPICOBSD buildworld - make _+_= $no toolchain _includes _libraries + if [ -d "$1" ] ; then + cd $1 ; make $2 # specific target, e.g. ld-elf.so + else + make _+_= $no toolchain _includes _libraries + fi ) } @@ -173,7 +188,7 @@ create_includes_and_libraries() { log "create_includes_and_libraries() for ${SRC}" # Optionally creates include directory and libraries. - mkdir -p ${l_usrtree}/include # the include directory... + mkdir -p ${l_usrtree}/include # the include directory... mkdir -p ${l_usrtree}/share/misc # a few things go here mkdir -p ${l_usrtree}/lib # libraries mkdir -p ${l_usrtree}/sbin # some binaries @@ -210,11 +225,12 @@ create_includes_and_libraries() { log "Libraries done" } -# set_type looks in user or system directories for the floppy type -# specified as first argument, and sets variables according to the config. -# file. Also sets MY_TREE and BUILDDIR and SITE +# set_type [the_site] looks in user or system directories +# for the directory named as the first argument, reads the configuration +# files and sets variables according to the config. +# Also sets MY_TREE and BUILDDIR and SITE -set_type() { +set_type() { # the_type the_site local a i log "set_type() : Type '$1' site '$2'" @@ -242,7 +258,7 @@ set_type() { clean_tree() { log "clean_tree()" - if [ "${name}" = "" ] ; then + if [ -z "${name}" ] ; then echo "---> Wrong floppy type" exit 3 fi @@ -271,7 +287,7 @@ build_iso_image() { # Main build procedure. build_image() { log "build_image() <${name}>" - [ "${name}" != "" ] || fail $? bad_type + [ -n "${name}" ] || fail $? bad_type clear set_msgs printf "${MSG}---> We'll use the sources living in ${SRC}\n\n" @@ -281,12 +297,8 @@ build_image() { # variables. # . ${PICO_TREE}/build/config - if [ -f ${MY_TREE}/config ] ; then - . ${MY_TREE}/config - fi - if [ -f ${o_additional_config} ] ; then - . ${o_additional_config} - fi + [ -f "${MY_TREE}/config" ] && . ${MY_TREE}/config + [ -f "${o_additional_config}" ] && . ${o_additional_config} # location of the object directory PICO_OBJ=${l_objtree}/picobsd/${THETYPE} @@ -312,34 +324,13 @@ build_image() { fill_floppy_image # copies everything into the floppy } -build_package() { - local z msg - - log "build_package()" - rm -rf build.status - echo "##############################################" >>build.status - echo "## `date` ">>build.status - echo "##############################################" >>build.status - for z in bridge dial router net isp ; do - set_type ${z} - echo "---------------------------------------------">>build.status - echo "Building TYPE=${z}, SIZE=${MFS_SIZE}" >>build.status - msg="(ok)" # error message - build_image || msg="** FAILED! **" - echo " ${msg}">>build.status - # where do i put things ? - # clean_tree - done - exit 0 -} - # Set build parameters interactively main_dialog() { local ans i l log "main_dialog()" - while [ true ] ; do + while true ; do set_msgs rm ${c_reply} dialog --menu "PicoBSD build menu -- (29 sep 2001)" 19 70 12 \ @@ -547,7 +538,7 @@ do_copyfiles() { # rootdir varname eval set "\${${2}}" srcs="" for dst in $* ; do - [ x"$srcs" = x ] && srcs=$dst && continue + [ -z "$srcs" ] && srcs=$dst && continue eval srcs="$srcs" # expand wildcard and vars case x"$dst" in */ ) mkdir -p ${root}/${dst} ;; @@ -558,6 +549,80 @@ do_copyfiles() { # rootdir varname done } +# do_links is a helper function to create links between programs +# in stand/ +# This is done reading the names and destination from variable +# links in a config file, in the format +# : dst names + +do_links() { # rootdir varname + local root=$1 + local l i dst + eval l="\${${2}}" + dst="" + log "Create links for ${l}" + (cd ${root}/stand + for i in $l ; do + if [ "$dst" = ":" -o "$i" = ":" ] ; then + dst=$i + elif [ -n "${dst}" ] ; then + ln -s ${dst} ${i} + fi + done + ) +} + +# find_progs is a helper function to locate the named programs +# or libraries in ${o_objdir} or ${_SHLIBDIRPREFIX}, +# and return the full pathnames. +# Sets ${u_progs} to the list of programs, and ${u_libs} +# to the list of shared libraries used. +# +# You can use it e.g. in a local configuration file by writing +# +# do_copyfiles_user() { +# local dst=$1 +# find_progs nvi sed less grep +# cp -p ${u_progs} ${dst}/bin +# cp -p ${u_libs} ${dst}/lib +# mkdir -p ${dst}/libexec +# find_progs ld-elf.so.1 +# cp -p ${u_progs} ${dst}/libexec +# } + +find_progs() { # programs + local i + u_progs="`find_progs_helper $*`" + local o=${o_objdir:-${_SHLIBDIRPREFIX}} + [ -z "${u_progs}" ] && return 1 # not found, error + i="`ldd ${u_progs} | grep -v '^/' | awk '{print $1}' | sort | uniq`" + u_libs="`find_progs_helper $i`" + return 0 +} + +find_progs_helper() { # programs + local progs="$*" + local i o places names + local subdirs="bin sbin usr.bin usr.sbin libexec lib \ + gnu/usr.bin gnu/lib \ + secure/usr.bin secure/usr.sbin secure/libexec secure/lib" + names="" # files to search + o="" + for i in $progs ; do + # plain programs come out verbatim + [ -f "$i" ] && echo $i && continue + names="${names} ${o} -name $i" + o="-o" + done + [ -z "${names}" ] && return 0 + places="" # places to search + o=${o_objdir:-${_SHLIBDIRPREFIX}/..} + for i in $subdirs ; do + [ -d "${o}/${i}" ] && places="${places} ${o}/${i}" + done + find ${places} -type f \( ${names} \) +} + # Populate the memory filesystem with binaries and non-variable # configuration files. # First do an mtree pass, then create directory links and device entries, @@ -647,7 +712,7 @@ populate_mfs_tree() { fi # 4.x compatibility - create device nodes - if [ "${o_no_devfs}" != "" ] ; then + if [ -n "${o_no_devfs}" ] ; then # create device entries using MAKEDEV (cd ${dst}/dev ln -s ${SRC}/etc/MAKEDEV ; chmod 555 MAKEDEV @@ -661,10 +726,21 @@ populate_mfs_tree() { (cd ${dst}; chown -R root . ) fi - if [ -n "${copy_files}" ] ; then - do_copyfiles ${dst} copy_files + # If we are building a shared 'crunch', take the libraries + # and the dynamic loader as well + find_progs ${dst}/stand/crunch + if [ -n "${u_libs}" ] ; then + mkdir -p ${dst}/lib && cp -p ${u_libs} ${dst}/lib + mkdir -p ${dst}/libexec + create_includes_and_libraries2 libexec/rtld-elf + find_progs ld-elf.so.1 && cp -p ${u_progs} ${dst}/libexec fi + [ -n "${copy_files}" ] && do_copyfiles ${dst} copy_files + do_copyfiles_user ${dst} || true + [ -n "${links}" ] && do_links ${dst} links + strip ${dst}/libexec/* ${dst}/lib/* ${dst}/stand/* 2> /dev/null || true + # The 'import_files' mechanism is deprecated, as it requires # root permissions to follow the symlinks, and also does # not let you rename the entries. @@ -829,22 +905,22 @@ fill_floppy_image() { (cd ${BUILDDIR} makefs -t ffs -o bsize=4096 -o fsize=512 \ -s ${blocks}k -f 50 ${c_img} ${dst} - # ${l_label} -f `pwd`/${c_img} - ${l_label} -w -f `pwd`/${c_img} auto # write in a label + + ${c_label} -w -f `pwd`/${c_img} auto # write in a label # copy partition c: into a: with some sed magic - ${l_label} -f `pwd`/${c_img} | sed -e '/ c:/{p;s/c:/a:/;}' | \ - ${l_label} -R -f `pwd`/${c_img} /dev/stdin - ${l_label} -f `pwd`/${c_img} + ${c_label} -f `pwd`/${c_img} | sed -e '/ c:/{p;s/c:/a:/;}' | \ + ${c_label} -R -f `pwd`/${c_img} /dev/stdin + ${c_label} -f `pwd`/${c_img} ls -l ${c_img} - ${l_label} -f `pwd`/${c_img} + ${c_label} -f `pwd`/${c_img} logverbose "after disklabel" ) echo "BUILDDIR ${BUILDDIR}" if [ "${generate_iso}" = "YES" ]; then echo "generate_iso ${generate_iso}" - #build_iso_image() + # build_iso_image # XXX not implemented yet exit 1 fi @@ -872,7 +948,6 @@ fill_floppy_image() { # needs to be done once). set_build_parameters() { - log "set_build_parameters() SRC is ${SRC}" if [ "${SRC}" = "/usr/src" ] ; then l_usrtree=${USR:-/usr} else @@ -899,6 +974,19 @@ set_build_parameters() { CONFIG=${l_usrtree}/sbin/config export CONFIG fi + + # if we have o_objdir, find where bin/ is + if [ ! -z "${o_objdir}" ] ; then + if [ -d ${o_objdir}/bin ] ; then + # fine + elif [ -d "${o_objdir}${SRC}/bin" ] ; then + o_objdir="${o_objdir}${SRC}" + log "Changing objdir to ${o_objdir}" + else + log "Cannot find objdir in ${o_objdir}, sorry" + o_objdir="" + fi + fi } #------------------------------------------------------------------- @@ -907,9 +995,10 @@ set_build_parameters() { set_defaults while [ true ]; do + log "Parsing $1" case $1 in --src) # set the source path instead of /usr/src - SRC=`(cd $2; pwd)` + SRC=`realpath $2` shift ;; --init) @@ -961,6 +1050,12 @@ while [ true ]; do shift ;; + --objdir) # Place with results of a previous buildworld + # useful if you want to copy shared binaries and libs + o_objdir=`realpath $2` + shift + ;; + *) break ;; @@ -968,12 +1063,10 @@ while [ true ]; do esac shift done + set_build_parameters # things that depend on ${SRC} set_type $1 $2 # type and site, respectively -# If $1="package", it creates a neat set of floppies -[ "$1" = "package" ] && build_package - [ "${o_interactive}" != "NO" ] && main_dialog if [ "${o_clean}" = "YES" ] ; then From owner-svn-src-stable-7@FreeBSD.ORG Mon Apr 6 11:21:14 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8F81E10657EB; Mon, 6 Apr 2009 11:21:14 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5E5648FC13; Mon, 6 Apr 2009 11:21:14 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n36BLE96069780; Mon, 6 Apr 2009 11:21:14 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n36BLE5I069779; Mon, 6 Apr 2009 11:21:14 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <200904061121.n36BLE5I069779@svn.freebsd.org> From: Luigi Rizzo Date: Mon, 6 Apr 2009 11:21:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190763 - stable/7/release/picobsd/mfs_tree/etc X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2009 11:21:42 -0000 Author: luigi Date: Mon Apr 6 11:21:14 2009 New Revision: 190763 URL: http://svn.freebsd.org/changeset/base/190763 Log: put the absolute path for /etc/rc1 Approved by: re (blanket on picobsd) Modified: stable/7/release/picobsd/mfs_tree/etc/rc Modified: stable/7/release/picobsd/mfs_tree/etc/rc ============================================================================== --- stable/7/release/picobsd/mfs_tree/etc/rc Mon Apr 6 11:15:28 2009 (r190762) +++ stable/7/release/picobsd/mfs_tree/etc/rc Mon Apr 6 11:21:14 2009 (r190763) @@ -23,5 +23,5 @@ for i in *; do [ -f $i.gz ] && rm $i done gzip -d *.gz -. rc1 +. /etc/rc1 exit 0 From owner-svn-src-stable-7@FreeBSD.ORG Mon Apr 6 11:22:00 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3110710659B6; Mon, 6 Apr 2009 11:22:00 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7468A8FC13; Mon, 6 Apr 2009 11:21:58 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n36BLwlP069825; Mon, 6 Apr 2009 11:21:58 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n36BLw7k069824; Mon, 6 Apr 2009 11:21:58 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <200904061121.n36BLw7k069824@svn.freebsd.org> From: Luigi Rizzo Date: Mon, 6 Apr 2009 11:21:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190764 - stable/7/release/picobsd/floppy.tree/etc X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2009 11:22:23 -0000 Author: luigi Date: Mon Apr 6 11:21:58 2009 New Revision: 190764 URL: http://svn.freebsd.org/changeset/base/190764 Log: MFC: remove call to non-existing dev-mkdb Approved by: re (blanket on picobsd) Modified: stable/7/release/picobsd/floppy.tree/etc/rc1 Modified: stable/7/release/picobsd/floppy.tree/etc/rc1 ============================================================================== --- stable/7/release/picobsd/floppy.tree/etc/rc1 Mon Apr 6 11:21:14 2009 (r190763) +++ stable/7/release/picobsd/floppy.tree/etc/rc1 Mon Apr 6 11:21:58 2009 (r190764) @@ -45,7 +45,6 @@ mount -a -t nfs [ -n "$network_pass2_done" ] && network_pass3 pwd_mkdb -p ./master.passwd -dev_mkdb [ -f /etc/syslog.conf -a -f /stand/syslogd ] && \ { echo "Starting syslogd."; syslogd ${syslogd_flags} ; } From owner-svn-src-stable-7@FreeBSD.ORG Mon Apr 6 11:22:42 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DAA671065D18; Mon, 6 Apr 2009 11:22:41 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B4DF78FC2A; Mon, 6 Apr 2009 11:22:29 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n36BMT0K069888; Mon, 6 Apr 2009 11:22:29 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n36BMTB5069887; Mon, 6 Apr 2009 11:22:29 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <200904061122.n36BMTB5069887@svn.freebsd.org> From: Luigi Rizzo Date: Mon, 6 Apr 2009 11:22:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190765 - stable/7/release/picobsd/bridge X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2009 11:23:08 -0000 Author: luigi Date: Mon Apr 6 11:22:29 2009 New Revision: 190765 URL: http://svn.freebsd.org/changeset/base/190765 Log: diff reduction with the version in head Approved by: re (blanket on picobsd) Modified: stable/7/release/picobsd/bridge/PICOBSD Modified: stable/7/release/picobsd/bridge/PICOBSD ============================================================================== --- stable/7/release/picobsd/bridge/PICOBSD Mon Apr 6 11:21:58 2009 (r190764) +++ stable/7/release/picobsd/bridge/PICOBSD Mon Apr 6 11:22:29 2009 (r190765) @@ -3,8 +3,8 @@ # # Line starting with #PicoBSD contains PicoBSD build parameters #marker def_sz init MFS_inodes floppy_inodes -#PicoBSD 5000 init 8192 32768 -options MD_ROOT_SIZE=5000 # same as def_sz +#PicoBSD 8000 init 8192 32768 +options MD_ROOT_SIZE=8000 # same as def_sz hints "PICOBSD.hints" @@ -45,7 +45,7 @@ options DUMMYNET device if_bridge options HZ=1000 -device random # ssh needs /dev/random +device random # used by ssh device pci # Floppy drives @@ -65,7 +65,6 @@ device atkbd device vga # VGA screen # syscons is the default console driver, resembling an SCO console - device sc # Serial (COM) ports @@ -89,16 +88,12 @@ device sio # The following Ethernet NICs are all PCI devices. # device miibus -#device de # DEC/Intel DC21x4x (``Tulip'') -#device lnc device fxp # Intel EtherExpress PRO/100B (82557, 82558) device nfe # nVidia nForce MCP on-board Ethernet #device xl # 3Com device rl # RealTek 8129/8139 device re # RealTek 8139C+/8169/8169S/8110S device sis # National/SiS -#device vx # 3Com 3c590, 3c595 (``Vortex'') -#device wx # Intel Gigabit Ethernet Card (``Wiseman'') device dc # DEC/Intel 21143 and various workalikes device ed From owner-svn-src-stable-7@FreeBSD.ORG Mon Apr 6 11:23:33 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 56D6010657A1; Mon, 6 Apr 2009 11:23:32 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1C1C58FC15; Mon, 6 Apr 2009 11:23:21 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n36BNKCd069940; Mon, 6 Apr 2009 11:23:20 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n36BNKK1069939; Mon, 6 Apr 2009 11:23:20 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <200904061123.n36BNKK1069939@svn.freebsd.org> From: Luigi Rizzo Date: Mon, 6 Apr 2009 11:23:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190766 - stable/7/release/picobsd/bridge X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2009 11:24:09 -0000 Author: luigi Date: Mon Apr 6 11:23:20 2009 New Revision: 190766 URL: http://svn.freebsd.org/changeset/base/190766 Log: bump image size to 4MB and remove references to non-devfs configs Approved by: re (blanket on picobsd) Modified: stable/7/release/picobsd/bridge/config Modified: stable/7/release/picobsd/bridge/config ============================================================================== --- stable/7/release/picobsd/bridge/config Mon Apr 6 11:22:29 2009 (r190765) +++ stable/7/release/picobsd/bridge/config Mon Apr 6 11:23:20 2009 (r190766) @@ -3,5 +3,4 @@ # it should only contain variable definitions -- it is sourced # by the shell much like rc.conf* files -o_no_devfs="" # we have devfs. -fd_size="2880" +fd_size="4096" From owner-svn-src-stable-7@FreeBSD.ORG Mon Apr 6 11:31:31 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A4E1E1065A4E; Mon, 6 Apr 2009 11:31:31 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 849108FC19; Mon, 6 Apr 2009 11:31:31 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n36BVVFq070126; Mon, 6 Apr 2009 11:31:31 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n36BVVan070125; Mon, 6 Apr 2009 11:31:31 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <200904061131.n36BVVan070125@svn.freebsd.org> From: Luigi Rizzo Date: Mon, 6 Apr 2009 11:31:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190767 - stable/7/release/picobsd/bridge X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2009 11:31:37 -0000 Author: luigi Date: Mon Apr 6 11:31:31 2009 New Revision: 190767 URL: http://svn.freebsd.org/changeset/base/190767 Log: MFC: use shared libraries for the crunched binary, put together the basic binaries so it is easier to replace them with busybox. Approved by: re (blanket on picobsd) Modified: stable/7/release/picobsd/bridge/crunch.conf Modified: stable/7/release/picobsd/bridge/crunch.conf ============================================================================== --- stable/7/release/picobsd/bridge/crunch.conf Mon Apr 6 11:23:20 2009 (r190766) +++ stable/7/release/picobsd/bridge/crunch.conf Mon Apr 6 11:31:31 2009 (r190767) @@ -1,39 +1,55 @@ # # $FreeBSD$ # -# configuration file for "bridge" floppy. -# Depending on your needs, almost surely you will need to -# modify your configuration to add/remove/change programs used in -# the floppy image. Remember that some programs also require -# matching kernel options to enable device drivers etc. -# -# Next to most of the programs i have tried to indicate the approximate -# space consumed, but beware that these values change from release -# to release, and might depend on the presence of other programs which -# share the same libraries. +# Configuration file for "bridge" images.. # -# NOTE: the string "/usr/src" will be automatically replaced with the -# correct value set in 'build' script - you should change it there +# Depending on your needs, you will almost surely need to +# add/remove/change programs according to your needs. +# Remember that some programs require matching kernel options to +# enable device drivers etc. +# +# To figure out how much space is used by each program, do +# +# size build_dir-bridge/crunch/*lo +# +# Remember that programs require libraries, which add up to the +# total size. The final binary is build_dir-bridge/mfs.tree/stand/crunch +# and you can check which libraries it uses with +# +# ldd build_dir-bridge/mfs.tree/stand/crunch -# Default build options. Basically tell the Makefiles which understand -# that to use the most compact possible version of the code. +# crunchgen configuration to build the crunched binary, see "man crunchgen" +# We need to specify generic build options, the places where to look +# for sources, and the list of program and libraries we want to put +# in the crunched binary. # -buildopts -DNO_PAM -DRELEASE_CRUNCH -DPPP_NO_NETGRAPH -DTRACEROUTE_NO_IPSEC -DNO_INET6 +# NOTE: the string "/usr/src" below will be automatically replaced with +# the path set in the 'build' script. + +# Default build options. Basically tell the Makefiles +# that to use the most compact possible version of the code. + +buildopts -DNO_PAM -DRELEASE_CRUNCH -DPPP_NO_NETGRAPH +buildopts -DTRACEROUTE_NO_IPSEC -DNO_INET6 buildopts -DWITHOUT_IPX -# directories where to look for sources of various binaries. +# Directories where to look for sources of various binaries. # @__CWD__@ is a magic keyword in the picobsd's (Makefile.conf) -# which is replaced with the picobsd directory. +# which is replaced with the directory with the picobsd configuration +# corresponding to your image. This way you can have custom sources +# in that directory overriding system programs. + srcdirs @__CWD__@/src -# Some programs are especially written for PicoBSD and reside here -# Make this first in the list so we can override standard programs -# with the picobsd-specific ones. +# Some programs are especially written for PicoBSD and reside in +# release/picobsd/tinyware. +# Put this entry near the head of the list to override standard binaries. + srcdirs /usr/src/release/picobsd/tinyware -# -# standard locations -# +# Other standard locations for sources. +# If a program uses its own source directory, add + srcdirs /usr/src/bin srcdirs /usr/src/sbin/i386 srcdirs /usr/src/sbin @@ -41,51 +57,59 @@ srcdirs /usr/src/usr.bin srcdirs /usr/src/gnu/usr.bin srcdirs /usr/src/usr.sbin srcdirs /usr/src/libexec -# -# And there are others (mostly ports) which reside in their specific -# directories. For them, we use the "special" commands to tell -# crunchgen where to look for sources, objects, which Makefile -# variables contain the list of sources and objects, and so on. -# init is almost always necessary. +# For programs that reside in different places, the best option +# is to use the command "special XXX srcdir YYY" where XXX is the +# program name and YYY is the directory path. +# "special XXX ..." can be used to specify more options, see again +# the crunchgen manpage. + +#--- Basic configuraton +# init is always necessary (unless you have a replacement, oinit) progs init + # fsck is almost always necessary, unless you have everything on the # image and use 'tar' or something similar to read/write raw blocks # from the floppy. + progs fsck -# ifconfig is needed if you want to configure interfaces... + +# ifconfig is needed if you want to configure interfaces. progs ifconfig -# + # You will also need a shell and a bunch of utilities. # The standard shell is not that large, but you need many # external programs. In fact most of them do not take much space -# as they merely issue a system call, and print the result; the -# libraries are already needed anyways, so they end up using almost -# no additional memory. -# There are a few exceptions such as 'less', which in 4.x is -# rather large. +# as they merely issue a system call, and print the result. +# For a more compact version of shell and utilities, you could +# try busybox, however most system management commands in busybox +# will not work as they use linux-specific interfaces. + progs sh ln sh -sh + +# the small utilities, also available in busybox progs echo -progs pwd -progs mkdir rmdir +progs pwd mkdir rmdir progs chmod chown -progs mv ln -progs mount +ln chown chgrp +progs mv ln cp rm ls +progs cat tail tee +progs test +ln test [ +progs du +progs kill progs minigzip ln minigzip gzip -progs cp -progs rm -progs ls -progs kill +progs ee # editor (busybox has 'vi') + +# FreeBSD commands not working in busybox +progs mount progs df progs ps -progs ns +progs ns # this is the picobsd version ln ns netstat progs vm -progs cat -progs test -ln test [ progs hostname progs login progs getty @@ -94,72 +118,57 @@ progs w progs msg ln msg dmesg progs reboot -progs less -ln less more progs sysctl progs swapon progs pwd_mkdb progs umount -progs du -progs tail -progs tee progs passwd progs route -# progs mount_msdosfs -# progs comcontrol -# + # If you want to run natd, remember the alias library #progs natd -#libs -lalias # natd -# +#libs_so -lalias # natd + # ppp is rather large. Note that as of Jan.01, RELEASE_CRUNCH # makes ppp not use libalias, so you cannot have aliasing. #progs ppp -# You need an editor. ee is relatively small, though there are -# smaller ones. vi is much larger. -# The editor also usually need a curses library. -progs ee -libs -lncurses -# progs vi # ?? -# libs -lcurses # for vi - -#progs tcpdump -special tcpdump srcdir /usr/src/usr.sbin/tcpdump/tcpdump - progs arp -progs bsdlabel -progs fdisk -progs mdconfig +# these require libgeom +# progs bsdlabel fdisk mdconfig -progs kldload kldunload kldstat kldxref -#progs grep +progs kldload kldunload kldstat +progs kldxref progs date -#progs mount_nfs -ln mount_nfs nfs progs ping #progs routed progs ipfw progs traceroute progs mdmfs ln mdmfs mount_mfs +# Various filesystem support -- remember to enable the kernel parts +# progs mount_msdosfs +# progs mount_nfs # progs mount_cd9660 -# ln mount_cd9660 cd9660 -progs newfs +ln mount_nfs nfs +ln mount_cd9660 cd9660 +# progs newfs #ln newfs mount_mfs -ln chown chgrp # ln mount_msdosfs msdos # For a small ssh client/server use dropbear -libs -ll # used by sh -libs -lufs # used by mount -### ee uses ncurses instead of curses -libs -ledit -lutil -lmd -lcrypt -lmp -lm -lkvm -libs -lz -lpcap -lwrap -libs -ltermcap -lgnuregex # -lcurses -libs -lgeom -libs -lsbuf -lbsdxml +# Now the libraries +libs_so -lc # the C library +libs_so -ll # used by sh (really ?) +libs_so -lufs # used by mount +### ee uses ncurses but as a dependency +#libs_so -lncurses +libs_so -lm +libs_so -ledit -lutil +libs_so -lcrypt +libs_so -lkvm +libs_so -lz From owner-svn-src-stable-7@FreeBSD.ORG Mon Apr 6 12:00:51 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BADF51065686; Mon, 6 Apr 2009 12:00:51 +0000 (UTC) (envelope-from brueffer@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9DA488FC13; Mon, 6 Apr 2009 12:00:51 +0000 (UTC) (envelope-from brueffer@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n36C0pDa070738; Mon, 6 Apr 2009 12:00:51 GMT (envelope-from brueffer@svn.freebsd.org) Received: (from brueffer@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n36C0p4e070737; Mon, 6 Apr 2009 12:00:51 GMT (envelope-from brueffer@svn.freebsd.org) Message-Id: <200904061200.n36C0p4e070737@svn.freebsd.org> From: Christian Brueffer Date: Mon, 6 Apr 2009 12:00:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190768 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb kern X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2009 12:01:07 -0000 Author: brueffer Date: Mon Apr 6 12:00:51 2009 New Revision: 190768 URL: http://svn.freebsd.org/changeset/base/190768 Log: MFC: rev. 190557 Fix memory leak in semunload(). Approved by: re (kib) Modified: stable/7/sys/ (props changed) stable/7/sys/contrib/pf/ (props changed) stable/7/sys/dev/ath/ath_hal/ (props changed) stable/7/sys/dev/cxgb/ (props changed) stable/7/sys/kern/sysv_sem.c Modified: stable/7/sys/kern/sysv_sem.c ============================================================================== --- stable/7/sys/kern/sysv_sem.c Mon Apr 6 11:31:31 2009 (r190767) +++ stable/7/sys/kern/sysv_sem.c Mon Apr 6 12:00:51 2009 (r190768) @@ -285,6 +285,7 @@ semunload(void) free(semu, M_SEM); for (i = 0; i < seminfo.semmni; i++) mtx_destroy(&sema_mtx[i]); + free(sema_mtx, M_SEM); mtx_destroy(&sem_mtx); mtx_destroy(&sem_undo_mtx); return (0); From owner-svn-src-stable-7@FreeBSD.ORG Mon Apr 6 15:45:04 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0625A10656E8; Mon, 6 Apr 2009 15:45:04 +0000 (UTC) (envelope-from cperciva@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E5AB88FC13; Mon, 6 Apr 2009 15:45:03 +0000 (UTC) (envelope-from cperciva@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n36Fj3E2075912; Mon, 6 Apr 2009 15:45:03 GMT (envelope-from cperciva@svn.freebsd.org) Received: (from cperciva@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n36Fj3nB075911; Mon, 6 Apr 2009 15:45:03 GMT (envelope-from cperciva@svn.freebsd.org) Message-Id: <200904061545.n36Fj3nB075911@svn.freebsd.org> From: Colin Percival Date: Mon, 6 Apr 2009 15:45:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190778 - in stable/7/usr.sbin/portsnap: . phttpget X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2009 15:45:05 -0000 Author: cperciva Date: Mon Apr 6 15:45:03 2009 New Revision: 190778 URL: http://svn.freebsd.org/changeset/base/190778 Log: MFC r190679: Set SO_NOSIGPIPE on sockets in order to avoid having phttpget die when a RST packet arrives. Approved by: re (kib) Modified: stable/7/usr.sbin/portsnap/ (props changed) stable/7/usr.sbin/portsnap/phttpget/phttpget.c Modified: stable/7/usr.sbin/portsnap/phttpget/phttpget.c ============================================================================== --- stable/7/usr.sbin/portsnap/phttpget/phttpget.c Mon Apr 6 15:29:44 2009 (r190777) +++ stable/7/usr.sbin/portsnap/phttpget/phttpget.c Mon Apr 6 15:45:03 2009 (r190778) @@ -317,6 +317,7 @@ main(int argc, char *argv[]) int chunked; /* != if transfer-encoding is chunked */ off_t clen; /* Chunk length */ int firstreq = 0; /* # of first request for this connection */ + int val; /* Value used for setsockopt call */ /* Check that the arguments are sensible */ if (argc < 2) @@ -370,6 +371,11 @@ main(int argc, char *argv[]) setsockopt(sd, SOL_SOCKET, SO_RCVTIMEO, (void *)&timo, (socklen_t)sizeof(timo)); + /* ... disable SIGPIPE generation ... */ + val = 1; + setsockopt(sd, SOL_SOCKET, SO_NOSIGPIPE, + (void *)&val, sizeof(int)); + /* ... and connect to the server. */ if(connect(sd, res->ai_addr, res->ai_addrlen)) { close(sd); From owner-svn-src-stable-7@FreeBSD.ORG Mon Apr 6 17:33:35 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 94479106573A; Mon, 6 Apr 2009 17:33:35 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 662578FC17; Mon, 6 Apr 2009 17:33:35 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n36HXZe3078314; Mon, 6 Apr 2009 17:33:35 GMT (envelope-from trasz@svn.freebsd.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n36HXZD8078312; Mon, 6 Apr 2009 17:33:35 GMT (envelope-from trasz@svn.freebsd.org) Message-Id: <200904061733.n36HXZD8078312@svn.freebsd.org> From: Edward Tomasz Napierala Date: Mon, 6 Apr 2009 17:33:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190782 - in stable/7/sys: . contrib/pf dev/cxgb geom/journal X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2009 17:33:37 -0000 Author: trasz Date: Mon Apr 6 17:33:35 2009 New Revision: 190782 URL: http://svn.freebsd.org/changeset/base/190782 Log: MFC r185693: Make it possible to use gjournal for the root filesystem. Previously, an unclean shutdown would make it impossible to mount rootfs at boot. Approved by: re (kib) Modified: stable/7/sys/ (props changed) stable/7/sys/contrib/pf/ (props changed) stable/7/sys/dev/cxgb/ (props changed) stable/7/sys/geom/journal/g_journal.c stable/7/sys/geom/journal/g_journal.h Modified: stable/7/sys/geom/journal/g_journal.c ============================================================================== --- stable/7/sys/geom/journal/g_journal.c Mon Apr 6 17:08:48 2009 (r190781) +++ stable/7/sys/geom/journal/g_journal.c Mon Apr 6 17:33:35 2009 (r190782) @@ -2108,6 +2108,12 @@ g_journal_worker(void *arg) g_topology_unlock(); last_write = time_second; + if (sc->sc_rootmount != NULL) { + GJ_DEBUG(1, "root_mount_rel %p", sc->sc_rootmount); + root_mount_rel(sc->sc_rootmount); + sc->sc_rootmount = NULL; + } + for (;;) { /* Get first request from the queue. */ mtx_lock(&sc->sc_mtx); @@ -2304,6 +2310,9 @@ g_journal_create(struct g_class *mp, str sc->sc_inactive.jj_queue = NULL; sc->sc_active.jj_queue = NULL; + sc->sc_rootmount = root_mount_hold("GJOURNAL"); + GJ_DEBUG(1, "root_mount_hold %p", sc->sc_rootmount); + callout_init(&sc->sc_callout, CALLOUT_MPSAFE); if (md->md_type != GJ_TYPE_COMPLETE) { /* @@ -2434,6 +2443,13 @@ g_journal_destroy(struct g_journal_softc sc->sc_flags |= (GJF_DEVICE_DESTROY | GJF_DEVICE_CLEAN); g_topology_unlock(); + + if (sc->sc_rootmount != NULL) { + GJ_DEBUG(1, "root_mount_rel %p", sc->sc_rootmount); + root_mount_rel(sc->sc_rootmount); + sc->sc_rootmount = NULL; + } + callout_drain(&sc->sc_callout); mtx_lock(&sc->sc_mtx); wakeup(sc); Modified: stable/7/sys/geom/journal/g_journal.h ============================================================================== --- stable/7/sys/geom/journal/g_journal.h Mon Apr 6 17:08:48 2009 (r190781) +++ stable/7/sys/geom/journal/g_journal.h Mon Apr 6 17:33:35 2009 (r190782) @@ -163,6 +163,8 @@ struct g_journal_softc { struct callout sc_callout; struct proc *sc_worker; + + struct root_hold_token *sc_rootmount; }; #define sc_dprovider sc_dconsumer->provider #define sc_jprovider sc_jconsumer->provider From owner-svn-src-stable-7@FreeBSD.ORG Tue Apr 7 12:49:50 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EFB7610656DC; Tue, 7 Apr 2009 12:49:50 +0000 (UTC) (envelope-from ru@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DD1EE8FC2E; Tue, 7 Apr 2009 12:49:50 +0000 (UTC) (envelope-from ru@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n37CnoYn008740; Tue, 7 Apr 2009 12:49:50 GMT (envelope-from ru@svn.freebsd.org) Received: (from ru@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n37CnoC4008739; Tue, 7 Apr 2009 12:49:50 GMT (envelope-from ru@svn.freebsd.org) Message-Id: <200904071249.n37CnoC4008739@svn.freebsd.org> From: Ruslan Ermilov Date: Tue, 7 Apr 2009 12:49:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190797 - stable/7/usr.sbin/jexec X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2009 12:49:52 -0000 Author: ru Date: Tue Apr 7 12:49:50 2009 New Revision: 190797 URL: http://svn.freebsd.org/changeset/base/190797 Log: MFC: - Add missing include. - Style: size_t can't be negative. - Don't exit with a zero status code when no jails are configured on a system. - Style: simplify some code constructs. - If a single jail cannot be found, let the caller print a proper diagnostic message. Approved by: re (kib) Modified: stable/7/usr.sbin/jexec/ (props changed) stable/7/usr.sbin/jexec/jexec.c Modified: stable/7/usr.sbin/jexec/jexec.c ============================================================================== --- stable/7/usr.sbin/jexec/jexec.c Tue Apr 7 12:39:55 2009 (r190796) +++ stable/7/usr.sbin/jexec/jexec.c Tue Apr 7 12:49:50 2009 (r190797) @@ -29,8 +29,10 @@ #include #include +#include #include + #include #include #include @@ -117,8 +119,8 @@ lookup_jail(int jid, char *jailname) j = len; for (i = 0; i < 4; i++) { - if (len <= 0) - exit(0); + if (len == 0) + return (-1); p = q = malloc(len); if (p == NULL) err(1, "malloc()"); @@ -172,27 +174,21 @@ lookup_jail(int jid, char *jailname) /* NOTREACHED */ break; } - /* Possible match. */ - if (id > 0) { - /* Do we have a jail ID to match as well? */ - if (jid > 0) { - if (jid == id) { - xid = id; - count++; - } - } else { - xid = id; - count++; - } + /* Possible match; see if we have a jail ID to match as well. */ + if (id > 0 && (jid <= 0 || id == jid)) { + xid = id; + count++; } } free(p); - if (count != 1) + if (count == 1) + return (xid); + else if (count > 1) errx(1, "Could not uniquely identify the jail."); - - return (xid); + else + return (-1); } #define GET_USER_INFO do { \ From owner-svn-src-stable-7@FreeBSD.ORG Tue Apr 7 16:29:50 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 832601065670; Tue, 7 Apr 2009 16:29:50 +0000 (UTC) (envelope-from emax@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 705E48FC14; Tue, 7 Apr 2009 16:29:50 +0000 (UTC) (envelope-from emax@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n37GToIA014361; Tue, 7 Apr 2009 16:29:50 GMT (envelope-from emax@svn.freebsd.org) Received: (from emax@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n37GTowo014360; Tue, 7 Apr 2009 16:29:50 GMT (envelope-from emax@svn.freebsd.org) Message-Id: <200904071629.n37GTowo014360@svn.freebsd.org> From: Maksim Yevmenkin Date: Tue, 7 Apr 2009 16:29:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190808 - stable/7/etc/rc.d X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2009 16:29:51 -0000 Author: emax Date: Tue Apr 7 16:29:50 2009 New Revision: 190808 URL: http://svn.freebsd.org/changeset/base/190808 Log: MFC r190575 - Add ipfw_nat to the list of required modules if "firewall_nat_enable" is set and "natd_enable" is NOT set; - Accept and pass firewall type to the external firewall script. Submitted by: Yuri Kurenkov < y -dot- kurenkov -at- init -dot- ru > No response from: freebsd-rc Approved by: re (kib) Modified: stable/7/etc/rc.d/ (props changed) stable/7/etc/rc.d/ipfw Modified: stable/7/etc/rc.d/ipfw ============================================================================== --- stable/7/etc/rc.d/ipfw Tue Apr 7 16:15:59 2009 (r190807) +++ stable/7/etc/rc.d/ipfw Tue Apr 7 16:29:50 2009 (r190808) @@ -23,10 +23,20 @@ ipfw_prestart() if checkyesno dummynet_enable; then required_modules="$required_modules dummynet" fi + + if checkyesno firewall_nat_enable; then + if ! checkyesno natd_enable; then + required_modules="$required_modules ipfw_nat" + fi + fi } ipfw_start() { + local _firewall_type + + _firewall_type=$1 + # set the firewall rules script if none was specified [ -z "${firewall_script}" ] && firewall_script=/etc/rc.firewall @@ -34,7 +44,7 @@ ipfw_start() if [ -f /etc/rc.d/natd ] ; then /etc/rc.d/natd start fi - /bin/sh "${firewall_script}" + /bin/sh "${firewall_script}" "${_firewall_type}" echo 'Firewall rules loaded.' elif [ "`ipfw list 65535`" = "65535 deny ip from any to any" ]; then echo 'Warning: kernel has firewall functionality, but' \ @@ -65,4 +75,4 @@ ipfw_stop() } load_rc_config $name -run_rc_command "$1" +run_rc_command $* From owner-svn-src-stable-7@FreeBSD.ORG Tue Apr 7 17:45:53 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 1033) id 877E2106566C; Tue, 7 Apr 2009 17:45:53 +0000 (UTC) Date: Tue, 7 Apr 2009 17:45:53 +0000 From: Alexey Dokuchaev To: Maksim Yevmenkin Message-ID: <20090407174553.GA33627@FreeBSD.org> References: <200904071629.n37GTowo014360@svn.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <200904071629.n37GTowo014360@svn.freebsd.org> User-Agent: Mutt/1.4.2.1i Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-7@freebsd.org Subject: Re: svn commit: r190808 - stable/7/etc/rc.d X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2009 17:45:54 -0000 On Tue, Apr 07, 2009 at 04:29:50PM +0000, Maksim Yevmenkin wrote: > Author: emax > Date: Tue Apr 7 16:29:50 2009 > New Revision: 190808 > URL: http://svn.freebsd.org/changeset/base/190808 > > ipfw_start() > { > + local _firewall_type > + > + _firewall_type=$1 Why extra tab and not simply "local _firewall_type=$1"? > -run_rc_command "$1" > +run_rc_command $* I haven't looked at the implementation of run_rc_command but "$1" suggests it should be "$@" instead. ./danfe From owner-svn-src-stable-7@FreeBSD.ORG Tue Apr 7 19:18:03 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 24A901065673; Tue, 7 Apr 2009 19:18:03 +0000 (UTC) (envelope-from ivoras@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1094A8FC1B; Tue, 7 Apr 2009 19:18:03 +0000 (UTC) (envelope-from ivoras@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n37JI2Xc022491; Tue, 7 Apr 2009 19:18:02 GMT (envelope-from ivoras@svn.freebsd.org) Received: (from ivoras@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n37JI2rZ022488; Tue, 7 Apr 2009 19:18:02 GMT (envelope-from ivoras@svn.freebsd.org) Message-Id: <200904071918.n37JI2rZ022488@svn.freebsd.org> From: Ivan Voras Date: Tue, 7 Apr 2009 19:18:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190816 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb geom/label X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2009 19:18:03 -0000 Author: ivoras Date: Tue Apr 7 19:18:02 2009 New Revision: 190816 URL: http://svn.freebsd.org/changeset/base/190816 Log: Merge r190423: introduce a new UFS-based label called "ufsid" that can be used to reference UFS-carrying devices by the unique file system id. An example of this new label is: /dev/ufsid/48e69c8b5c8e1b43. The benefit of using GEOM labels in general is to avoid problems of device renaming when shifting drives or controllers. Reviewed by: pjd Approved by: re (kib) Approved by: gnn (mentor) (original) Modified: stable/7/sys/ (props changed) stable/7/sys/contrib/pf/ (props changed) stable/7/sys/dev/ath/ath_hal/ (props changed) stable/7/sys/dev/cxgb/ (props changed) stable/7/sys/geom/label/g_label.c stable/7/sys/geom/label/g_label.h stable/7/sys/geom/label/g_label_ufs.c Modified: stable/7/sys/geom/label/g_label.c ============================================================================== --- stable/7/sys/geom/label/g_label.c Tue Apr 7 19:06:51 2009 (r190815) +++ stable/7/sys/geom/label/g_label.c Tue Apr 7 19:18:02 2009 (r190816) @@ -77,7 +77,8 @@ struct g_class g_label_class = { * 6. Add your file system to manual page sbin/geom/class/label/glabel.8. */ const struct g_label_desc *g_labels[] = { - &g_label_ufs, + &g_label_ufs_id, + &g_label_ufs_volume, &g_label_iso9660, &g_label_msdosfs, &g_label_ext2fs, Modified: stable/7/sys/geom/label/g_label.h ============================================================================== --- stable/7/sys/geom/label/g_label.h Tue Apr 7 19:06:51 2009 (r190815) +++ stable/7/sys/geom/label/g_label.h Tue Apr 7 19:18:02 2009 (r190816) @@ -64,7 +64,8 @@ struct g_label_desc { }; /* Supported labels. */ -extern const struct g_label_desc g_label_ufs; +extern const struct g_label_desc g_label_ufs_id; +extern const struct g_label_desc g_label_ufs_volume; extern const struct g_label_desc g_label_iso9660; extern const struct g_label_desc g_label_msdosfs; extern const struct g_label_desc g_label_ext2fs; Modified: stable/7/sys/geom/label/g_label_ufs.c ============================================================================== --- stable/7/sys/geom/label/g_label_ufs.c Tue Apr 7 19:06:51 2009 (r190815) +++ stable/7/sys/geom/label/g_label_ufs.c Tue Apr 7 19:18:02 2009 (r190816) @@ -39,12 +39,16 @@ __FBSDID("$FreeBSD$"); #include #include -#define G_LABEL_UFS_DIR "ufs" +#define G_LABEL_UFS_VOLUME_DIR "ufs" +#define G_LABEL_UFS_ID_DIR "ufsid" + +#define G_LABEL_UFS_VOLUME 0 +#define G_LABEL_UFS_ID 1 static const int superblocks[] = SBLOCKSEARCH; static void -g_label_ufs_taste(struct g_consumer *cp, char *label, size_t size) +g_label_ufs_taste_common(struct g_consumer *cp, char *label, size_t size, int what) { struct g_provider *pp; int sb, superblock; @@ -96,18 +100,50 @@ g_label_ufs_taste(struct g_consumer *cp, } G_LABEL_DEBUG(1, "%s file system detected on %s.", fs->fs_magic == FS_UFS1_MAGIC ? "UFS1" : "UFS2", pp->name); - /* Check for volume label */ - if (fs->fs_volname[0] == '\0') { - g_free(fs); - continue; + switch (what) { + case G_LABEL_UFS_VOLUME: + /* Check for volume label */ + if (fs->fs_volname[0] == '\0') { + g_free(fs); + continue; + } + strlcpy(label, fs->fs_volname, size); + break; + case G_LABEL_UFS_ID: + if (fs->fs_id[0] == 0 && fs->fs_id[1] == 0) { + g_free(fs); + continue; + } + snprintf(label, size, "%08x%08x", fs->fs_id[0], + fs->fs_id[1]); + break; } - strlcpy(label, fs->fs_volname, size); g_free(fs); break; } } -const struct g_label_desc g_label_ufs = { - .ld_taste = g_label_ufs_taste, - .ld_dir = G_LABEL_UFS_DIR +static void +g_label_ufs_volume_taste(struct g_consumer *cp, char *label, size_t size) +{ + + g_label_ufs_taste_common(cp, label, size, G_LABEL_UFS_VOLUME); +} + +static void +g_label_ufs_id_taste(struct g_consumer *cp, char *label, size_t size) +{ + + g_label_ufs_taste_common(cp, label, size, G_LABEL_UFS_ID); +} + + +const struct g_label_desc g_label_ufs_volume = { + .ld_taste = g_label_ufs_volume_taste, + .ld_dir = G_LABEL_UFS_VOLUME_DIR +}; + +const struct g_label_desc g_label_ufs_id = { + .ld_taste = g_label_ufs_id_taste, + .ld_dir = G_LABEL_UFS_ID_DIR }; From owner-svn-src-stable-7@FreeBSD.ORG Tue Apr 7 19:35:41 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 77F9B10656C4; Tue, 7 Apr 2009 19:35:41 +0000 (UTC) (envelope-from ivoras@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6536B8FC1E; Tue, 7 Apr 2009 19:35:41 +0000 (UTC) (envelope-from ivoras@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n37JZfHh023602; Tue, 7 Apr 2009 19:35:41 GMT (envelope-from ivoras@svn.freebsd.org) Received: (from ivoras@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n37JZf4Y023601; Tue, 7 Apr 2009 19:35:41 GMT (envelope-from ivoras@svn.freebsd.org) Message-Id: <200904071935.n37JZf4Y023601@svn.freebsd.org> From: Ivan Voras Date: Tue, 7 Apr 2009 19:35:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190819 - stable/7/sbin/geom/class/label X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2009 19:35:42 -0000 Author: ivoras Date: Tue Apr 7 19:35:41 2009 New Revision: 190819 URL: http://svn.freebsd.org/changeset/base/190819 Log: Merge r190424: man page accompanying r190816. Reviewed by: pjd Approved by: re (kib) Approved by: gnn (mentor) (original) Modified: stable/7/sbin/geom/class/label/ (props changed) stable/7/sbin/geom/class/label/glabel.8 Modified: stable/7/sbin/geom/class/label/glabel.8 ============================================================================== --- stable/7/sbin/geom/class/label/glabel.8 Tue Apr 7 19:35:20 2009 (r190818) +++ stable/7/sbin/geom/class/label/glabel.8 Tue Apr 7 19:35:41 2009 (r190819) @@ -91,12 +91,18 @@ Currently supported file systems are: .Pp .Bl -bullet -offset indent -compact .It -UFS1 (directory +UFS1 volume names (directory .Pa /dev/ufs/ ) . .It -UFS2 (directory +UFS2 volume names (directory .Pa /dev/ufs/ ) . .It +UFS1 file system IDs (directory +.Pa /dev/ufsid/ ) . +.It +UFS2 file system IDs (directory +.Pa /dev/ufsid/ ) . +.It MSDOSFS (FAT12, FAT16, FAT32) (directory .Pa /dev/msdosfs/ ) . .It From owner-svn-src-stable-7@FreeBSD.ORG Tue Apr 7 19:55:43 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C7C8110656F5; Tue, 7 Apr 2009 19:55:43 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 861858FC27; Tue, 7 Apr 2009 19:55:43 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [65.122.17.41]) by cyrus.watson.org (Postfix) with ESMTPS id 3742D46B0C; Tue, 7 Apr 2009 15:55:43 -0400 (EDT) Date: Tue, 7 Apr 2009 20:55:43 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Ivan Voras In-Reply-To: <200904071918.n37JI2rZ022488@svn.freebsd.org> Message-ID: References: <200904071918.n37JI2rZ022488@svn.freebsd.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-7@freebsd.org Subject: Re: svn commit: r190816 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb geom/label X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2009 19:55:44 -0000 On Tue, 7 Apr 2009, Ivan Voras wrote: > Merge r190423: introduce a new UFS-based label called "ufsid" that can > be used to reference UFS-carrying devices by the unique file system id. > An example of this new label is: /dev/ufsid/48e69c8b5c8e1b43. > The benefit of using GEOM labels in general is to avoid problems of > device renaming when shifting drives or controllers. I get quite a lot of console spam in 8.x right now every boot: GEOM_LABEL: Label for provider ad0s1a is ufsid/472fc8054efc5e4a. GEOM_LABEL: Label for provider ad0s1e is ufsid/472fc8053581dc9c. Trying to mount root from ufs:/dev/ad0s1a GEOM_LABEL: Label ufsid/472fc8054efc5e4a removed. GEOM_LABEL: Label for provider ad0s1a is ufsid/472fc8054efc5e4a. GEOM_LABEL: Label ufsid/472fc8053581dc9c removed. GEOM_LABEL: Label for provider ad0s1e is ufsid/472fc8053581dc9c. GEOM_LABEL: Label ufsid/472fc8054efc5e4a removed. GEOM_LABEL: Label ufsid/472fc8053581dc9c removed. Is this omitted in the MFC version? Robert N M Watson Computer Laboratory University of Cambridge > > Reviewed by: pjd > Approved by: re (kib) > Approved by: gnn (mentor) (original) > > Modified: > stable/7/sys/ (props changed) > stable/7/sys/contrib/pf/ (props changed) > stable/7/sys/dev/ath/ath_hal/ (props changed) > stable/7/sys/dev/cxgb/ (props changed) > stable/7/sys/geom/label/g_label.c > stable/7/sys/geom/label/g_label.h > stable/7/sys/geom/label/g_label_ufs.c > > Modified: stable/7/sys/geom/label/g_label.c > ============================================================================== > --- stable/7/sys/geom/label/g_label.c Tue Apr 7 19:06:51 2009 (r190815) > +++ stable/7/sys/geom/label/g_label.c Tue Apr 7 19:18:02 2009 (r190816) > @@ -77,7 +77,8 @@ struct g_class g_label_class = { > * 6. Add your file system to manual page sbin/geom/class/label/glabel.8. > */ > const struct g_label_desc *g_labels[] = { > - &g_label_ufs, > + &g_label_ufs_id, > + &g_label_ufs_volume, > &g_label_iso9660, > &g_label_msdosfs, > &g_label_ext2fs, > > Modified: stable/7/sys/geom/label/g_label.h > ============================================================================== > --- stable/7/sys/geom/label/g_label.h Tue Apr 7 19:06:51 2009 (r190815) > +++ stable/7/sys/geom/label/g_label.h Tue Apr 7 19:18:02 2009 (r190816) > @@ -64,7 +64,8 @@ struct g_label_desc { > }; > > /* Supported labels. */ > -extern const struct g_label_desc g_label_ufs; > +extern const struct g_label_desc g_label_ufs_id; > +extern const struct g_label_desc g_label_ufs_volume; > extern const struct g_label_desc g_label_iso9660; > extern const struct g_label_desc g_label_msdosfs; > extern const struct g_label_desc g_label_ext2fs; > > Modified: stable/7/sys/geom/label/g_label_ufs.c > ============================================================================== > --- stable/7/sys/geom/label/g_label_ufs.c Tue Apr 7 19:06:51 2009 (r190815) > +++ stable/7/sys/geom/label/g_label_ufs.c Tue Apr 7 19:18:02 2009 (r190816) > @@ -39,12 +39,16 @@ __FBSDID("$FreeBSD$"); > #include > #include > > -#define G_LABEL_UFS_DIR "ufs" > +#define G_LABEL_UFS_VOLUME_DIR "ufs" > +#define G_LABEL_UFS_ID_DIR "ufsid" > + > +#define G_LABEL_UFS_VOLUME 0 > +#define G_LABEL_UFS_ID 1 > > static const int superblocks[] = SBLOCKSEARCH; > > static void > -g_label_ufs_taste(struct g_consumer *cp, char *label, size_t size) > +g_label_ufs_taste_common(struct g_consumer *cp, char *label, size_t size, int what) > { > struct g_provider *pp; > int sb, superblock; > @@ -96,18 +100,50 @@ g_label_ufs_taste(struct g_consumer *cp, > } > G_LABEL_DEBUG(1, "%s file system detected on %s.", > fs->fs_magic == FS_UFS1_MAGIC ? "UFS1" : "UFS2", pp->name); > - /* Check for volume label */ > - if (fs->fs_volname[0] == '\0') { > - g_free(fs); > - continue; > + switch (what) { > + case G_LABEL_UFS_VOLUME: > + /* Check for volume label */ > + if (fs->fs_volname[0] == '\0') { > + g_free(fs); > + continue; > + } > + strlcpy(label, fs->fs_volname, size); > + break; > + case G_LABEL_UFS_ID: > + if (fs->fs_id[0] == 0 && fs->fs_id[1] == 0) { > + g_free(fs); > + continue; > + } > + snprintf(label, size, "%08x%08x", fs->fs_id[0], > + fs->fs_id[1]); > + break; > } > - strlcpy(label, fs->fs_volname, size); > g_free(fs); > break; > } > } > > -const struct g_label_desc g_label_ufs = { > - .ld_taste = g_label_ufs_taste, > - .ld_dir = G_LABEL_UFS_DIR > +static void > +g_label_ufs_volume_taste(struct g_consumer *cp, char *label, size_t size) > +{ > + > + g_label_ufs_taste_common(cp, label, size, G_LABEL_UFS_VOLUME); > +} > + > +static void > +g_label_ufs_id_taste(struct g_consumer *cp, char *label, size_t size) > +{ > + > + g_label_ufs_taste_common(cp, label, size, G_LABEL_UFS_ID); > +} > + > + > +const struct g_label_desc g_label_ufs_volume = { > + .ld_taste = g_label_ufs_volume_taste, > + .ld_dir = G_LABEL_UFS_VOLUME_DIR > +}; > + > +const struct g_label_desc g_label_ufs_id = { > + .ld_taste = g_label_ufs_id_taste, > + .ld_dir = G_LABEL_UFS_ID_DIR > }; > From owner-svn-src-stable-7@FreeBSD.ORG Tue Apr 7 20:55:36 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C995E106577F; Tue, 7 Apr 2009 20:55:36 +0000 (UTC) (envelope-from amdmi3@amdmi3.ru) Received: from smtp.timeweb.ru (smtp.timeweb.ru [217.170.79.85]) by mx1.freebsd.org (Postfix) with ESMTP id 78E5E8FC12; Tue, 7 Apr 2009 20:55:36 +0000 (UTC) (envelope-from amdmi3@amdmi3.ru) Received: from [213.148.20.85] (helo=hive.panopticon) by smtp.timeweb.ru with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.69) (envelope-from ) id 1LrHuW-0006pS-Km; Wed, 08 Apr 2009 00:28:44 +0400 Received: from hades.panopticon (hades.panopticon [192.168.0.32]) by hive.panopticon (Postfix) with ESMTP id 1B23AA76E; Wed, 8 Apr 2009 00:28:56 +0400 (MSD) Received: by hades.panopticon (Postfix, from userid 1000) id E703010883A; Wed, 8 Apr 2009 00:28:30 +0400 (MSD) Date: Wed, 8 Apr 2009 00:28:30 +0400 From: Dmitry Marakasov To: Robert Watson Message-ID: <20090407202830.GA73625@hades.panopticon> References: <200904071918.n37JI2rZ022488@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.19 (2009-01-05) Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-7@freebsd.org, Ivan Voras Subject: Re: svn commit: r190816 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb geom/label X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2009 20:55:38 -0000 * Robert Watson (rwatson@FreeBSD.org) wrote: > I get quite a lot of console spam in 8.x right now every boot: > > GEOM_LABEL: Label for provider ad0s1a is ufsid/472fc8054efc5e4a. > GEOM_LABEL: Label for provider ad0s1e is ufsid/472fc8053581dc9c. > Trying to mount root from ufs:/dev/ad0s1a > GEOM_LABEL: Label ufsid/472fc8054efc5e4a removed. > GEOM_LABEL: Label for provider ad0s1a is ufsid/472fc8054efc5e4a. > GEOM_LABEL: Label ufsid/472fc8053581dc9c removed. > GEOM_LABEL: Label for provider ad0s1e is ufsid/472fc8053581dc9c. > GEOM_LABEL: Label ufsid/472fc8054efc5e4a removed. > GEOM_LABEL: Label ufsid/472fc8053581dc9c removed. Yeah, and btw there are the same messages at least for msdosfs and iso9660. I guess it's time to silence all these altogether. -- Dmitry Marakasov . 55B5 0596 FF1E 8D84 5F56 9510 D35A 80DD F9D2 F77D amdmi3@amdmi3.ru ..: jabber: amdmi3@jabber.ru http://www.amdmi3.ru From owner-svn-src-stable-7@FreeBSD.ORG Tue Apr 7 22:30:10 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A9C5B106564A; Tue, 7 Apr 2009 22:30:10 +0000 (UTC) (envelope-from ivoras@gmail.com) Received: from mail-ew0-f171.google.com (mail-ew0-f171.google.com [209.85.219.171]) by mx1.freebsd.org (Postfix) with ESMTP id DBEF98FC1B; Tue, 7 Apr 2009 22:30:09 +0000 (UTC) (envelope-from ivoras@gmail.com) Received: by ewy19 with SMTP id 19so2528270ewy.43 for ; Tue, 07 Apr 2009 15:30:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:from:date:x-google-sender-auth:message-id:subject:to:cc :content-type:content-transfer-encoding; bh=lN4RoaES9iRS9A9dLWNxz0bruXQrInkEaobJDrBlQbk=; b=VH8pDKBMeybj9c2XfwdPaO+Dx7fAn+F1/JdWufv+RljnCOMo63AntNY0PHt/7g1fg7 RT86JCi1rmejLK6/0yemSIF/t53yYX8531WHZX3tkYAyOMJmNsVagLO0L9pk3OYBHUmq v56jblnctF4uJW+bIhozr+y/RF7F1Tg8DnI0g= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type :content-transfer-encoding; b=Qs1vdprPRjmTVL5el3o2njevyV7N1+rbunuJ/JDbfiwwtycX5OPV9a7tv1fJ1wETtG MMUEc2Imu1dUcHfcqOGXW0HnVyquEhYTVmGgM9fjScsYU8ta+D/MXwlLg2XjrwZJ+UR8 7AAmcFtq+hKAd04qMBTVxAYFiZEx7LWR3tJM0= MIME-Version: 1.0 Sender: ivoras@gmail.com Received: by 10.210.20.17 with SMTP id 17mr2990242ebt.53.1239141908232; Tue, 07 Apr 2009 15:05:08 -0700 (PDT) In-Reply-To: <20090407202830.GA73625@hades.panopticon> References: <200904071918.n37JI2rZ022488@svn.freebsd.org> <20090407202830.GA73625@hades.panopticon> From: Ivan Voras Date: Wed, 8 Apr 2009 00:04:53 +0200 X-Google-Sender-Auth: dcb27f8278340ad0 Message-ID: <9bbcef730904071504i30538ec8n575ecebb75e03c57@mail.gmail.com> To: Dmitry Marakasov Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: svn-src-stable-7@freebsd.org, svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Robert Watson Subject: Re: svn commit: r190816 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb geom/label X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2009 22:30:11 -0000 2009/4/7 Dmitry Marakasov : > * Robert Watson (rwatson@FreeBSD.org) wrote: > >> I get quite a lot of console spam in 8.x right now every boot: >> >> GEOM_LABEL: Label for provider ad0s1a is ufsid/472fc8054efc5e4a. >> GEOM_LABEL: Label for provider ad0s1e is ufsid/472fc8053581dc9c. >> Trying to mount root from ufs:/dev/ad0s1a >> GEOM_LABEL: Label ufsid/472fc8054efc5e4a removed. >> GEOM_LABEL: Label for provider ad0s1a is ufsid/472fc8054efc5e4a. >> GEOM_LABEL: Label ufsid/472fc8053581dc9c removed. >> GEOM_LABEL: Label for provider ad0s1e is ufsid/472fc8053581dc9c. >> GEOM_LABEL: Label ufsid/472fc8054efc5e4a removed. >> GEOM_LABEL: Label ufsid/472fc8053581dc9c removed. It's not specific to new development but a standard issue with any labels ... > Yeah, and btw there are the same messages at least for msdosfs and > iso9660. I guess it's time to silence all these altogether. ... and I agree. While useful as a diagnostic, they may be a little too much now that UFS IDs are integrated. It is simple to set the default verbosity level for glabel lower than it is now. But it will be global - for all types of labels. Consensus? From owner-svn-src-stable-7@FreeBSD.ORG Tue Apr 7 22:37:01 2009 Return-Path: Delivered-To: svn-src-stable-7@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 18C651065675; Tue, 7 Apr 2009 22:37:01 +0000 (UTC) (envelope-from brooks@lor.one-eyed-alien.net) Received: from lor.one-eyed-alien.net (lor.one-eyed-alien.net [69.66.77.232]) by mx1.freebsd.org (Postfix) with ESMTP id 1063A8FC16; Tue, 7 Apr 2009 22:36:59 +0000 (UTC) (envelope-from brooks@lor.one-eyed-alien.net) Received: from lor.one-eyed-alien.net (localhost [127.0.0.1]) by lor.one-eyed-alien.net (8.14.3/8.14.3) with ESMTP id n37MJqcZ046435; Tue, 7 Apr 2009 17:19:52 -0500 (CDT) (envelope-from brooks@lor.one-eyed-alien.net) Received: (from brooks@localhost) by lor.one-eyed-alien.net (8.14.3/8.14.3/Submit) id n37MJqoK046434; Tue, 7 Apr 2009 17:19:52 -0500 (CDT) (envelope-from brooks) Date: Tue, 7 Apr 2009 17:19:52 -0500 From: Brooks Davis To: Ivan Voras Message-ID: <20090407221952.GA44590@lor.one-eyed-alien.net> References: <200904071918.n37JI2rZ022488@svn.freebsd.org> <20090407202830.GA73625@hades.panopticon> <9bbcef730904071504i30538ec8n575ecebb75e03c57@mail.gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="mP3DRpeJDSE+ciuQ" Content-Disposition: inline In-Reply-To: <9bbcef730904071504i30538ec8n575ecebb75e03c57@mail.gmail.com> User-Agent: Mutt/1.5.17 (2007-11-01) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-3.0 (lor.one-eyed-alien.net [127.0.0.1]); Tue, 07 Apr 2009 17:19:53 -0500 (CDT) Cc: svn-src-stable-7@FreeBSD.org, svn-src-stable@FreeBSD.org, svn-src-all@FreeBSD.org, Dmitry Marakasov , Robert Watson , src-committers@FreeBSD.org Subject: Re: svn commit: r190816 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb geom/label X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Apr 2009 22:37:02 -0000 --mP3DRpeJDSE+ciuQ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Apr 08, 2009 at 12:04:53AM +0200, Ivan Voras wrote: > 2009/4/7 Dmitry Marakasov : > > * Robert Watson (rwatson@FreeBSD.org) wrote: > > > >> I get quite a lot of console spam in 8.x right now every boot: > >> > >> GEOM_LABEL: Label for provider ad0s1a is ufsid/472fc8054efc5e4a. > >> GEOM_LABEL: Label for provider ad0s1e is ufsid/472fc8053581dc9c. > >> Trying to mount root from ufs:/dev/ad0s1a > >> GEOM_LABEL: Label ufsid/472fc8054efc5e4a removed. > >> GEOM_LABEL: Label for provider ad0s1a is ufsid/472fc8054efc5e4a. > >> GEOM_LABEL: Label ufsid/472fc8053581dc9c removed. > >> GEOM_LABEL: Label for provider ad0s1e is ufsid/472fc8053581dc9c. > >> GEOM_LABEL: Label ufsid/472fc8054efc5e4a removed. > >> GEOM_LABEL: Label ufsid/472fc8053581dc9c removed. >=20 > It's not specific to new development but a standard issue with any labels= ... >=20 > > Yeah, and btw there are the same messages at least for msdosfs and > > iso9660. I guess it's time to silence all these altogether. >=20 > ... and I agree. While useful as a diagnostic, they may be a little > too much now that UFS IDs are integrated. >=20 > It is simple to set the default verbosity level for glabel lower than > it is now. But it will be global - for all types of labels. >=20 > Consensus? IMO the whole thing should be reworked so the labels don't vanish when used, but until that happens, we should probably hide all the noise under boot verbose. -- Brooks --mP3DRpeJDSE+ciuQ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iD8DBQFJ29GHXY6L6fI4GtQRArDIAKC/8U64aTAJ8NPHMBDHWf6J7J2qXwCcCoCU tWJqdmi5felR5KLuFYFsyiU= =e7IF -----END PGP SIGNATURE----- --mP3DRpeJDSE+ciuQ-- From owner-svn-src-stable-7@FreeBSD.ORG Wed Apr 8 02:04:07 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 865BF1065672; Wed, 8 Apr 2009 02:04:07 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 73A998FC16; Wed, 8 Apr 2009 02:04:07 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n38247ku039693; Wed, 8 Apr 2009 02:04:07 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n38247cE039692; Wed, 8 Apr 2009 02:04:07 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <200904080204.n38247cE039692@svn.freebsd.org> From: Xin LI Date: Wed, 8 Apr 2009 02:04:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190835 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb dev/hptiop X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Apr 2009 02:04:08 -0000 Author: delphij Date: Wed Apr 8 02:04:07 2009 New Revision: 190835 URL: http://svn.freebsd.org/changeset/base/190835 Log: MFC 190398 + 190405: Use __packed for ioctl structure to make High Point management tool work. Approved by: re (kensmith) Modified: stable/7/sys/ (props changed) stable/7/sys/contrib/pf/ (props changed) stable/7/sys/dev/ath/ath_hal/ (props changed) stable/7/sys/dev/cxgb/ (props changed) stable/7/sys/dev/hptiop/hptiop.h Modified: stable/7/sys/dev/hptiop/hptiop.h ============================================================================== --- stable/7/sys/dev/hptiop/hptiop.h Wed Apr 8 00:14:06 2009 (r190834) +++ stable/7/sys/dev/hptiop/hptiop.h Wed Apr 8 02:04:07 2009 (r190835) @@ -260,7 +260,7 @@ struct hpt_iop_ioctl_param { unsigned long lpOutBuffer; /* output data buffer */ u_int32_t nOutBufferSize; /* size of output data buffer */ unsigned long lpBytesReturned; /* count of HPT_U8s returned */ -}; +} __packed; #define HPT_IOCTL_FLAG_OPEN 1 #define HPT_CTL_CODE_BSD_TO_IOP(x) ((x)-0xff00) From owner-svn-src-stable-7@FreeBSD.ORG Wed Apr 8 04:30:16 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E64D8106564A; Wed, 8 Apr 2009 04:30:16 +0000 (UTC) (envelope-from mckay@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D37B98FC13; Wed, 8 Apr 2009 04:30:16 +0000 (UTC) (envelope-from mckay@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n384UGmd043590; Wed, 8 Apr 2009 04:30:16 GMT (envelope-from mckay@svn.freebsd.org) Received: (from mckay@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n384UGWw043589; Wed, 8 Apr 2009 04:30:16 GMT (envelope-from mckay@svn.freebsd.org) Message-Id: <200904080430.n384UGWw043589@svn.freebsd.org> From: Stephen McKay Date: Wed, 8 Apr 2009 04:30:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190837 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb kern X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Apr 2009 04:30:17 -0000 Author: mckay Date: Wed Apr 8 04:30:16 2009 New Revision: 190837 URL: http://svn.freebsd.org/changeset/base/190837 Log: MFC r187460: Add a limit on namecache entries. Approved by: re (kib) Modified: stable/7/sys/ (props changed) stable/7/sys/contrib/pf/ (props changed) stable/7/sys/dev/ath/ath_hal/ (props changed) stable/7/sys/dev/cxgb/ (props changed) stable/7/sys/kern/vfs_cache.c Modified: stable/7/sys/kern/vfs_cache.c ============================================================================== --- stable/7/sys/kern/vfs_cache.c Wed Apr 8 03:53:20 2009 (r190836) +++ stable/7/sys/kern/vfs_cache.c Wed Apr 8 04:30:16 2009 (r190837) @@ -495,6 +495,12 @@ cache_enter(dvp, vp, cnp) if (!doingcache) return; + /* + * Avoid blowout in namecache entries. + */ + if (numcache >= desiredvnodes * 2) + return; + if (cnp->cn_nameptr[0] == '.') { if (cnp->cn_namelen == 1) { return; From owner-svn-src-stable-7@FreeBSD.ORG Wed Apr 8 14:02:52 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BE9651065679; Wed, 8 Apr 2009 14:02:52 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 98C208FC1A; Wed, 8 Apr 2009 14:02:52 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [65.122.17.41]) by cyrus.watson.org (Postfix) with ESMTPS id 26C5146B35; Wed, 8 Apr 2009 10:02:52 -0400 (EDT) Date: Wed, 8 Apr 2009 15:02:52 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Stephen McKay In-Reply-To: <200904080430.n384UGWw043589@svn.freebsd.org> Message-ID: References: <200904080430.n384UGWw043589@svn.freebsd.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-7@freebsd.org Subject: Re: svn commit: r190837 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb kern X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Apr 2009 14:02:53 -0000 On Wed, 8 Apr 2009, Stephen McKay wrote: > Author: mckay > Date: Wed Apr 8 04:30:16 2009 > New Revision: 190837 > URL: http://svn.freebsd.org/changeset/base/190837 > > Log: > MFC r187460: Add a limit on namecache entries. Obviously, having a limit is a good idea, but I wonder if we should use some more mature scheme to limit entries. At the very least, using UMA zone limits may help memory being dedicated to cache entries without being able to actually use it (i.e., extra entries in the UMA cache above the desiredvnodes limit). Similarly, the cost of different cache entries is different -- long entries cost much, much more than short ones, because we use two bucket sizes. Perhaps this means that we should separately count long and short entries, and short ones should contribute less towards the limit than long ones? Finally, I think it would be a good idea to do a bit of real-world profiling on memory efficiency of the name cache: how much memory is wasted when assumptions about short/long are wrong, and could we retune lengths, limits, hash bucket counts, etc, to work better in practice? Robert N M Watson Computer Laboratory University of Cambridge > > Approved by: re (kib) > > Modified: > stable/7/sys/ (props changed) > stable/7/sys/contrib/pf/ (props changed) > stable/7/sys/dev/ath/ath_hal/ (props changed) > stable/7/sys/dev/cxgb/ (props changed) > stable/7/sys/kern/vfs_cache.c > > Modified: stable/7/sys/kern/vfs_cache.c > ============================================================================== > --- stable/7/sys/kern/vfs_cache.c Wed Apr 8 03:53:20 2009 (r190836) > +++ stable/7/sys/kern/vfs_cache.c Wed Apr 8 04:30:16 2009 (r190837) > @@ -495,6 +495,12 @@ cache_enter(dvp, vp, cnp) > if (!doingcache) > return; > > + /* > + * Avoid blowout in namecache entries. > + */ > + if (numcache >= desiredvnodes * 2) > + return; > + > if (cnp->cn_nameptr[0] == '.') { > if (cnp->cn_namelen == 1) { > return; > From owner-svn-src-stable-7@FreeBSD.ORG Wed Apr 8 14:41:11 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A91FA106566C; Wed, 8 Apr 2009 14:41:11 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 7ECC28FC17; Wed, 8 Apr 2009 14:41:11 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [65.122.17.41]) by cyrus.watson.org (Postfix) with ESMTPS id 363BA46B0D; Wed, 8 Apr 2009 10:41:11 -0400 (EDT) Date: Wed, 8 Apr 2009 15:41:11 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Attilio Rao In-Reply-To: <3bbf2fe10904080724i381c36fdpb1699def955fdb6d@mail.gmail.com> Message-ID: References: <200904080430.n384UGWw043589@svn.freebsd.org> <3bbf2fe10904080724i381c36fdpb1699def955fdb6d@mail.gmail.com> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-7@freebsd.org, Stephen McKay Subject: Re: svn commit: r190837 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb kern X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Apr 2009 14:41:13 -0000 On Wed, 8 Apr 2009, Attilio Rao wrote: >> Finally, I think it would be a good idea to do a bit of real-world >> profiling on memory efficiency of the name cache: how much memory is wasted >> when assumptions about short/long are wrong, and could we retune lengths, >> limits, hash bucket counts, etc, to work better in practice? > > Am I wrong or you were working on adding DTrace tracing to it? Do you have > any interesting workload/numbers you can show? While the probes I've added could be used to do this very easily, that's not the thrust of the work I'm currently doing. A useful starting point for someone interested in this problem would be a dtrace script like the following: vfs:namecache:enter:done { @distribution = quantize(strlen((string)arg1)); } When run across a "du" of a portion of my local subversion tree, I get: value ------------- Distribution ------------- count 0 | 0 1 | 2 2 |@@ 296 4 |@@@@@@@@@@@ 1879 8 |@@@@@@@@@@@@@@@@ 2719 16 |@@@@@@@@@@@ 1974 32 | 69 64 | 2 128 | 0 The result is that for my, quite toy, workload, large bucket entries are rarely used, and small entries make ineffective use of the space we've allocated because they rarely fill the full 32+ bytes we make available to small entries. Other useful types of analysis might be: - How effective is our LRU in the cache? - What's the distribution of "times that entries spend in the cache" - Is there a relationship between length and reuse of cache entries? Doing these on real workloads is what's actually required, rather than on my running du on a directory tree. Robert N M Watson Computer Laboratory University of Cambridge From owner-svn-src-stable-7@FreeBSD.ORG Wed Apr 8 14:43:02 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9A5F6106566B; Wed, 8 Apr 2009 14:43:02 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 717208FC21; Wed, 8 Apr 2009 14:43:02 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [65.122.17.41]) by cyrus.watson.org (Postfix) with ESMTPS id 2896A46B38; Wed, 8 Apr 2009 10:43:02 -0400 (EDT) Date: Wed, 8 Apr 2009 15:43:02 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Attilio Rao In-Reply-To: Message-ID: References: <200904080430.n384UGWw043589@svn.freebsd.org> <3bbf2fe10904080724i381c36fdpb1699def955fdb6d@mail.gmail.com> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-7@freebsd.org, Stephen McKay Subject: Re: svn commit: r190837 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb kern X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Apr 2009 14:43:04 -0000 On Wed, 8 Apr 2009, Robert Watson wrote: > While the probes I've added could be used to do this very easily, that's not > the thrust of the work I'm currently doing. A useful starting point for > someone interested in this problem would be a dtrace script like the > following: > > vfs:namecache:enter:done Also useful: the same script, but using "vfs:namecache:lookup:hit". Robert N M Watson Computer Laboratory University of Cambridge From owner-svn-src-stable-7@FreeBSD.ORG Wed Apr 8 14:49:06 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D04BA106564A; Wed, 8 Apr 2009 14:49:06 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from fk-out-0910.google.com (fk-out-0910.google.com [209.85.128.190]) by mx1.freebsd.org (Postfix) with ESMTP id 0F25B8FC16; Wed, 8 Apr 2009 14:49:05 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: by fk-out-0910.google.com with SMTP id b27so79804fka.11 for ; Wed, 08 Apr 2009 07:49:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to:cc :content-type:content-transfer-encoding; bh=rSxgeKylvEYjgy+H7x4pZphk1ValLw264vPKjOMFLiQ=; b=E8uGAMfREVAvcn9B9kMEpFBoIZ6GAXo4LVMn/bxKkV8PNY0HazT1cyQImtSoIxjxTC z9NEGedrrLPksjWVLVmmdiiKZnj6c2myxLzi/QKV2Lt5rDmxW+XDlkRjd8L7+gw1SkJK E1uOePpOJXvWIHVFzLeqlmbkIOQh0hU+Qx1b4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=PmZkzMsWU2kEGlBtV6UfLcrImxOhG3GKH31xs9oSDueQkYmb4V/wdeauV4B4rIDM0z YeaAyXu5W1xRaDYAQ78n60oiqu9893lUOIl4+JSMX9TrtmvSJT7d6sn/3KoO5KWeyJQl ZpHPRIrSi5YT/c5GvyTst8Yi98kORcC9JzTIA= MIME-Version: 1.0 Sender: asmrookie@gmail.com Received: by 10.103.245.18 with SMTP id x18mr586250mur.62.1239200676161; Wed, 08 Apr 2009 07:24:36 -0700 (PDT) In-Reply-To: References: <200904080430.n384UGWw043589@svn.freebsd.org> Date: Wed, 8 Apr 2009 16:24:36 +0200 X-Google-Sender-Auth: 22042fdc5f27f1eb Message-ID: <3bbf2fe10904080724i381c36fdpb1699def955fdb6d@mail.gmail.com> From: Attilio Rao To: Robert Watson Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-7@freebsd.org, Stephen McKay Subject: Re: svn commit: r190837 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb kern X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Apr 2009 14:49:07 -0000 2009/4/8, Robert Watson : > On Wed, 8 Apr 2009, Stephen McKay wrote: > > > > Author: mckay > > Date: Wed Apr 8 04:30:16 2009 > > New Revision: 190837 > > URL: http://svn.freebsd.org/changeset/base/190837 > > > > Log: > > MFC r187460: Add a limit on namecache entries. > > > > Obviously, having a limit is a good idea, but I wonder if we should use > some more mature scheme to limit entries. At the very least, using UMA zone > limits may help memory being dedicated to cache entries without being able > to actually use it (i.e., extra entries in the UMA cache above the > desiredvnodes limit). > > Similarly, the cost of different cache entries is different -- long entries > cost much, much more than short ones, because we use two bucket sizes. > Perhaps this means that we should separately count long and short entries, > and short ones should contribute less towards the limit than long ones? > > Finally, I think it would be a good idea to do a bit of real-world > profiling on memory efficiency of the name cache: how much memory is wasted > when assumptions about short/long are wrong, and could we retune lengths, > limits, hash bucket counts, etc, to work better in practice? Am I wrong or you were working on adding DTrace tracing to it? Do you have any interesting workload/numbers you can show? Thanks, Attilio -- Peace can only be achieved by understanding - A. Einstein From owner-svn-src-stable-7@FreeBSD.ORG Wed Apr 8 16:52:48 2009 Return-Path: Delivered-To: svn-src-stable-7@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 41E8F106566C; Wed, 8 Apr 2009 16:52:48 +0000 (UTC) (envelope-from maxim@macomnet.ru) Received: from mp2.macomnet.net (cl-2958.ham-01.de.sixxs.net [IPv6:2001:6f8:900:b8d::2]) by mx1.freebsd.org (Postfix) with ESMTP id B37508FC15; Wed, 8 Apr 2009 16:52:47 +0000 (UTC) (envelope-from maxim@macomnet.ru) Received: from localhost (localhost [127.0.0.1]) by mp2.macomnet.net (8.14.3/8.14.3) with ESMTP id n38GqjJ6089901; Wed, 8 Apr 2009 20:52:45 +0400 (MSD) (envelope-from maxim@macomnet.ru) Date: Wed, 8 Apr 2009 20:52:45 +0400 (MSD) From: Maxim Konovalov To: Robert Watson In-Reply-To: Message-ID: <20090408205159.X1212@mp2.macomnet.net> References: <200904080430.n384UGWw043589@svn.freebsd.org> <3bbf2fe10904080724i381c36fdpb1699def955fdb6d@mail.gmail.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: src-committers@FreeBSD.ORG, svn-src-stable@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, Stephen McKay , Attilio Rao , svn-src-stable-7@FreeBSD.ORG Subject: Re: svn commit: r190837 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb kern X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Apr 2009 16:52:49 -0000 On Wed, 8 Apr 2009, 15:43+0100, Robert Watson wrote: > > On Wed, 8 Apr 2009, Robert Watson wrote: > > > While the probes I've added could be used to do this very easily, > > that's not the thrust of the work I'm currently doing. A useful > > starting point for someone interested in this problem would be a > > dtrace script like the following: > > > > vfs:namecache:enter:done > > Also useful: the same script, but using "vfs:namecache:lookup:hit". > Perhaps we should start to put such scripts somewhere to src/tools. -- Maxim Konovalov From owner-svn-src-stable-7@FreeBSD.ORG Wed Apr 8 17:46:49 2009 Return-Path: Delivered-To: svn-src-stable-7@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 24D381065689; Wed, 8 Apr 2009 17:46:49 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id ED3428FC1E; Wed, 8 Apr 2009 17:46:48 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [65.122.17.41]) by cyrus.watson.org (Postfix) with ESMTPS id A710146BA7; Wed, 8 Apr 2009 13:46:48 -0400 (EDT) Date: Wed, 8 Apr 2009 18:46:48 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Maxim Konovalov In-Reply-To: <20090408205159.X1212@mp2.macomnet.net> Message-ID: References: <200904080430.n384UGWw043589@svn.freebsd.org> <3bbf2fe10904080724i381c36fdpb1699def955fdb6d@mail.gmail.com> <20090408205159.X1212@mp2.macomnet.net> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: src-committers@FreeBSD.ORG, svn-src-stable@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, Stephen McKay , Attilio Rao , svn-src-stable-7@FreeBSD.ORG Subject: Re: svn commit: r190837 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb kern X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Apr 2009 17:46:50 -0000 On Wed, 8 Apr 2009, Maxim Konovalov wrote: >>> While the probes I've added could be used to do this very easily, that's >>> not the thrust of the work I'm currently doing. A useful starting point >>> for someone interested in this problem would be a dtrace script like the >>> following: >>> >>> vfs:namecache:enter:done >> >> Also useful: the same script, but using "vfs:namecache:lookup:hit". >> > Perhaps we should start to put such scripts somewhere to src/tools. This sort of script isn't really worth putting in a library, as it's composed only of the most basic language constructs and a single probe. I'd rather reserve a tools tree for things that reflect a significant investment in time to write, rather than things that can be written in thirty seconds given a rudimentary knowledge of the D scripting language. Otherwise we'll be buried in scripts that have little utility and unable to find scripts that are useful. Something we do need to do is begin to formally document the sets of probes we're adding, because these sorts of trivial scripts become a lot more obvious it you know the probes exist and what they do :-). I'm not sure what the conventions for said man pages should be - perhaps vfs_probes(4) or vfs_dtrace(4) or the like, broken into a parts that include a summary of the goal of the provider, a list of the specific probes, etc? Robert N M Watson Computer Laboratory University of Cambridge From owner-svn-src-stable-7@FreeBSD.ORG Wed Apr 8 19:22:34 2009 Return-Path: Delivered-To: svn-src-stable-7@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2AEAE1065701; Wed, 8 Apr 2009 19:22:34 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id DBD868FC08; Wed, 8 Apr 2009 19:22:33 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [65.122.17.41]) by cyrus.watson.org (Postfix) with ESMTPS id 948CB46B8F; Wed, 8 Apr 2009 15:22:33 -0400 (EDT) Date: Wed, 8 Apr 2009 20:22:33 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Maxim Konovalov In-Reply-To: Message-ID: References: <200904080430.n384UGWw043589@svn.freebsd.org> <3bbf2fe10904080724i381c36fdpb1699def955fdb6d@mail.gmail.com> <20090408205159.X1212@mp2.macomnet.net> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: src-committers@FreeBSD.ORG, svn-src-stable@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, Stephen McKay , Attilio Rao , svn-src-stable-7@FreeBSD.ORG Subject: Re: svn commit: r190837 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb kern X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Apr 2009 19:22:34 -0000 On Wed, 8 Apr 2009, Robert Watson wrote: >>>> While the probes I've added could be used to do this very easily, that's >>>> not the thrust of the work I'm currently doing. A useful starting point >>>> for someone interested in this problem would be a dtrace script like the >>>> following: >>>> >>>> vfs:namecache:enter:done >>> >>> Also useful: the same script, but using "vfs:namecache:lookup:hit". >>> >> Perhaps we should start to put such scripts somewhere to src/tools. > > This sort of script isn't really worth putting in a library, as it's > composed only of the most basic language constructs and a single probe. > I'd rather reserve a tools tree for things that reflect a significant > investment in time to write, rather than things that can be written in > thirty seconds given a rudimentary knowledge of the D scripting language. > Otherwise we'll be buried in scripts that have little utility and unable to > find scripts that are useful. > > Something we do need to do is begin to formally document the sets of probes > we're adding, because these sorts of trivial scripts become a lot more > obvious it you know the probes exist and what they do :-). I'm not sure > what the conventions for said man pages should be - perhaps vfs_probes(4) or > vfs_dtrace(4) or the like, broken into a parts that include a summary of the > goal of the provider, a list of the specific probes, etc? Scott has suggested that these sorts of example scripts are particularly helpful when just getting started with DTrace, so perhaps the thing to do is this: I've collected a set of such scripts on our wiki here: http://wiki.freebsd.org/DTrace/Examples They illustrate some of the facilities of the D language, what you can do with some of the probes we have in the tree already, etc. It would be fairly straight forward to take this Wiki page and convert it into a new section of the FreeBSD Handbook's DTrace chapter, basically just adding a bit more annotation and explanation of the scripts. Most of the scripts on the Wiki page don't yet work in FreeBSD 7-STABLE, as they rely on probes I've added shortly before or since the code freeze for 7.2 began, FYI, but hopefully will start working in 7.x starting a bit after the code freeze is relaxed. Also notice that these DTrace scripts really only help you when analyzing the behavior of the FreeBSD kernel, as we don't yet have proper tracing support for userspace events (i.e., the "pid" provider). Finally, the best reference I've found for DTrace so far is really the Solaris Dynamic Tracing Guide, which includes an introduction to the language, review of the providers available on Solaris, and example scripts that use them. As with all programming languages, learning by doing is best, of course... Robert N M Watson Computer Laboratory University of Cambridge From owner-svn-src-stable-7@FreeBSD.ORG Thu Apr 9 08:11:12 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5E6B4106566C; Thu, 9 Apr 2009 08:11:12 +0000 (UTC) (envelope-from smckay@internode.on.net) Received: from ipmail01.adl6.internode.on.net (ipmail01.adl6.internode.on.net [203.16.214.146]) by mx1.freebsd.org (Postfix) with ESMTP id C18308FC08; Thu, 9 Apr 2009 08:11:10 +0000 (UTC) (envelope-from smckay@internode.on.net) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ar4FADtG3Ul20HkP/2dsb2JhbACBUsxkg3sG X-IronPort-AV: E=Sophos;i="4.40,159,1238941800"; d="scan'208";a="328782044" Received: from ppp118-208-121-15.lns4.bne4.internode.on.net (HELO dungeon.home) ([118.208.121.15]) by ipmail01.adl6.internode.on.net with ESMTP; 09 Apr 2009 17:21:35 +0930 Received: from dungeon.home (localhost [127.0.0.1]) by dungeon.home (8.14.3/8.13.4) with ESMTP id n397otde009794; Thu, 9 Apr 2009 17:50:55 +1000 (EST) (envelope-from mckay) Message-Id: <200904090750.n397otde009794@dungeon.home> From: Stephen McKay To: Robert Watson References: <200904080430.n384UGWw043589@svn.freebsd.org> In-Reply-To: from Robert Watson at "Wed, 08 Apr 2009 15:02:52 +0100" Date: Thu, 09 Apr 2009 17:50:55 +1000 Sender: smckay@internode.on.net Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-7@freebsd.org, Stephen McKay Subject: Re: svn commit: r190837 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb kern X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Apr 2009 08:11:13 -0000 On Wednesday, 8th April 2009, Robert Watson wrote: >On Wed, 8 Apr 2009, Stephen McKay wrote: > >> MFC r187460: Add a limit on namecache entries. > >Obviously, having a limit is a good idea, but I wonder if we should use some >more mature scheme to limit entries. When I committed r187460 back in January, Bruce Evans immediately pointed out that a more complex version had appeared in RELENG_3 (1.38.2.3) and had never been merged forward. That version costs time and space for every cache entry, while my (admittedly trivial) fix costs minimal time and no extra space per entry. I make no great claims for this patch. The event that it guards against is rarely triggered in average systems (it looks like it has been possible to overflow the namecache since 1997) but some sort of limit is necessary to avoid a kernel panic. The 2x factor is arbitrary, but works in practice. Profiling the namecache sound like a good idea, but if you want to give it heartburn, try a directory tree full of files with 32000 links. I don't think it's worth putting lots of code in the main line to handle such an "attack", so I think it's simpler to just not cache when that happens. Cheers, Stephen. From owner-svn-src-stable-7@FreeBSD.ORG Fri Apr 10 12:32:44 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A298B1065675; Fri, 10 Apr 2009 12:32:44 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8F5EC8FC19; Fri, 10 Apr 2009 12:32:44 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n3ACWic7048560; Fri, 10 Apr 2009 12:32:44 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n3ACWiAx048559; Fri, 10 Apr 2009 12:32:44 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <200904101232.n3ACWiAx048559@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Fri, 10 Apr 2009 12:32:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190892 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb netinet X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2009 12:32:45 -0000 Author: bz Date: Fri Apr 10 12:32:44 2009 New Revision: 190892 URL: http://svn.freebsd.org/changeset/base/190892 Log: MFC r190800: With the right comparison we get a proper wscale value and thus more adequate TCP performance with IPv6. Changes for IPv4, r166403 and r172795, both ignored the IPv6 counterpart and left it in the state of art of year 2000. The same logic in syncache already shares code between v4 and v6 so things do not need to be adapted there. Reported by: Steinar Haug (sthaug nethelp.no) Tested by: Steinar Haug (sthaug nethelp.no) Approved by: re (kib) Modified: stable/7/sys/ (props changed) stable/7/sys/contrib/pf/ (props changed) stable/7/sys/dev/ath/ath_hal/ (props changed) stable/7/sys/dev/cxgb/ (props changed) stable/7/sys/netinet/tcp_usrreq.c Modified: stable/7/sys/netinet/tcp_usrreq.c ============================================================================== --- stable/7/sys/netinet/tcp_usrreq.c Fri Apr 10 11:15:34 2009 (r190891) +++ stable/7/sys/netinet/tcp_usrreq.c Fri Apr 10 12:32:44 2009 (r190892) @@ -1153,7 +1153,7 @@ tcp6_connect(struct tcpcb *tp, struct so /* Compute window scaling to request. */ while (tp->request_r_scale < TCP_MAX_WINSHIFT && - (TCP_MAXWIN << tp->request_r_scale) < so->so_rcv.sb_hiwat) + (TCP_MAXWIN << tp->request_r_scale) < sb_max) tp->request_r_scale++; soisconnecting(so); From owner-svn-src-stable-7@FreeBSD.ORG Fri Apr 10 13:45:56 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BA1F61065670; Fri, 10 Apr 2009 13:45:56 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A54618FC1A; Fri, 10 Apr 2009 13:45:56 +0000 (UTC) (envelope-from dchagin@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n3ADjuA4050011; Fri, 10 Apr 2009 13:45:56 GMT (envelope-from dchagin@svn.freebsd.org) Received: (from dchagin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n3ADjuZ4050005; Fri, 10 Apr 2009 13:45:56 GMT (envelope-from dchagin@svn.freebsd.org) Message-Id: <200904101345.n3ADjuZ4050005@svn.freebsd.org> From: Dmitry Chagin Date: Fri, 10 Apr 2009 13:45:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190893 - in stable/7/sys: . amd64/linux32 compat/linux contrib/pf dev/ath/ath_hal dev/cxgb i386/linux X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2009 13:45:57 -0000 Author: dchagin Date: Fri Apr 10 13:45:56 2009 New Revision: 190893 URL: http://svn.freebsd.org/changeset/base/190893 Log: Merge from HEAD to stable/7: r186211: Remove obsolete AT_DEBUG stuff. It never should have been committed in the first place, let alone migrated to linux emulation. r189362: Add AT_PLATFORM, AT_HWCAP and AT_CLKTCK auxiliary vector entries which are used by glibc. This silents the message "2.4+ kernel w/o ELF notes?" from some programs at start, among them are top and pkill. Do the assignment of the vector entries in elf_linux_fixup() as it is done in glibc. Fix some minor style issues. Approved by: re (Ken Smith), kib(mentor) Modified: stable/7/sys/ (props changed) stable/7/sys/amd64/linux32/linux.h stable/7/sys/amd64/linux32/linux32_sysvec.c stable/7/sys/compat/linux/linux_misc.c stable/7/sys/compat/linux/linux_misc.h stable/7/sys/contrib/pf/ (props changed) stable/7/sys/dev/ath/ath_hal/ (props changed) stable/7/sys/dev/cxgb/ (props changed) stable/7/sys/i386/linux/linux.h stable/7/sys/i386/linux/linux_sysvec.c Modified: stable/7/sys/amd64/linux32/linux.h ============================================================================== --- stable/7/sys/amd64/linux32/linux.h Fri Apr 10 12:32:44 2009 (r190892) +++ stable/7/sys/amd64/linux32/linux.h Fri Apr 10 13:45:56 2009 (r190893) @@ -106,6 +106,10 @@ typedef struct { #define LINUX_CTL_MAXNAME 10 +#define LINUX_AT_COUNT 16 /* Count of used aux entry types. + * Keep this synchronized with + * elf_linux_fixup() code. + */ struct l___sysctl_args { l_uintptr_t name; Modified: stable/7/sys/amd64/linux32/linux32_sysvec.c ============================================================================== --- stable/7/sys/amd64/linux32/linux32_sysvec.c Fri Apr 10 12:32:44 2009 (r190892) +++ stable/7/sys/amd64/linux32/linux32_sysvec.c Fri Apr 10 13:45:56 2009 (r190893) @@ -106,6 +106,8 @@ MALLOC_DEFINE(M_LINUX, "linux", "Linux m #define LINUX_SYS_linux_rt_sendsig 0 #define LINUX_SYS_linux_sendsig 0 +const char *linux_platform = "i686"; +static int linux_szplatform; extern char linux_sigcode[]; extern int linux_szsigcode; @@ -246,7 +248,12 @@ elf_linux_fixup(register_t **stack_base, { Elf32_Auxargs *args; Elf32_Addr *base; - Elf32_Addr *pos; + Elf32_Addr *pos, *uplatform; + struct linux32_ps_strings *arginfo; + + arginfo = (struct linux32_ps_strings *)LINUX32_PS_STRINGS; + uplatform = (Elf32_Addr *)((caddr_t)arginfo - linux_szsigcode - + linux_szplatform); KASSERT(curthread->td_proc == imgp->proc && (curthread->td_proc->p_flag & P_SA) == 0, @@ -255,10 +262,8 @@ elf_linux_fixup(register_t **stack_base, args = (Elf32_Auxargs *)imgp->auxargs; pos = base + (imgp->args->argc + imgp->args->envc + 2); - if (args->trace) - AUXARGS_ENTRY_32(pos, AT_DEBUG, 1); - if (args->execfd != -1) - AUXARGS_ENTRY_32(pos, AT_EXECFD, args->execfd); + AUXARGS_ENTRY_32(pos, LINUX_AT_HWCAP, cpu_feature); + AUXARGS_ENTRY_32(pos, LINUX_AT_CLKTCK, hz); AUXARGS_ENTRY_32(pos, AT_PHDR, args->phdr); AUXARGS_ENTRY_32(pos, AT_PHENT, args->phent); AUXARGS_ENTRY_32(pos, AT_PHNUM, args->phnum); @@ -266,10 +271,14 @@ elf_linux_fixup(register_t **stack_base, AUXARGS_ENTRY_32(pos, AT_FLAGS, args->flags); AUXARGS_ENTRY_32(pos, AT_ENTRY, args->entry); AUXARGS_ENTRY_32(pos, AT_BASE, args->base); + AUXARGS_ENTRY_32(pos, LINUX_AT_SECURE, 0); AUXARGS_ENTRY_32(pos, AT_UID, imgp->proc->p_ucred->cr_ruid); AUXARGS_ENTRY_32(pos, AT_EUID, imgp->proc->p_ucred->cr_svuid); AUXARGS_ENTRY_32(pos, AT_GID, imgp->proc->p_ucred->cr_rgid); AUXARGS_ENTRY_32(pos, AT_EGID, imgp->proc->p_ucred->cr_svgid); + AUXARGS_ENTRY_32(pos, LINUX_AT_PLATFORM, PTROUT(uplatform)); + if (args->execfd != -1) + AUXARGS_ENTRY_32(pos, AT_EXECFD, args->execfd); AUXARGS_ENTRY_32(pos, AT_NULL, 0); free(imgp->auxargs, M_TEMP); @@ -862,23 +871,27 @@ linux_copyout_strings(struct image_param char *stringp, *destp; u_int32_t *stack_base; struct linux32_ps_strings *arginfo; - int sigcodesz; /* * Calculate string base and vector table pointers. * Also deal with signal trampoline code for this exec type. */ arginfo = (struct linux32_ps_strings *)LINUX32_PS_STRINGS; - sigcodesz = *(imgp->proc->p_sysent->sv_szsigcode); - destp = (caddr_t)arginfo - sigcodesz - SPARE_USRSPACE - - roundup((ARG_MAX - imgp->args->stringspace), sizeof(char *)); + destp = (caddr_t)arginfo - linux_szsigcode - SPARE_USRSPACE - + linux_szplatform - roundup((ARG_MAX - imgp->args->stringspace), + sizeof(char *)); /* * install sigcode */ - if (sigcodesz) - copyout(imgp->proc->p_sysent->sv_sigcode, - ((caddr_t)arginfo - sigcodesz), sigcodesz); + copyout(imgp->proc->p_sysent->sv_sigcode, + ((caddr_t)arginfo - linux_szsigcode), linux_szsigcode); + + /* + * Install LINUX_PLATFORM + */ + copyout(linux_platform, ((caddr_t)arginfo - linux_szsigcode - + linux_szplatform), linux_szplatform); /* * If we have a valid auxargs ptr, prepare some room @@ -890,7 +903,7 @@ linux_copyout_strings(struct image_param * lower compatibility. */ imgp->auxarg_size = (imgp->auxarg_size) ? imgp->auxarg_size : - (AT_COUNT * 2); + (LINUX_AT_COUNT * 2); /* * The '+ 2' is for the null pointers at the end of each of * the arg and env vector sets,and imgp->auxarg_size is room @@ -924,14 +937,14 @@ linux_copyout_strings(struct image_param /* * Fill in "ps_strings" struct for ps, w, etc. */ - suword32(&arginfo->ps_argvstr, (u_int32_t)(intptr_t)vectp); + suword32(&arginfo->ps_argvstr, (uint32_t)(intptr_t)vectp); suword32(&arginfo->ps_nargvstr, argc); /* * Fill in argument portion of vector table. */ for (; argc > 0; --argc) { - suword32(vectp++, (u_int32_t)(intptr_t)destp); + suword32(vectp++, (uint32_t)(intptr_t)destp); while (*stringp++ != 0) destp++; destp++; @@ -940,14 +953,14 @@ linux_copyout_strings(struct image_param /* a null vector table pointer separates the argp's from the envp's */ suword32(vectp++, 0); - suword32(&arginfo->ps_envstr, (u_int32_t)(intptr_t)vectp); + suword32(&arginfo->ps_envstr, (uint32_t)(intptr_t)vectp); suword32(&arginfo->ps_nenvstr, envc); /* * Fill in environment portion of vector table. */ for (; envc > 0; --envc) { - suword32(vectp++, (u_int32_t)(intptr_t)destp); + suword32(vectp++, (uint32_t)(intptr_t)destp); while (*stringp++ != 0) destp++; destp++; @@ -1105,6 +1118,8 @@ linux_elf_modevent(module_t mod, int typ linux_schedtail, NULL, 1000); linux_exec_tag = EVENTHANDLER_REGISTER(process_exec, linux_proc_exec, NULL, 1000); + linux_szplatform = roundup(strlen(linux_platform) + 1, + sizeof(char *)); if (bootverbose) printf("Linux ELF exec handler installed\n"); } else Modified: stable/7/sys/compat/linux/linux_misc.c ============================================================================== --- stable/7/sys/compat/linux/linux_misc.c Fri Apr 10 12:32:44 2009 (r190892) +++ stable/7/sys/compat/linux/linux_misc.c Fri Apr 10 13:45:56 2009 (r190893) @@ -91,10 +91,6 @@ __FBSDID("$FreeBSD$"); #include #include -#ifdef __i386__ -#include -#endif - #define BSD_TO_LINUX_SIGNAL(sig) \ (((sig) <= LINUX_SIGTBLSZ) ? bsd_to_linux_signal[_SIG_IDX(sig)] : sig) @@ -733,34 +729,8 @@ linux_newuname(struct thread *td, struct *p = '\0'; break; } -#ifdef __i386__ - { - const char *class; - - switch (cpu_class) { - case CPUCLASS_686: - class = "i686"; - break; - case CPUCLASS_586: - class = "i586"; - break; - case CPUCLASS_486: - class = "i486"; - break; - default: - class = "i386"; - } - strlcpy(utsname.machine, class, LINUX_MAX_UTSNAME); - } -#elif defined(__amd64__) /* XXX: Linux can change 'personality'. */ -#ifdef COMPAT_LINUX32 - strlcpy(utsname.machine, "i686", LINUX_MAX_UTSNAME); -#else - strlcpy(utsname.machine, "x86_64", LINUX_MAX_UTSNAME); -#endif /* COMPAT_LINUX32 */ -#else /* something other than i386 or amd64 - assume we and Linux agree */ - strlcpy(utsname.machine, machine, LINUX_MAX_UTSNAME); -#endif /* __i386__ */ + strlcpy(utsname.machine, linux_platform, LINUX_MAX_UTSNAME); + strlcpy(utsname.domainname, domainname, LINUX_MAX_UTSNAME); return (copyout(&utsname, args->buf, sizeof(utsname))); Modified: stable/7/sys/compat/linux/linux_misc.h ============================================================================== --- stable/7/sys/compat/linux/linux_misc.h Fri Apr 10 12:32:44 2009 (r190892) +++ stable/7/sys/compat/linux/linux_misc.h Fri Apr 10 13:45:56 2009 (r190893) @@ -45,6 +45,21 @@ #define LINUX_MREMAP_MAYMOVE 1 #define LINUX_MREMAP_FIXED 2 +extern const char *linux_platform; + +/* + * Non-standard aux entry types used in Linux ELF binaries. + */ + +#define LINUX_AT_PLATFORM 15 /* String identifying CPU */ +#define LINUX_AT_HWCAP 16 /* CPU capabilities */ +#define LINUX_AT_CLKTCK 17 /* frequency at which times() increments */ +#define LINUX_AT_SECURE 23 /* secure mode boolean */ +#define LINUX_AT_BASE_PLATFORM 24 /* string identifying real platform, may + * differ from AT_PLATFORM. + */ +#define LINUX_AT_EXECFN 31 /* filename of program */ + /* Linux sets the i387 to extended precision. */ #if defined(__i386__) || defined(__amd64__) #define __LINUX_NPXCW__ 0x37f Modified: stable/7/sys/i386/linux/linux.h ============================================================================== --- stable/7/sys/i386/linux/linux.h Fri Apr 10 12:32:44 2009 (r190892) +++ stable/7/sys/i386/linux/linux.h Fri Apr 10 13:45:56 2009 (r190893) @@ -100,6 +100,10 @@ typedef struct { #define LINUX_CTL_MAXNAME 10 +#define LINUX_AT_COUNT 16 /* Count of used aux entry types. + * Keep this synchronized with + * elf_linux_fixup() code. + */ struct l___sysctl_args { l_int *name; Modified: stable/7/sys/i386/linux/linux_sysvec.c ============================================================================== --- stable/7/sys/i386/linux/linux_sysvec.c Fri Apr 10 12:32:44 2009 (r190892) +++ stable/7/sys/i386/linux/linux_sysvec.c Fri Apr 10 13:45:56 2009 (r190893) @@ -57,6 +57,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include @@ -104,6 +105,10 @@ static void linux_prepsyscall(struct tra static void linux_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask); static void exec_linux_setregs(struct thread *td, u_long entry, u_long stack, u_long ps_strings); +static register_t *linux_copyout_strings(struct image_params *imgp); + +static int linux_szplatform; +const char *linux_platform; extern LIST_HEAD(futex_list, futex) futex_list; extern struct sx futex_sx; @@ -228,25 +233,31 @@ linux_fixup(register_t **stack_base, str **stack_base = (intptr_t)(void *)argv; (*stack_base)--; **stack_base = imgp->args->argc; - return 0; + return (0); } static int elf_linux_fixup(register_t **stack_base, struct image_params *imgp) { + struct proc *p; Elf32_Auxargs *args; + Elf32_Addr *uplatform; + struct ps_strings *arginfo; register_t *pos; KASSERT(curthread->td_proc == imgp->proc && (curthread->td_proc->p_flag & P_SA) == 0, ("unsafe elf_linux_fixup(), should be curproc")); + + p = imgp->proc; + arginfo = (struct ps_strings *)p->p_sysent->sv_psstrings; + uplatform = (Elf32_Addr *)((caddr_t)arginfo - linux_szsigcode - + linux_szplatform); args = (Elf32_Auxargs *)imgp->auxargs; pos = *stack_base + (imgp->args->argc + imgp->args->envc + 2); - if (args->trace) - AUXARGS_ENTRY(pos, AT_DEBUG, 1); - if (args->execfd != -1) - AUXARGS_ENTRY(pos, AT_EXECFD, args->execfd); + AUXARGS_ENTRY(pos, LINUX_AT_HWCAP, cpu_feature); + AUXARGS_ENTRY(pos, LINUX_AT_CLKTCK, hz); AUXARGS_ENTRY(pos, AT_PHDR, args->phdr); AUXARGS_ENTRY(pos, AT_PHENT, args->phent); AUXARGS_ENTRY(pos, AT_PHNUM, args->phnum); @@ -254,10 +265,14 @@ elf_linux_fixup(register_t **stack_base, AUXARGS_ENTRY(pos, AT_FLAGS, args->flags); AUXARGS_ENTRY(pos, AT_ENTRY, args->entry); AUXARGS_ENTRY(pos, AT_BASE, args->base); + AUXARGS_ENTRY(pos, LINUX_AT_SECURE, 0); AUXARGS_ENTRY(pos, AT_UID, imgp->proc->p_ucred->cr_ruid); AUXARGS_ENTRY(pos, AT_EUID, imgp->proc->p_ucred->cr_svuid); AUXARGS_ENTRY(pos, AT_GID, imgp->proc->p_ucred->cr_rgid); AUXARGS_ENTRY(pos, AT_EGID, imgp->proc->p_ucred->cr_svgid); + AUXARGS_ENTRY(pos, LINUX_AT_PLATFORM, PTROUT(uplatform)); + if (args->execfd != -1) + AUXARGS_ENTRY(pos, AT_EXECFD, args->execfd); AUXARGS_ENTRY(pos, AT_NULL, 0); free(imgp->auxargs, M_TEMP); @@ -265,7 +280,121 @@ elf_linux_fixup(register_t **stack_base, (*stack_base)--; **stack_base = (register_t)imgp->args->argc; - return 0; + return (0); +} + +/* + * Copied from kern/kern_exec.c + */ +static register_t * +linux_copyout_strings(struct image_params *imgp) +{ + int argc, envc; + char **vectp; + char *stringp, *destp; + register_t *stack_base; + struct ps_strings *arginfo; + struct proc *p; + + /* + * Calculate string base and vector table pointers. + * Also deal with signal trampoline code for this exec type. + */ + p = imgp->proc; + arginfo = (struct ps_strings *)p->p_sysent->sv_psstrings; + destp = (caddr_t)arginfo - linux_szsigcode - SPARE_USRSPACE - + linux_szplatform - roundup((ARG_MAX - imgp->args->stringspace), + sizeof(char *)); + + /* + * install sigcode + */ + copyout(p->p_sysent->sv_sigcode, ((caddr_t)arginfo - + linux_szsigcode), linux_szsigcode); + + /* + * install LINUX_PLATFORM + */ + copyout(linux_platform, ((caddr_t)arginfo - linux_szsigcode - + linux_szplatform), linux_szplatform); + + /* + * If we have a valid auxargs ptr, prepare some room + * on the stack. + */ + if (imgp->auxargs) { + /* + * 'AT_COUNT*2' is size for the ELF Auxargs data. This is for + * lower compatibility. + */ + imgp->auxarg_size = (imgp->auxarg_size) ? imgp->auxarg_size : + (LINUX_AT_COUNT * 2); + /* + * The '+ 2' is for the null pointers at the end of each of + * the arg and env vector sets,and imgp->auxarg_size is room + * for argument of Runtime loader. + */ + vectp = (char **)(destp - (imgp->args->argc + + imgp->args->envc + 2 + imgp->auxarg_size) * sizeof(char *)); + } else { + /* + * The '+ 2' is for the null pointers at the end of each of + * the arg and env vector sets + */ + vectp = (char **)(destp - (imgp->args->argc + imgp->args->envc + 2) * + sizeof(char *)); + } + + /* + * vectp also becomes our initial stack base + */ + stack_base = (register_t *)vectp; + + stringp = imgp->args->begin_argv; + argc = imgp->args->argc; + envc = imgp->args->envc; + + /* + * Copy out strings - arguments and environment. + */ + copyout(stringp, destp, ARG_MAX - imgp->args->stringspace); + + /* + * Fill in "ps_strings" struct for ps, w, etc. + */ + suword(&arginfo->ps_argvstr, (long)(intptr_t)vectp); + suword(&arginfo->ps_nargvstr, argc); + + /* + * Fill in argument portion of vector table. + */ + for (; argc > 0; --argc) { + suword(vectp++, (long)(intptr_t)destp); + while (*stringp++ != 0) + destp++; + destp++; + } + + /* a null vector table pointer separates the argp's from the envp's */ + suword(vectp++, 0); + + suword(&arginfo->ps_envstr, (long)(intptr_t)vectp); + suword(&arginfo->ps_nenvstr, envc); + + /* + * Fill in environment portion of vector table. + */ + for (; envc > 0; --envc) { + suword(vectp++, (long)(intptr_t)destp); + while (*stringp++ != 0) + destp++; + destp++; + } + + /* end of vector table is a null pointer */ + suword(vectp, 0); + + return (stack_base); } extern int _ucodesel, _udatasel; @@ -809,6 +938,25 @@ exec_linux_setregs(struct thread *td, u_ pcb->pcb_initial_npxcw = __LINUX_NPXCW__; } +static void +linux_get_machine(const char **dst) +{ + + switch (cpu_class) { + case CPUCLASS_686: + *dst = "i686"; + break; + case CPUCLASS_586: + *dst = "i586"; + break; + case CPUCLASS_486: + *dst = "i486"; + break; + default: + *dst = "i386"; + } +} + struct sysentvec linux_sysvec = { .sv_size = LINUX_SYS_MAXSYSCALL, .sv_table = linux_sysent, @@ -863,7 +1011,7 @@ struct sysentvec elf_linux_sysvec = { .sv_usrstack = USRSTACK, .sv_psstrings = PS_STRINGS, .sv_stackprot = VM_PROT_ALL, - .sv_copyout_strings = exec_copyout_strings, + .sv_copyout_strings = linux_copyout_strings, .sv_setregs = exec_linux_setregs, .sv_fixlimit = NULL, .sv_maxssiz = NULL @@ -940,6 +1088,9 @@ linux_elf_modevent(module_t mod, int typ NULL, 1000); linux_exec_tag = EVENTHANDLER_REGISTER(process_exec, linux_proc_exec, NULL, 1000); + linux_get_machine(&linux_platform); + linux_szplatform = roundup(strlen(linux_platform) + 1, + sizeof(char *)); if (bootverbose) printf("Linux ELF exec handler installed\n"); } else From owner-svn-src-stable-7@FreeBSD.ORG Sat Apr 11 14:10:43 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1D152106566B; Sat, 11 Apr 2009 14:10:43 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0AE6E8FC17; Sat, 11 Apr 2009 14:10:43 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n3BEAgxq088244; Sat, 11 Apr 2009 14:10:42 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n3BEAgrp088243; Sat, 11 Apr 2009 14:10:42 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <200904111410.n3BEAgrp088243@svn.freebsd.org> From: Xin LI Date: Sat, 11 Apr 2009 14:10:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190920 - in stable/7/usr.bin/locate: . locate X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2009 14:10:43 -0000 Author: delphij Date: Sat Apr 11 14:10:42 2009 New Revision: 190920 URL: http://svn.freebsd.org/changeset/base/190920 Log: MFC r190656: Fix a crash when corrupted data file is found. PR: bin/32686 Approved by: re (kib) Modified: stable/7/usr.bin/locate/ (props changed) stable/7/usr.bin/locate/locate/fastfind.c Modified: stable/7/usr.bin/locate/locate/fastfind.c ============================================================================== --- stable/7/usr.bin/locate/locate/fastfind.c Sat Apr 11 14:01:01 2009 (r190919) +++ stable/7/usr.bin/locate/locate/fastfind.c Sat Apr 11 14:10:42 2009 (r190920) @@ -216,6 +216,8 @@ fastfind count += c - OFFSET; } + if (count < 0 || count > MAXPATHLEN) + errx(1, "corrupted database: %s", database); /* overlay old path */ p = path + count; foundchar = p - 1; From owner-svn-src-stable-7@FreeBSD.ORG Sat Apr 11 15:04:51 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 75C30106566C; Sat, 11 Apr 2009 15:04:51 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 638598FC19; Sat, 11 Apr 2009 15:04:51 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n3BF4p3L090000; Sat, 11 Apr 2009 15:04:51 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n3BF4pTb089999; Sat, 11 Apr 2009 15:04:51 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <200904111504.n3BF4pTb089999@svn.freebsd.org> From: Xin LI Date: Sat, 11 Apr 2009 15:04:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190934 - stable/7/share/man/man4 X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2009 15:04:52 -0000 Author: delphij Date: Sat Apr 11 15:04:51 2009 New Revision: 190934 URL: http://svn.freebsd.org/changeset/base/190934 Log: MFC r190832: Mention support of 1000baseSX and 2500baseSX. Approved by: re (kensmith) Modified: stable/7/share/man/man4/ (props changed) stable/7/share/man/man4/bce.4 stable/7/share/man/man4/igb.4 (props changed) Modified: stable/7/share/man/man4/bce.4 ============================================================================== --- stable/7/share/man/man4/bce.4 Sat Apr 11 15:03:44 2009 (r190933) +++ stable/7/share/man/man4/bce.4 Sat Apr 11 15:04:51 2009 (r190934) @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 15, 2009 +.Dd April 7, 2009 .Dt BCE 4 .Os .Sh NAME @@ -109,8 +109,18 @@ option can also be used to select either or .Cm half-duplex modes. -.It Cm 1000baseTX -Set 1000baseTX operation over twisted pair. +.It Cm 1000baseSX +Sets 1000Mbps operation. +Only +.Cm full-duplex +mode is supported at this speed. +.It Cm 1000baseT +Set 1000baseT operation over twisted pair. +Only +.Cm full-duplex +mode is supported. +.It Cm 2500BaseSX +Set 2500Mbps operation. Only .Cm full-duplex mode is supported. From owner-svn-src-stable-7@FreeBSD.ORG Sat Apr 11 15:16:11 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CF775106566C; Sat, 11 Apr 2009 15:16:11 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BAC3B8FC1A; Sat, 11 Apr 2009 15:16:11 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n3BFGBx5090432; Sat, 11 Apr 2009 15:16:11 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n3BFGBlK090429; Sat, 11 Apr 2009 15:16:11 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <200904111516.n3BFGBlK090429@svn.freebsd.org> From: Xin LI Date: Sat, 11 Apr 2009 15:16:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190937 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/cxgb dev/hptmv X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2009 15:16:12 -0000 Author: delphij Date: Sat Apr 11 15:16:11 2009 New Revision: 190937 URL: http://svn.freebsd.org/changeset/base/190937 Log: MFC r190809, 190810: Update driver to vendor 1.16 plus some local changes to maintain our old tweaks/behavor and to fix a bug with multiple cards. Approved by: re (kensmith) Modified: stable/7/sys/ (props changed) stable/7/sys/contrib/pf/ (props changed) stable/7/sys/dev/ath/ath_hal/ (props changed) stable/7/sys/dev/cxgb/ (props changed) stable/7/sys/dev/hptmv/access601.h stable/7/sys/dev/hptmv/amd64-elf.raid.o.uu stable/7/sys/dev/hptmv/array.h stable/7/sys/dev/hptmv/command.h stable/7/sys/dev/hptmv/entry.c stable/7/sys/dev/hptmv/global.h stable/7/sys/dev/hptmv/gui_lib.c stable/7/sys/dev/hptmv/hptintf.h stable/7/sys/dev/hptmv/hptproc.c stable/7/sys/dev/hptmv/i386-elf.raid.o.uu stable/7/sys/dev/hptmv/ioctl.c stable/7/sys/dev/hptmv/mvOs.h stable/7/sys/dev/hptmv/mvSata.h stable/7/sys/dev/hptmv/mvStorageDev.h stable/7/sys/dev/hptmv/osbsd.h stable/7/sys/dev/hptmv/raid5n.h stable/7/sys/dev/hptmv/readme.txt stable/7/sys/dev/hptmv/vdevice.h Modified: stable/7/sys/dev/hptmv/access601.h ============================================================================== --- stable/7/sys/dev/hptmv/access601.h Sat Apr 11 15:07:27 2009 (r190936) +++ stable/7/sys/dev/hptmv/access601.h Sat Apr 11 15:16:11 2009 (r190937) @@ -28,6 +28,8 @@ #ifndef _ACCESS601_H_ #define _ACCESS601_H_ +#ifndef FOR_DEMO + void HPTLIBAPI BeepOn(MV_BUS_ADDR_T BaseAddr); void HPTLIBAPI BeepOff(MV_BUS_ADDR_T BaseAddr); UCHAR HPTLIBAPI check_protect_circuit(MV_BUS_ADDR_T BaseAddr); @@ -40,4 +42,21 @@ void HPTLIBAPI set_fail_leds(MV_SATA_ADA #define set_fail_leds(pAdapter, mask) #endif +int HPTLIBAPI sx508x_ioctl(MV_SATA_ADAPTER *pSataAdapter, UCHAR *indata, ULONG inlen, + UCHAR *outdata, ULONG maxoutlen, ULONG *poutlen); + +MV_BOOLEAN HPTLIBAPI sx508x_flash_access(MV_SATA_ADAPTER *pSataAdapter, + MV_U32 offset, void *value, int size, int reading); +#else + +#define BeepOn(addr) +#define BeepOff(addr) +#define check_protect_circuit(addr) 1 +#define set_fail_led(pAdapter, channel, state) +#define set_fail_leds(pAdapter, mask) +#define sx508x_ioctl(pSataAdapter, indata, inlen, outdata, maxoutlen, poutlen) 0 +#define sx508x_flash_access(pSataAdapter, offset, value, size, reading) 0 + +#endif + #endif Modified: stable/7/sys/dev/hptmv/amd64-elf.raid.o.uu ============================================================================== --- stable/7/sys/dev/hptmv/amd64-elf.raid.o.uu Sat Apr 11 15:07:27 2009 (r190936) +++ stable/7/sys/dev/hptmv/amd64-elf.raid.o.uu Sat Apr 11 15:16:11 2009 (r190937) @@ -26,1881 +26,1909 @@ * $FreeBSD$ */ begin 644 hptmvraid.o -M?T5,1@(!`0D```````````$`/@`!`````````````````````````"#=```` -M`````````$```````$``#@`+`$B)7"302(EL)-A,B60DX$R);"3H3(ET)/!, -MB7PD^$B![$@"``!(B?M,BV\02(UOD$R-9"00N`(```"`?P$`=0N`?P(!&<"# -MX`+_P(A%`$C'10@`````@$T!!$B+0Q!(B440BU,8B5482`^V10!(BP3%```` -M`$B)16"`?0`#=2:-0O:)11B+&Z(````$B)W^@`````08$\)/,6 -M>%IT&D@/MD4`2(L$Q0````!(B45H@$T!!.FE!```OI````!,B>?H`````(3` -M==5!]D0D"0)T'<9#"`%!#[9$)`J(0PLZ0PES"P^V\$B)W^@`````O@`"``!, -MB>?H`````(3`=!=)C;PDD````+IP`0``O@````#H`````$$/MI0DDP```+X! -M````(=8/MD,$@^#\B=�()\`G(O@0````AUH/@\XG1@^$("?`)R+X0```` -M(=:#X,^)T8/A(`GP""`>!`(#X>Z_O__2`^V0!!(@SS&``^$JO[____".=%_UD&+1"08B40D -M#+H`````2&/"2&G`,`$``$J-G"BH1```2(-["`!U#HM#=$$[1"0$#X04`0`` -M_\*#^@]^TDF+G:!$``!(A=MT(4B+0Q!)B86@1```NC`!``"^`````$B)W^@` -M````3(EK$$&+1"0$B4-T#[93?H/*`8A3?F9!#[9$)!2#X`$!P(/B_0G"B%-^ -M00^W1"069HF#@````(M4)`R)DX0```!!#[9$)!"(`T$/MD0D$XA#<@^VR+@! -M````T^!FB4-\2,=#"`````!!BT0D#(E#&$$/MD0D$8A#<$@/M@-(BP3%```` -M`$B)0V!)C70D+$B-N\@```"Z$````.@`````28UT)#Q(C;O8````N@0```#H -M`````$F-M"2`````2(V['`$``+H0````Z`````!)C70D0$B-N]P```"Z0``` -M`.@`````BT0D##F#A````'8&B8.$````0?9$)`D!=`2`2P$!10^V?"0208!\ -M)`L!#X:V`0``1(GZ#[;"3(NTPX@```!!BT0D*(E$)`Q-A?8/A3D!``!-B[6@ -M1```387V="%)BT8028F%H$0``+HP`0``O@````!,B??H`````$V);A!!BT0D -M!$&)1G1!#[96?H/*`4&(5GYF00^V1"0D@^`!`<"#XOT)PD&(5GY!#[=$)"9F -M08F&@````(M4)`Q!B9:$````00^V1"0A08A&<$$/MD0D($&(!DF)7@A!BT0D -M'$&)1AA!#[9$)"-!B$9R#[;(N`$```#3X&9!B49\20^V!DB+!,4`````28E& -M8$@/M@-(BP3%`````$F)1FA%B'X#1(GZ#[;"3(FTPX@```#^0W%)C70D+$F- -MOL@```"Z$````.@`````28UT)#Q)C;[8````N@0```#H`````$F-M"2````` -M28V^'`$``+H0````Z`````!)C70D0$F-OMP```"Z0````.@`````0?9$)`D! -M=`5!@$X!`4D/MD0D(DF#O,:(`````'5S28FLQH@```!!#[9$)"*(10-!_D9Q -M3(EU"$D/M@9(BP3%`````$B)16B+1"0,03F&A````'8]08F&A````.LT1(GZ -M#[;"2(.\PX@`````=2-(B:S#B````$B)70C^0W%$B'T#2`^V`TB+!,4````` -M2(E%:$B+G"08`@``2(NL)"`"``!,BZ0D*`(``$R+K"0P`@``3(NT)#@"``!, -MB[PD0`(``$B!Q$@"``##9F9FD%532(/L"$B)\[T`````#[9&<(G"@_@`#X[( -M````9F:02&/%2(.\PX@`````=`O_Q3GJ?^SIK````+@!````B>G3X&8)@X`` -M``!(B=[H`````$B)PDB%P`^$B````,8``T"(:`-(B5@(@#L(#Y3`P>`##[9* -M`8/A]PG!B$H!2(L%`````$B)0F!(#[8#2(L$Q0````!(B4)H]D,!$'01BUT((!] -M``-V&DB)[DR)[^@`````]D5^!'0)@$M^!&9FD&:00?_$#[9#<$0YX'_$Z0\! -M``"`3@$$@'YQ`G4*@&9^_I#I^P```(!F?OU(@[Z(`````'4=2(N&D````,9` -M`P!(B8:(````2,>&D`````````!(BX.(````@#@#=0M(B=Y,B>_H`````(!+ -M?@3'@X0`````````Z:8```!F9I!F9I`/MD9Q.D9P=2"`3@$$#[9&?H/@_HA& -M?F:#OH``````=&^#R`*(1G[K9P^V1G'_P`^V5G`YT'599H.^@`````!T++D` -M````#[>&@````(G"J`%U"O_!B=#3^*@!=/9(8\%(@[S#B`````!U&^L&]D9^ -M`G43@$L!!(!+?@1(B=Y,B>_H`````,>#A``````````/MT-\]]@A@X0```!F -M9F:02(-["`!U&?9#?@1T$^@`````B4-T2(G?Z`````!F9I!(BUPD"$B+;"00 -M3(MD)!A,BVPD($B#Q"C#9F9FD&9FD$%455-)B?R]`````&9F9I!(8\5(:<`P -M`0``2HV<(*A$``"#>W0`="!(@WL(`'492(G>3(GGZ`````#V0P$$=`A(QT-H -M`````/_%@_T/?L%;74%P(`@`` -M28G]2(GU08G628GG2(GWZ`````"`?0`(=0M(B>Y,B>_H`````$&\`````(!] -M<``/AL<```!)8\1(@[S%B``````/A*@```!(B[3%B````(`^`W8100^VUDR) -M[^@`````Z8H```!)8\1(BYS%B````,9#`P!(QT,(`````,>#C`````````"` -M8P'^2,=#:`````!%A/9U#8!]``9U!TB#?0@`="JZ``(``+X`````3(G_Z``` -M``!(C7MP3(GYNC````"^`````.@`````ZQ,/ME4!@^(!#[9#`8/@_@G0B$,! -M2(G?Z`````!F9I!F9I!!_\1$.&5P#X9U$6:)4PAFQT,*``!,B0-(@\,0*=>)T$D!P"G1=1O_QD$/ -MMD5P.<:X``````]$\$$/MT5\B<'!X0F%_W6Y9H%]"@"`=`9(@\40ZY=FQT/Z -M`("X`0```$B!Q``"``!;74%<05U!7L-F9F:09F9FD&9F9I!,BT\(1(M&0`^V -M3P,/MWY,.$Y$=0L/MT9*00'`ZP]FD#A.1'8(00^W07Q!`<`X3D1U!&8#?D@X -M3D5U!68#?D:0@'Y0`'0..$Y$@Q$B4((PV9F9I!F9F:09F9FD&9FD%-)B?E)B?"+?@A$#[=6#$&[ -M`````$$/MDERB?[3[F9!QT!,``!!QD!0`4$/ME%PB?")T;H`````]_%!#[9) -MY`````$&`>%``=`M!QD!0`.L49F9FD$$/MT!, -M9D$#07QF08E`3)!F13E1?',)9D4K47SKNF:0N`$```#3X&9!"4!.08A(169% -MB5!&00^WPUO#9F:09I!54TB#[`A(B?U(BUXX2(L&#[9(`[C^____T\!F(4-. -M@'X9`70'#[9&&8A#&4B)[^@`````9H-[3@!U&8![&0!U!,9#&0%(BW,P2(G: -M2(GOZ`````!(@\0(6UW#9F:09I!(B5PDT$B);"383(ED).!,B6PDZ$R)="3P -M3(E\)/A(@^PX28G_2(GU3(LV0?9&`01U%<9&&0)(BW8P2(GJZ`````#IR@`` -M`$R)]^A1_O__9H-]3@!U&L9%&0)(BW4P2(GJ3(G_Z`````#IHP```&:00;T` -M````08!^<``/A)`````/MT5.1(GIT_BH`71R3(G_Z`````!(B<-)8\5-BZ3& -MB````$R)(TB):S@/ME48@^("#[9#&(/@_0G0B$,8#[95&(/B!(/@^PG0B$,8 -M#[9%#HA##DB)VDB)[DR)Y^@^_?__2,=#,`````!(QT,H`````$B)WDR)_T'_ -M5"1@9F:00?_%00^V1G!$.>@/CW#___](BUPD"$B+;"003(MD)!A,BVPD($R+ -M="0H3(M\)#!(@\0XPV9F9I!F9F:09F9FD$B#[`A(BTX(#[91`8!F`?N`80'[ -M_DEQ@$E^`4B#>6@`#Y7`]L($#Y7"#[;`A<)T!DB)SO]1:$B#Q`C#9F:09I!( -M@^P(3(M&.$F+<"!(A?9T#69!#[9`&(/@`3G(=2))@W@H`'003(G&0?]0*+H! -M````A>"Z`0```(G02(/$",-F9F:055-(B?L/M@>#Z`2#^`%W4+T`````@']P -M`'0W9F:09I!(8\5(@[S#B`````!T$4B+O,.(````Z,7___^%P'4'N`````#K -M)/_%#[9#<#GH9I!_SK@!````ZQ%F9F:09F:0#[9'`<#H`H/@`5M=PV9FD$B) -M7"382(EL).!,B60DZ$R);"3P3(ET)/A(@^PH28G^2(GU2(M>.$R+(TR++H!^ -M&0$/A-D```#V0Q@"#X1_````@'L:``^%Q0```$'V1"1^`@^%N0```,9#&@%! -M@'T#`4@9P(/@"$Z+K""(````387M=$),B>_H%?___X7`=#9(C7U`ND@```"^ -M`````.@`````00^V30.X`0```-/@9HE#3DR);0!(B>Y,B?=!_U5@Z<````!, -MBVT`ZU5F9I!FD/9#&`1T2DR)[^C"_O__AY,B?=!_U5@Z8$```"`>QD!=!T/MU-.00^V30.X`0```-/@.<)U"6:0 -M#[9%&8A#&4B)[DR)]^@`````00^V30.X_O___]/`9B%#3F:#>TX`=3R`>QD` -M=03&0QD!2(MS,$B)VDR)]^@`````9D'_3"0B9D&#?"0B`'4428M$)#!(A3(GGZ`````!F -M@WU.`'55@'T9`'4?QD49`4B+30"+D80````[4PAU#`^W0PP!T(F!A````$B+ -M=3!(B>I,B>?H`````$B+10!FQT`@``!(BU4`2(/"*$C'Q@````!,B>?H```` -M`$B+'"1(BVPD"$R+9"002(/$&,-F9F:09F:09F:02(E<).A(B6PD\$R)9"3X -M2(/L&$F)_$B)\TB+;CB`?AD!=`T/MD89B$49ZW1F9F:0@'X.('5*QD89`$B+ -M10!(BX"0````2(D&2(U^0+I(````O@````#H`````,9#&@#&0PXP#[9#&(/@ -M_8/(!(A#&$B+`TB)WDR)Y_]08.M=9I#&11D!2(M-`(N1A````#M6"'4-#[=& -M#`'0B8&$````D$B)WDR)Y^@`````2(MU,$B)ZDR)Y^@`````2(M%`&;'0"`` -M`$B+50!(@\(H2,?&`````$R)Y^@`````2(L<)$B+;"0(3(MD)!!(@\08PV:0 -M05154TF)]$B)U4B+1CB%R71&2(M0$$B)50`/MT8,P>`)9HE%"&;'10H`@$B+ -M!H!X`P`/A`T!``!(C8(```$`9H-]"`!T"4@/MT4(2(T$`DB)10#I[0````^W -M7@S!XPE(@W@@`'0L]D`8`70F2(M(($B+`4B)`DB+00A(B4((2(/"$$B-00I( -M@\$09H,X`'G@ZS2Z`````$B#>"@`#X2H````2(GJ2(G&_U`HN@````"%P`^$ -MD@```.L,9HE9"&;'00H`@.M&2(GI9F9FD&9FD+H```$`9H-Y"`!T!`^W40A) -MBP0D@'@#`'06.=IV%HG82`$!B=!F*=AFB4$(ZPYFD#G:<[9(@\$0*=-UQ$F+ -M!"2`>`,`#Y7`2#G-#Y7"#[;`A<)T(4B+`4B)10!(BT$(2(E%"$B#Q1!(C4$* -M2(/!$&:#.`!YW[H!````B=!;74%F!````D$B+!H!X -M`P!U-\9&&0!(BT4`2(N`D````$B)!DB-?D"Z2````+X`````Z`````#&0QH` -M2(L#2(G>3(GG_U!@ZWL/MU8,P>()B=9(BWT02`'^Z`````"%P'0'QD49#.LA -MD,9%&0%(BTT`BY&$````.U,(=0T/MT,,`=")@80```"02(G>3(GGZ`````!( -MBW4P2(GJ3(GGZ`````!(BT4`9L=`(```2(M5`$B#PBA(Q\8`````3(GGZ``` -M``!(BQPD2(ML)`A,BV0D$$B#Q!C#9I!(B5PDX$B);"3H3(ED)/!,B6PD^$B# -M["A)B?Q(B?-(BRY(QT4P`````/9%?@$/A54!```/MD8.@_@"#X3V````@_@" -M?Q"#^`$/A)8```!FD.DS`0``@_@##X4J`0``BT8(B44<#[=&#&:)12`/MU8, -MP>()2(M^$+X`````Z`````!FQT-.`P!!O0````!,B>?H`````$B)QL9`#C"+ -M0PB)1@@/MT,,9HE&#(!.&`1(B5XX2,=&,`````!(QT8H`````$ECQ4B+A,6( -M````2(D&3(GG_U!@0?_%08/]`7ZNZ;<```"+1@B)11P/MT8,9HE%(.@````` -M2(G&QD`.((M#"(E&"`^W0PQFB48,@$X8`DB)7CA(QT8P`````$C'1B@````` -M2(N%B````$B)!DR)Y_]08.MEBT8(B44<#[=&#&:)12#H`````$B)QL9`#B"+ -M0PB)1@@/MT,,9HE&#(!.&`)(B5XX2,=&,`````!(QT8H`````$B+A8@```!( -MB09,B>?_4&#K$\9#&09(BW,P2(G:3(GGZ`````!(C54H2,?&`````$R)Y^@` -M````2(M<)`A(BVPD$$R+9"083(ML)"!(@\0HPV9FD&9FD&9FD$B)7"302(EL -M)-A,B60DX$R);"3H3(ET)/!,B7PD^$B#[#A)B?])B?1(BR[V10$$=17&1AD" -M2(MV,$R)XN@`````Z=H!``#V1A@@="1(QT4P`````$B)=3AF@WTB``^%O0$` -M`.C(_?__Z;,!``!F9I!(@WTP`'4I9H-](`!F9F:0=#X/MT4@`T4<.T8(=C(/ -MMT8,`T8(.44<#_@4/EL`(1"0'ZR2`O8(`````#Y1$)`TJ+A.V(```` -M]D`!!'1M00^V5"08P.H"1#AT)`P@`=?6+0W2)0WCH```` -M`(E#=$B)W^@`````2(/$"%M=PY!(B5PDV$B);"3@3(ED).A,B6PD\$R)="3X -M2('L*`(``$F)U$R+-DB+;CA(BUT@0;T1````2(GB2(7;=`QF#[9%&(/@`3G( -M=2A(B=-(@WTH`'0.2(GN_U4HAP@`=`0/MU,(.=%V.T$/MD8#.D5$=11( -MBP-)B00D2(M#"$F)1"0(28/$$"G12(/#$+H```$`9H-["`!T!`^W4PA!_\TY -MT7?%00^V1@,Z141U'$B+`TF)!"1F08E,)`AF0<=$)`H`@+@!````ZUDYT7,W -MBI(P>($2(G>3(GGZ`````"X`0```$B+G"0` -M`@``2(NL)`@"``!,BZ0D$`(``$R+K"08`@``3(NT)"`"``!(@<0H`@``PY`/ -MMD<#.D9$=0\/MT9(9HE"#(M&0(E"",,/MT9&9HE"#,=""`````##9F9FD&9F -M9I!$BT8(1`^W3@Q!NP````"Y`````(!_<``/A((```!%#[?1B_H`````$B#Q`A;7<-F -M9I!FD$B)7"302(EL)-A,B60DX$R);"3H3(ET)/!,B7PD^$B#[#A)B?](B?5, -MBS9!]D8!!'45QD89`DB+=C!(B>KH`````.G*````3(GWZ*'^__]F@WU.`'4: -MQD49`DB+=3!(B>I,B?_H`````.FC````9I!!O0````!!@'YP``^$D`````^W -M14Y$B>G3^*@!='),B?_H`````$B)PTECQ4V+I,:(````3(DC2(EK.`^V51B# -MX@(/MD,8@^#]"="(0Q@/ME48@^($@^#["="(0Q@/MD4.B$,.2(G:2(GN3(GG -MZ-[]__](QT,P`````$C'0R@`````2(G>3(G_0?]4)&!F9I!!_\5!#[9&<$0Y -MZ`^/A(`<-!_\1$B>BZ`````/?U1#G@#X=W -M____0?_.08/^_P^%//___XM$)`1(@\0(6UU!7$%=05Y!7\-F9F:09F:055-( -MB?V)\[@`````.;2&/#2(M\Q0BZ`!```+X````` -MZ`````#_RX/[_W7B2(/$"%M=PV9FD&9FD&9FD(L/_\F#^?]T+DACP4B+1,<( -MN@````!(@S@`=`:X`````,/_PDB#P`B!^O\!``!VYO_)@_G_==*X`0```,-F -M9I!(@^P(NA````"^`````.@`````2(/$",-F9F:09F9FD$B#?A``=`Q(BU80 -M2(M&"$B)0@A(BU8(2(M&$$B)`DC'1@@`````N@````#HL/S___/#9F9FD&9F -M9I!F9I!F9I!(C4]82(M'6$B)1A!(A6^```` -M`.C[^___2(G#1(D@B6@$2(G&3(GOZ&?___](B=A(BQPD2(ML)`A,BV0D$$R+ -M;"082(/$(,-F9F:09F9FD&9F9I`/MD=)#[;02(T4DDB-5-=0_\"(1TE(B3K& -M0@D`QD(*`,9""P!(B=##9F9FD&9F9I!!5%5328G\2(GSO0`````/ME9&C4+] -MT?@!PH/Z`'XED$ACQ4B+M,.@"@``3(GGZ*W]____Q0^V4T:-0OW1^`'".>I_ -MW+H'````2(G>3(GGZ%S[__];74%-_Y$B)Z.DF -M`0``2(GN3(GOZ*'^__]!BX4X6```P>`#1#G@#X(T____O@<```!,B>_H$?K_ -M_TB)Q;@`````2(7M#X3J````ZPZX`````.G>````9F9FD$B);0!(B6T(BT0D -M!(E%0&9$B75$B%U&2,=%,`````!!O``````/MM.-0OW1^`'"@_H`#XZ?```` -M18GW9D'![P,/MM.-0OW1^$2--`)F9F:026/<00^W]TR)[^AQ^___2(F$W:`* -M``!(A2Z -M!P```$B)[DR)[^AO^?__N`````#K,DECQ$C!X`1(C1PH2(V[\`H``.A1_/__ -M2(V[<`L``.A%_/__0?_$13GF#X]Y____2(GH2(/$"%M=05Q!74%>05_#9F9F -MD&9FD$%455-(B?6)TXG.#[9-4@D`,```/MX2!0@P` -M`&:)1"00B=!FP>@##[?`B40D"$&)UD&#Y@=!#[?&B<;!Y@FX"````&9$*?!! -MB<9F1#MT)!"+7"001`]'\T$/M\:)Q<'E"4@/MD0D+TB+5"0@2(N,PJ`*``"+ -M5"0(B?!)B<1,`V31"$0[;"0,=21)@\<0QT0D#````0!F08-_"`!T"4$/MT\( -MB4PD#$&]`````)"+7"0,1"GK.>L/1]V#?"0T`'021(GN20,WB=I,B>?H```` -M`.L01(GO20,_B=I,B>;H`````$$!W2G==`>)V$D!Q.N29D0I="00=!3_1"0( -MO@````!!O@@```#I/O____Y$)"\/MEPD+TB+1"0@.)AA#```#X/-_O___T0D -M,$B+5"1`#[9">#M$)#`/CXO^__^Z`````$B+="1`2(M\)$C_5"0X2('$:`$` -M`%M=05Q!74%>05_#9F9FD&9F9I!F9I!54TB#[`A(B?V%TG0$QD89"T&[```` -M`(!^>``/A,$```!(C9W`5P``2(V]L%<``)!)8\-,BT3&4$G'@#`,```````` -M38G"N0````!!@'A&`'9(#[;!2,'@!$P!T$B-D/`*``!!N0````"#N/`*```` -M=1*#>@0`=0R#>@@`=0:#>@P`=`9!N0$```!%AXN``` -M``"%P'0=2(M#"$R)0PA)B1A)B4`(3(D`ZQNX`0```.OA9I!(BT<(3(E'"$F) -M.$F)0`A,B0!!_\,/MD9X1#G8#X].____2(GOZ`8X``!(@\0(6UW#9F9FD&9F -M9I!F9F:09F:02(E<)-!(B6PDV$R)9"3@3(EL).A,B70D\$R)?"3X2(/L2$F) -M_4B)\TB+KC`,``#_CSQ8``!(C4802(M("$B+5A!(B4H(2(D12(E&$$B)0`A( -MA>T/A(<"``#V11@@#X0=`0``3(ME``^W1D1!B<9$`W9`1`^W?D1(QX8P#``` -M`````$B-A[!7``!(BU`(2(EP"$B)!DB)5@A(B3*`OF(,```!=56`?0X"=49( -M#[9&1TB+O,:@"@``Z!3W__^%P'4PQH-B#```#$&`3"1^"D$/MT0D?/?8(T-` -M03F$)(0```!V#D&)A"2$````9F:09F:0@+MB#````70:#[:#8@P``(A%&4B) -M[DR)[^CB-@``Z6T#``!!#[=$)'R+50C_P@^OPD0Y\'8M00^WST2)\DR)YDR) -M[^BX^O__2(FH,`P``$B)15!(B<9,B>_H`A```.DM`P``00^W1"1\00.$)(0` -M``!$.?!U"$6)M"2$````2(GN3(GOZ'?_`B$5Y.D5X -M#X6.`@``]D48!`^$T@```$&^`````(!]>``/AK(```!(C8>P5P``2(E$)!!( -MC9?`5P``2(E4)`A$B?(/ML)(BUS%4$C'@S`,````````@+MB#````75-28G? -M0;P`````@'M&`'8@1(G@#[;X2,'G!$J-O#_P"@``Z`?V__]!_\1%.&=&=^!( -MBU0D$$B+0@A(B5H(2(D32(E#"$B)&.LF9F:09I`/MH-B#```B$492(M4)`A( -MBT((2(E:"$B)$TB)0PA(B1A!_\9$.'5X#X=F____2(GN3(GOZ(`!V+69FD&9FD$2)\@^VPDB+7,50@+MB#````70*#[:#8@P` -M`(A%&4'_QD0X=7AWV8!]&0!U%TC'P@````!(B>Y,B>_H`?K__^E<`0``N@`` -M``!(B>Y,B>_H+/S__^E'`0``9F9FD&9FD("^8@P```$/A8,```!)B?2]```` -M`(!^1@!V)&9FD&:0B>@/MOA(P><$2HV\)_`*``#H^O3____%03AL)$9WX4B# -MNS@,````="E(BX,X#```2(F#,`P``$C'@S@,````````2(G>3(GOZ`,.``#I -MS@```$F-A;!7``!(BU`(2(E8"$B)`TB)4PA(B1KK6F9FD$B-A\!7``!(BU`( -M2(EP"$B)!DB)5@A(B3)(@[XX#````'0T2(N&.`P```^VEF(,``"(4!E(BY8X -M#```2,?&`````.@`````2,>#.`P```````#IN0```$B+_H7?3__TC' -M0S``````2(M#.$B#>"@`=!5(C5`H2,?&`````$R)[^@`````ZR5)@[U(6``` -M`'0;28V52%@``$C'Q@````!,B>_H`````&9FD&:008.]0%@```!T5H"[8@P` -M``%U34B+>SA(@W]``'0PZ-TQ``"%P'4G2(M#.$B+4$A(BW!`3(GOZ`````!( -MBT,X2,=`0`````!!_XU`6```08.]0%@```!T"$R)[^@`````2(M<)!A(BVPD -M($R+9"0H3(ML)#!,BW0D.$R+?"1`2(/$2,-F9F:09F:09F:09F:02(/L"$B+ -M%H!Z2@!T$\9"2@!(Q\8`````Z`````!F9I!(@\0(PV9F9I!F9F:09F:005=! -M5D%505154TB#[`A)B=1!B<](BT8X2(L02`^V0!%,B[3"H`H``(M&""M"0,'@ -M"0^W;@S!Y0F)P8'A_P\``$&)Q4'![0R[`!```"G+.>L/1]U%A?]T#$ECU8G( -M20-$U@CK#TECQ8G/20-\Q@CH`````$F)!"1F08E<)`@YZW089D''1"0*``!) -M@\000?_%*=VY`````.NN9D''1"0*`("X`0```$B#Q`A;74%<05U!7D%?PV9F -M9I!F9F:09F:0#[9'$@)'$XA'$DB-5Q2^`0```.L/@'\2`'D&N`````##_D<2 -M#[9/$H/Y'W<3B?#3X(5'%`^5P`^VP.M49F9FD(/Y/W<2@^D@B?#3X(5"!`^5 -MP`^VP.LY@_E?=Q2#Z4")\-/@A4((#Y7`#[;`ZR)FD+@`````@_E_=Q:#Z6") -M\-/@A4(,#Y7`#[;`9F:09F:0APH!=7%(B=_HJ?[__X7`=!7&0PH` -M2(G>2(GOZ,8```#K8V9F9I"`>P@!=4H/MD,003A$)$>0=#XX0Q%U.0^V\$B) -M\$C!X`1*C;0@<`L``$B-2Q2+!@M#%(D&BT8$"T$$B48$BT8("T$(B48(BT8, -M"T$,B48,D,9#"0)(B=Y(B>_H0?W__TB+'"1(BVPD"$R+9"002(/$&,-F9F:0 -M9F9FD&9FD&9FD$B)7"3P3(ED)/A(@^P828G\2(GSQD83`,9&$@!(B??H[/W_ -M_TB)WDR)Y^@1````2(M<)`A,BV0D$$B#Q!C#9I!(B5PDX$B);"3H3(ED)/!, -MB6PD^$B#["A)B?U(B?-(BRY(BU4X2`^V1A!,BZ3"B````.@`````2(G&3(D@ -M@'L(`74-@$@8`L9`#B#K"V9FD(!(&`3&0`XP#[9#$@-%0(E&"&8/MD,39HE& -M#$C'1B@`````2(E>.$C'1C``````3(GO0?]4)&!(BUPD"$B+;"003(MD)!A, -MBVPD($B#Q"C#05154T&Y`````$&[`````$B)_4&\`0```.L808/[?W8/1(G( -MZ5X!``!F9F:09F:00?_#1(G:08/['W<21(G@1(G9T^"%!P^5P`^VP.M208/[ -M/W<3C4K@1(GCT^.%700/E<`/ML#K.4&#^U]W$XU*P$2)X-/@A44(#Y7`#[;` -MZR"X`````$&#^W]W%8U*H$2)X]/CA5T,#Y7`#[;`9F9FD(7`#X1S____0;@! -M````2(GZ0;H!````ZPIF9F:09F:00?_`0XT,`X/Y'W<41(G0T^"%`@^5P`^V -MP.M59F:09I"#^3]W$X/I($2)T-/@A4($#Y7`#[;`ZSB#^5]W$X/I0$2)T]/C -MA5H(#Y7`#[;`ZR"X`````(/Y?W<6@^E@1(G0T^"%0@P/E<`/ML!F9I!FD(7` -M=8Q$B=E%`<-!N@@```!$BQD`#X3C````2(-[$`!U"TB)$)#[9$ -ME")!B`)1`^V3)0@1(G(#[;0BY(BWPD".A^`@``2(N<)"@!``!(BZPD -M,`$``$R+I"0X`0``3(NL)$`!``!,B[0D2`$``$R+O"10`0``2('$6`$``,-F -M9I!F9I!(B5PDT$B);"383(ED).!,B6PDZ$R)="3P3(E\)/A(@>Q(`0``28G_ -M2(GU2(L>2(UT)!!(C7T0Z$3\__]!B<1(#[9%($R+M,.@"@``2`^V12%,BZS# -MH`H``+L`````1#GC?3U(8\,/MG2$$<'F"0^V5(02P>()2`^V1(00B?9(B?=) -M`WS&"$B)/"1)`W3%"$B)="0(Z`````#_PT0YXWS#N@````!(B>Y,B?_HD`$` -M`$B+G"08`0``2(NL)"`!``!,BZ0D*`$``$R+K"0P`0``3(NT)#@!``!,B[PD -M0`$``$B!Q$@!``##9F9FD&9F9I!!5T%6055!5%532('LB`$``$F)_TB)]4R+ -M)DB+7A!(C;0D@````$B)W^AB^___08G&2`^V0QA-BZS$H`H``+L`````@'T@ -M`'8C#[9-(&9FD`^VPT@/ME0H&$F+E-2@"@``2(E4Q$#_PSC9=^1!O`````!% -M.?0/C:T```!F9I!FD$ECQ`^VE(2!````08G20<'B"0^VE(2"````08G30<'C -M"0^VC(2`````NP````"`?2``=BA$#[;)18G0#[9U()`/ML-(BU3$0$J+?,H( -M28T4.$B)%,3_PT`XWG?D#[;11(G02(G'20-\U0A(.3PD=1!(BW0D"$2)VN@` -M````ZQV02(M4)`A(BS0D#[;!1(G720-\Q0A$B=GH`````$'_Q$4Y]`^,6/__ -M_[H`````2(GN3(G_Z!@```!(@<2(`0``6UU!7$%=05Y!7\-F9I!F9I!(B5PD -MZ$B);"3P3(ED)/A(@^P828G\2(GSB=7&1@D"@_H!&<"#X/6#P`R(1@KH3O;_ -M_X!["`-U+TB+0Q!(BW`02(7V=")(QT`0`````,9&"0*#_0$9P(/@]8/`#(A& -M"DR)Y^@9]O__2(L<)$B+;"0(3(MD)!!(@\08PV9FD&9FD`^V5@N%TG1&B=!( -M#[:$1[`)``!(C02`2(U$QU"`>`D"=`:X`````,.`>`H!=!+&1@D"#[9`"HA& -M"K@`````PY")T`^VE$>Q"0``A=)UNK@!````PV9F9I!F9F:09F9FD$%7059! -M54%455-(@^P(28G^2(GUQD9*`("^8PP````/A(L```!!O`````!(C5U0@'U) -M`'1.@'L)`74X@'L(`W4I2(M#$(!X&0!T'TB#>!``=!A(QT`0`````,9#"0(/ -MMH5B#```B$,*ZPG&14H!Z;PD`=7I(B=Y(B>_HO_[__X7`=%O& -M0PD!3(GW2(G>#[9#"(/X!G=(B<#_),4`````Z'KW___K.&9F9I!F9F:0Z-OY -M___K*>C$^___9F9FD.L>Z*G\___K%\9%2P'&1@D"QD8*`>AF]/__9F:09F:0 -M@'L)`G400?_'9F9FD&9FD(!["0)T"T&]`````.F/````@'L*`0^$A0```(!] -M2P"0#X0=____2(M%.$@/ME,02(N$T(@```#V0`$$=%]!O0````#&0PD!QD,* -M`$R)]TB)W@^V0PB#^`9W1HG`_R3%`````.C(]O__ZS9F9I!F9I#H*_G__^LI -MZ!3[__]F9F:0ZQ[H^?O__^L7QD5+`<9&"0+&1@H!Z+;S___K!,9#"@%!_\1( -M@\,H#[9%240YX`^/S/[__T6%_P^%H_[__T6%[704QH5B#````4B)[DR)]^C, -M[O__ZP3&14H!2(/$"%M=05Q!74%>05_#9F9FD&9FD$%7059!54%455-(@>QX -M`0``2(E\)$A(B?5(BUXX3(NF,`P``$&]`````$V%Y'4E#[=.1(M60`'12(G> -MZ!#G__](B44PN/____](@WTP``^$L2(``$B+1"1(_X`\6```2(U%$$B+5"1( -M2('"T%<``$B+2@A(B4((2(E5$$B)2`A(B0%F@[N``````'1$]D-^`74+BX.$ -M````.T5`=R=!O@`````/MX.`````B<*H`74.0?_&B=!$B?'3^*@!=/)$B'5( -MZS#&14@(ZRIF9I!F9I#V0WX"=!J+@X0````[14!W#P^V14>(14CK"F9FD&9F -MD,9%2`C&14D`QH6P"0```,9%2P#&A6(,````QH5C#````$C'A3@,```````` -M387D#X1@#P``0?9$)!@@#X2/!P``00^V1"0.@_@"#X1N!```@_@"?Q"#^`$/ -MA`4!``!FD.F>(0``@_@##X65(0``2(U<)&!(B=_H5>7__TF)VK\`````#[=U -M1+L`````0;D@````0;L!````@_\?=S\/ML-)C12"1(G)*?DY\0]'SH/Y('4( -MQP+_____ZPU$B=C3X/_(B?G3X`D"1(G(*?@Y\',5C70^X+\`````ZP.#[R#_ -MPX#[`W:R2(N]H`H``.A>Y/__0;\`````@'U&``^&`2$``$2)^P^VPTC!X`1( -MC1PH2(V[\`H``.BTY/__2(V[<`L``.BHY/__2(GOZ,#E___&0`@"1(AX$,9` -M$0!(BU0D8$B)4!1(BU0D:$B)4!Q!_\=$.'U&=ZOIIR```+@!````ZU5(B>^Y -M`````(!]1@"0=D$/ML%(P>`$2`'X2(V0\`H``+X`````@[CP"@```'42@WH$ -M`'4,@WH(`'4&@WH,`'0%O@$```"%]G6P_\$X3T9WO[@`````A%``P```````!(B>_H7.3__\9`"`*(6!"(6!%(BU0D -M8$B)4!1(BU0D:$B)4!Q)B<2`?48"#X<``0``2(V=\`L``$B)[^@DY/__QD`( -M!4B)6!#&0"``28G%28L,)/Z!L`D```^VL;`)``")]T@IR$B#Z%!(P?@#2+K- -MS,S,S,S,S$@/K\*(A'FP"0``00^V1"0+B(1YL0D``$&(="0+0;\`````@'U& -M``^&TQX``$B)TT0X?4AT!!$B'@12(M4)&!(B5`4 -M2(M4)&A(B5`<00^V52`/MLI&B'PI&/_"08A5($F+50#^@K`)```/MK*P"0`` -MB?%(*=!(@^A02,'X`T@/K\.(A$JP"0``00^V10N(A$JQ"0``08AU"T'_QT0X -M?48/AWO____I1AX``$&_`````(!]1@`/AC8>``!(C9WP"P``2;[-S,S,S,S, -MS$0X?4@/A+T```!(B>_H`./__\9`"`%$B'@01(AX$4B+5"1@2(E0%$B+5"1H -M2(E0'$B)1"1`2(GOZ-7B___&0`@#2(E8$$2(>!A)B<5(BQ#^@K`)```/MK*P -M"0``B?%(BT0D0$@IT$B#Z%!(P?@#20^OQHB$2K`)``!!#[9%"XB$2K$)``!! -MB'4+28L4)/Z"L`D```^VLK`)``")\4R)Z$@IT$B#Z%!(P?@#20^OQHB$2K`) -M``!!#[9$)`N(A$JQ"0``08AT)`M!_\=$.'U&#X^N`````"% -MP'073(FE.`P``$C'A3`,````````Z6,*``!(C5PD8$B)W^B1X/__28G:OP`` -M```/MW5$NP````!!N2````!!NP$```!F9F:0@_\?=S\/ML-)C12"1(G)*?DY -M\0]'SH/Y('4(QP+_____ZPU$B=C3X/_(B?G3X`D"1(G(*?@Y\',5C70^X+\` -M````ZP.#[R#_PX#[`W:R#[9%1XB%"`P``,:%"0P```!(BT0D8$B)A?`+``!( -MBT0D:$B)A?@+``!(QX4`#````````(!]1@(/A[@```!(C9WP"P``2(GOZ/7@ -M___&0`@%2(E8$,9`(`!)B<5!OP````"`?48`#X;I&P``2+O-S,S,S,S,S$B) -M[^C$X/__QD`(`42(>!!$B'@12(M4)&!(B5`42(M4)&A(B5`<00^V52`/MLI& -MB'PI&/_"08A5($F+50#^@K`)```/MK*P"0``B?%(*=!(@^A02,'X`T@/K\.( -MA$JP"0``00^V10N(A$JQ"0``08AU"T'_QT0X?49WA>E?&P``#[9=1TB)[^A` -MX/__QD`(`8A8$(A8$4B+5"1@2(E0%$B+5"1H2(E0'$B)1"0X0;\`````@'U& -M``^&(AL``$B-G?`+``!)O,W,S,S,S,S,1#A]1P^$O0```$B)[^CLW___QD`( -M`42(>!!$B'@12(M4)&!(B5`42(M4)&A(B5`<2(E$)$!(B>_HP=___\9`"`-( -MB5@01(AX&$F)Q4B+$/Z"L`D```^VLK`)``")\4B+1"1`2"G02(/H4$C!^`-) -M#Z_$B(1*L`D``$$/MD4+B(1*L0D``$&(=0M)BU4`_H*P"0``#[:RL`D``(GQ -M2(M$)#A(*=!(@^A02,'X`TD/K\2(A$JP"0``00^V10N(A$JQ"0``08AU"T'_ -MQT0X?48/ARS____I.!H``&9FD&:0387D#X2\!P``0?9$)!@"D`^$KP<``$0/ -MMKU@#```1#B]80P```^"50$``&9FD&:01#A]1P^$-@$``$2)^`^VV$B)V$C! -MX`1,C:0$\````$R)Y^BIW?__#[>4G4`,```/M[R=0@P``+L`````0;D@```` -M0;H!````@_H?=T0/ML-)C32$1(G)*=$Y^0]'SX/Y('4-QP;_____ZQ)F9I!F -MD$2)T-/@_\B)T=/@"09$B<@IT#GX<$2(T$+TB-D'`+``"+B'`+``#WT8E,)&"+0@3WT(E$)&2+ -M0@CWT(E$)&B+0@SWT(E$)&Q(C70\<$B-E#SP````(PJ)#HM"!"-$)&2)1@2+ -M0@@C1"1HB48(BT(,(T0D;(E&#$0X?4AU,;H`````@SX`=1*#?@0`=0R#?@@` -M=0:#?@P`=`6Z`0```(72N`$```!$#T7H9F:09I!!_\=$.+UA#```#X.P_O__ -M183M#X2:!0``2(U\)&#H;=S__T&_`````(!]1@!V69!$.'U(=$E$.'U'=$-$ -MB?@/MM!(P>($2`'J2(V*\`H``(M$)&`+@O`*``")1"1@BT0D9`M!!(E$)&2+ -M1"1H"T$(B40D:(M$)&P+00R)1"1L0?_'1#A]1G>H3`^V14A)P>`$2HUT!'"+ -M?"1@(SZ)?"10BTPD9"-.!(E,)%2+5"1H(U8(B50D6(M$)&PC1@R)1"1<]]>) -M?"1@]]&)3"1D]]*)5"1H]]")1"1L(SZ)?"1@(TX$B4PD9"-6"(E4)&@C1@R) -M1"1L2(GOZ+3<___&0`@`2(E$)"BX`````(-\)&``=16#?"1D`'4.@WPD:`!U -M!X-\)&P`=`6X`0```(7`#X2F`0``#[9%2(B%"`P``$B+1"1@2(F%\`L``$B+ -M1"1H2(F%^`L``,:%"0P```%(QX4`#````````$&_`````(!]1@`/A@,"``!, -MC:7P"P``1#A]2`^$/P$``$0XO6`,``!W#T0XO6$,``!R!D0X?4=U+4B)[^@( -MW/__QD`(`42(>!!$B'@12(M4)&!(B5`42(M4)&A(B5`<2(E$)$#K4D2)^@^V -MPDC!X`1(C5P$<(M$)&`)`XM$)&0)0P2+1"1H"4,(BT0D;`E##$B)[^BQV___ -MQD`(`42(>!!$B'@12(L32(E0%$B+4PA(B5`<2(E$)$!(B>_HB=O__\9`"`-, -MB6`01(AX&$F)Q4B+$/Z"L`D```^VLK`)``")\4B+1"1`2"G02(/H4$C!^`-( -MO\W,S,S,S,S,2`^OQXB$2K`)``!!#[9%"XB$2K$)``!!B'4+1#A]1W5$2(M, -M)"A(BQ'^@K`)```/MK*P"0``B?%,B>A(*=!(@^A02,'X`T@/K\>(A$JP"0`` -M2(M<)"@/MD,+B(1*L0D``$"(J_O__Z:$```!!OP````"` -M?48`#X:1````1#B]8`P``'=[1#B]80P``')R1#A]1W1L1#A]2'1F1(GZ#[;" -M2,'@!$B-1`1PN@````"#.`!U$H-X!`!U#(-X"`!U!H-X#`!T!;H!````A=)T -M,D2)^0^VP4C!X`1(C5P$<$B)[^A>VO__QD`(`42(>!!$B'@12(L32(E0%$B+ -M4PA(B5`<0?_'1#A]1@^';____[@`````@WPD4`!U%8-\)%0`=0Z#?"18`'4' -M@WPD7`!T!;@!````A<`/A!L5``!$#[9E2$2(I2@,``!(BT0D4$B)A1`,``!( -MBT0D6$B)A1@,``#&A2D,````2,>%(`P````````/MEU'2(GOZ,;9___&0`@! -MB%@01(A@$4B+5"102(E0%$B+5"182(E0'$B)1"0X2,=$)#``````0;\````` -M@'U&``^&GA0``$R-I1`,``!)OLW,S,S,S,S,1#A]2`^$80$``$0X?4`$2(U_HD-?__\9`"`%$B'@01(AX$4B+$TB)4!1(BU,( -M2(E0'&9FD&:00?_'1#B]80P```^#>/___^EN$@``@'U(!P^&TPD``$B-?"1@ -MZ"?6___&1"0G`$&_`````(!]1@`/AJ$```!FD$0X?4`$2`'H2(V0\`H``+D`````@[CP"@```'46@WH$`'40@WH(`'4*@WH,`&9F -M9I!T!;D!````AI(C8KP"@``BT0D8`N"\`H``(E$ -M)&"+1"1D"T$$B40D9(M$)&@+00B)1"1HBT0D;`M!#(E$)&S^1"0G0?_'1#A] -M1@^'8?___P^V5"0G#[9%1H/H`]'X.<(/CE0%```/MEU'B)T(#```2(M$)&!( -MB87P"P``2(M$)&A(B87X"P``QH4)#````4C'A0`,````````2(GOZ#_6___& -M0`@"B%@0B%@12(M4)&!(B5`42(M4)&A(B5`<28G$2(GOZ!C6___&0`@&2(E$ -M)"A)BQ0D_H*P"0``#[:RL`D``(GQ2(M$)"A(*=!(@^A02,'X`TF^S!!$B'@12(L3 -M2(E0%$B+4PA(B5`<28M5`/Z"L`D```^VLK`)``")\4@IT$B#Z%!(P?@#20^O -MQHB$2K`)``!!#[9%"XB$2K$)``!!B'4+1(GY#[;!2,'@!$B-A"CP"@``N@`` -M``"#.`!U$H-X!`!U#(-X"`!U!H-X#`!T!;H!````A=)FD'1Z1(GX#[;82(G8 -M2,'@!$B-G"CP"@``2(GOZ.'3___&0`@"1(AX$$2(>!%(BQ-(B5`42(M3"$B) -M4!Q)B<1(BQ#^@K`)```/MK*P"0``B?%(BT0D*$@IT$B#Z%!(P?@#20^OQHB$ -M2K`)``!!#[9$)`N(A$JQ"0``08AT)`M!_\=$.'U&#X8$2(T$+DB-B'`+``"+D'`+``#WTHE4)%"+003WT(E$)%2+00CW -MT(E$)%B+00SWT(E$)%Q(C5PT<"-4)&")$XM$)&0C1"14B4,$BT0D:"-$)%B) -M0PB+1"1L(T0D7(E##$B)[^C2TO__QD`(`TB+?"082(EX$$2(>!A)B<5(BT0D -M*$B+$/Z"L`D```^VLK`)``")\4R)Z$@IT$B#Z%!(P?@#20^OQHB$2K`)``!( -MBWPD*`^V1PN(A$JQ"0``0(AW"[@`````@SL`=1*#>P0`=0R#>P@`=0:#>PP` -M=`6X`0```(7`=&M$B?H/ML)(P>`$2(U_H/M+__\9`"`%$B'@01(AX -M$4B+$TB)4!1(BU,(2(E0'$F+50#^@K`)```/MK*P"0``B?%(*=!(@^A02,'X -M`TD/K\:(A$JP"0``00^V10N(A$JQ"0``08AU"T2)^0^VP4C!X`1(C80H\`H` -M`+H`````@S@`=1*#>`0`=0R#>`@`=0:#>`P`=`6Z`0```(72='I$B?@/MMA( -MB=A(P>`$2(V<*/`*``!(B>_HEM'__\9`"`)$B'@01(AX$4B+$TB)4!1(BU,( -M2(E0'$F)Q$B+$/Z"L`D```^VLK`)``")\4B+1"0H2"G02(/H4$C!^`-)#Z_& -MB(1*L`D``$$/MD0D"XB$2K$)``!!B'0D"T'_QT0X?48/A^#]___I.@P```^V -M74=(B>_H&]'__\9`"`&(6!"(6!%(BU0D8$B)4!1(BU0D:$B)4!Q(B40D.`^V -M74=(B>_H[M#__\9`"`*(6!"(6!%(BU0D8$B)4!1(BU0D:$B)4!Q)B<1(B>_H -MQ]#__\9`"`9(B40D*$F+#"3^@;`)```/MKFP"0``B?Y(BT0D*$@IR$B#Z%!( -MP?@#2+K-S,S,S,S,S$@/K\*(A'&P"0``00^V1"0+B(1QL0D``$&(?"0+0;\` -M````@'U&``^&=PL``&9F9I!$.'U'#X3&`@``1(GZ#[;"2,'@!$@!Z$B-D/`* -M``"Y`````(.X\`H```!U%H-Z!`!U$(-Z"`!U"H-Z#`!F9F:0=`6Y`0```(7) -M#X2!`@``_DPD)P^V3"0G`DU&08G.1(G[1`^VXTG!Y`1)`>Q)C;PD\`H``$B) -M?"002(GOZ-_/___&0`@!1(AX$$2((A$JP"0``00^V10N(A$JQ"0``08AU"TF+50#^ -M@K`)```/MK*P"0``B?%(BT0D0$@IT$B#Z%!(P?@#2`^OQXB$2K`)``!!#[9% -M"XB$2K$)``!!B'4+2(M$)"A(BQ#^@K`)```/MK*P"0``B?%,B>A(*=!(@^A0 -M2,'X`T@/K\>(A$JP"0``2(M<)"@/MD,+B(1*L0D``$"(!!$B'@128N4)/`*``!(B5`42(M,)!!(BU$(2(E0'$F)Q$B+ -M$/Z"L`D```^VLK`)``")\4B+1"0H2"G02(/H4$C!^`-(#Z_#B(1*L`D``$$/ -MMD0D"XB$2K$)``!!B'0D"Y!!_\=$.'U&#X`$2`'H2(V0\`H` -M`+D`````@[CP"@```'48@WH$`'42@WH(`'4,@WH,`'0+9F:09F:0N0$```"% -MR70\1(GX#[;82,'C!$@!ZTR-H_`*``!(B>_H^\S__\9`"`)$B'@01(AX$4B+ -MD_`*``!(B5`428M4)`A(B5`<0?_'1#A]1@^';O___^G`$2`'H2(V0\`H``+D`````@[CP"@```'44@WH$`'4.@WH(`'4( -M@WH,`&:0=`6Y`0```(7)#X3!````1(GY#[;!2,'@!$R-)"A)C9PD\`H``(M$ -M)&!!"X0D\`H``(E$)&"+1"1D"T,$B40D9(M$)&@+0PB)1"1HBT0D;`M##(E$ -M)&Q$.'U(='1(B>_H_,O__\9`"`)$B'@01(AX$4F+E"3P"@``2(E0%$B+4PA( -MB5`<28G$2(L(_H&P"0``#[:YL`D``(G^2(M$)"A(*#?"1L`'0%N`$```"%P)`/A`\"```/MD5'B(4(#```2(M$)&!( -MB87P"P``2(M$)&A(B87X"P``QH4)#````4C'A0`,````````0;\`````@'U& -M``^&RP$``$R-M?`+``!)O,W,S,S,S,S,9F:09I!$.'U(=5I(B>_H\LG__\9` -M"`-,B7`01(AX&$B+7"0H2(L3_H*P"0``#[:RL`D``(GQ2"G02(/H4$C!^`-) -M#Z_$B(1*L`D```^V0PN(A$JQ"0``0(AS"^E-`0``9F:09I!$.'U'#X0^`0`` -M1(GZ#[;"2,'@!$B-7`1P2`'H2(VX<`L``(NP<`L``/?6B3.+3P3WT8E+!(M7 -M"/?2B5,(BT<,]]")0PPC="1@B3,C3"1DB4L$(U0D:(E3""-$)&R)0PQ(B>_H -M.,G__\9`"`-,B7`01(AX&$F)Q4B+3"0H2(L1_H*P"0``#[:RL`D``(GQ2"G0 -M2(/H4$C!^`-)#Z_$B(1*L`D``$B+?"0H#[9'"XB$2K$)``!`B'<+N`````"# +M?T5,1@(!`0D```````````$`/@`!`````````````````````````"CA```` +M`````````$```````$``#@`+`$B![$@"``!(B9PD&`(``$B)K"0@`@``3(FD +M)"@"``!,B:PD,`(``$R)M"0X`@``3(F\)$`"``!(B?M,BV\02(UOB$R-9"00 +MN`(```"`?P$`=0N`?P(!&<"#X`+_P(A%`$C'10@`````@$T!!$B+0Q!(B440 +MBU,82(E5&$@/MD4`2(L$Q0````!(B45H@'T``W4N2(U"]DB)11B+&Z(````$B)W^@`````08$\)/,6>%IT(&9FD&9FD$@/MD4`2(L$Q0````!( +MB45P@$T!!.E:!0``OI````!,B>?H`````(3`==5!]D0D"0)T'<9#"`%!#[9$ +M)`J(0PLZ0PES"P^V\$B)W^@`````O@`"``!,B>?H`````(3`=!=)C;PDD``` +M`+IP`0``O@````#H`````$$/MI0DDP```+X!````(=8/MD,$@^#\B=�() +M\`G(O@0````AUH/@\XG1@^$("?`)R+X0````(=:#X,^)T8/A(`GP""`>!`( +M#X=7_O__2`^V0!!(@SS&``^$1_[____".=%_UD6+?"0808N$))@```!(P>`@ +M20G'N@````!(8\)(:`@2`G028E&&$$/MD0D(T&(1GH/MLBX`0```-/@ +M9D&)AI````!)#[8&2(L$Q0````!)B49H2`^V`TB+!,4`````28E&<`^V1"0/ +M08A&`T@/MD0D#TR)M,.@````_D-Y28UT)"Q)C;[@````NA````#H`````$F- +M="0\28V^\````+H$````Z`````!)C;0D@````$F-OC0!``"Z$````.@````` +M28UT)$!)C;[T````ND````#H`````$'V1"0)`70%08!.`0%)#[9$)"))@[S& +MH`````!U4R)=0A)#[8&2(L$Q0````!( +MB45P33F^F````'9!38F^F````.LX2`^V1"0/2(.\PZ``````=2=(B:S#H``` +M`$B)70C^0WD/MD0D#XA%`T@/M@-(BP3%`````$B)17!(BYPD&`(``$B+K"0@ +M`@``3(ND)"@"``!,BZPD,`(``$R+M"0X`@``3(N\)$`"``!(@<1(`@``PV9F +M9I!54TB#[`A(B?.]``````^V1GB)PH/X``^.TP```&9FD$ACQ4B#O,.@```` +M`'0+_\4YZG_LZ;<```"X`0```(GIT^!F"8.4````2(G>Z`````!(B<)(A<`/ +MA),```#&``-`B&@#2(E8"(`["`^4P,'@`P^V2@&#X?<)P8A*`4B+!0````!( +MB4)H2`^V`TB+!,4`````2(E"UT(8!] +M``-V&TB)[DR)[^@`````]H62````!'0'@(N2````!$'_Q`^V0WA$.>!_P^DO +M`0``@$X!!(!^>0)U$X"FD@```/[I&0$``&9F9I!F9I"`II(```#]2(.^H``` +M``!U'4B+AJ@```#&0`,`2(F&H````$C'AJ@`````````2(N#H````(`X`W4+ +M2(G>3(GOZ`````"`BY(````$2,>#F`````````#IM@```&9F9I`/MD9Y.D9X +M=2F`3@$$#[:&D@```(/@_HB&D@```&:#OI0`````='F#R`*(AI(```#K;@^V +M1GG_P`^V5G@YT'5@9H.^E`````!T++D`````#[>&E````(G"J`%U"O_!B=#3 +M^*@!=/9(8\%(@[S#H`````!U(>L)]H:2`````G46@$L!!("+D@````1(B=Y, +MB>_H`````$C'@Y@`````````2`^W@Y````!(]]A((8.8````2(-["`!U&?:# +MD@````1T$.@`````B4-\2(G?Z`````!(BUPD"$B+;"003(MD)!A,BVPD($B# +MQ"C#9F:09I!!5%5328G\O0````!F9F:02&/%2&G`2`$``$J-G"#(1```@WM\ +M`'0@2(-["`!U&4B)WDR)Y^@`````]D,!!'0(2,=#<`````#_Q8/]#W[!6UU! +M7,-F9F:09F9FD&9F9I!!5T%6055!5%532('L"`(``$F)_4B)]4&)UDF)YTB) +M]^@`````@'T`"'4+2(GN3(GOZ`````!!O`````"`?7@`#X;'````26/$2(.\ +MQ:``````#X2H````2(NTQ:````"`/@-V$4$/MM9,B>_H`````.F*````26/$ +M2(N$R)^;HP```` +MO@````#H`````.L3#[95`8/B`0^V0P&#X/X)T(A#`4B)W^@`````9F:09F:0 +M0?_$1#AE>`^'.?___[I(`0``O@````!(B>_H`````$F+A$) +M00^V=E!F9F:09F:03(M%`+\```$`9H-]"`!T!`^W?0@Y^8GZ#T;11#GF=1%F +MB5,(9L=#"@``3(D#2(/#$"G7B=!)`<`IT74>_\9!#[9%>#G&N``````/1/!! +M#[>%D````(G!P>$)A?]UMF:!?0H`@'0&2(/%$.N49L=#^@"`N`$```!(@<0` +M`@``6UU!7$%=05[#9F:09F:09F:03(M/"$R+1D@/MD\##[=^6#A.4'4+2`^W +M1E9)`<#K$9`X3E!V"TD/MX&0````20'`.$Y0=0MF`WY49F9FD&9FD#A.474+ +M9@-^4F9F9I!F9I"`?EP`=`XX3E!S)3A.46:0=Q3K'#A.4',(9D$#N9`````X +M3E%V"F9!`[F0````9I!FB7H03(E"",-F9F:09F:04TF)^4F)\$B+?@A$#[=6 +M$$&[`````$$/MDEZ2(G^2-/N9D''0%@``$'&0%P!20^V47A(B?!(B=&Z```` +M`$CW\4$/MDEZ2-/@28E`2$D/ME%X2(GP2(G1N@````!(]_%!B%!0B=%!#[>! +MD````/_((?AF08E`5D$/MY&0````9BG"9D0YTG(-9D6)4%1!N@````#K8F9! +MB5!49D$ITD&[`0```+H!````B=#3X&9!"4!:_\%!.$EX=2FY`````$&`>%P` +M=`M!QD!<`.L69F9FD$$/MT!89D$#@9````!F08E`6&9%.9&0````0$B+!@^V2`.X_O___]/`9B%#6H!^(0%T!P^V1B&( +M0R%(B>_H`````&:#>UH`=1F`>R$`=03&0R$!2(MS.$B)VDB)[^@`````2(/$ +M"%M=PV9FD&:02(/L.$B)7"0(2(EL)!!,B60D&$R);"0@3(ET)"A,B7PD,$F) +M_TB)]4R+-D'V1@$$=17&1B$"2(MV.$B)ZN@`````ZY,B>?H#OW__TC'0S@`````2,=#,`````!(B=Y,B?]!_U0D:&9FD$'_Q4$/ +MMD9X1#GH#X]P____2(M<)`A(BVPD$$R+9"083(ML)"!,BW0D*$R+?"0P2(/$ +M.,-F9F:09F9FD&9F9I!(@^P(2(M."`^V40&`9@'[@&$!^_Y)>8")D@````%( +M@WEP``^5P/;"!`^5P@^VP(7"=`U(B<[_47!F9F:09F:02(/$",-F9F:09F9F +MD&9FD$B#[`A,BT9`28MP*$B%]G0-9D$/MD`@@^`!.#``=!!,B<9! +M_U`PN@$```"%P'4PN@````#K*69F9I!(BP9(B0)(BT8(2(E""$B#PA!(C48* +M2(/&$&:#.`!YX+H!````B=!(@\0(PV9F9I!54TB)^P^V!X/H!(/X`7=0O0`` +M``"`?W@`=#=F9I!FD$ACQ4B#O,.@`````'012(N\PZ````#HQ?___X7`=0>X +M`````.LD_\4/MD-X.>AFD'_.N`$```#K$69F9I!F9I`/MD"@`=#/V0"`!="U(BT@H2(L!2(D"2(M!"$B)0@A(@\(02(U! +M"DB#P1!F@S@`>>#K'F9F9I!F9I"^`````$B#>#``=!!(B<:0_U`PB<;K!;X! +M````B?!(@\0(PV9F9I!F9I!F9I!F9I!(@^P82(D<)$B);"0(3(ED)!!)B?Q( +MB?-(BVY`2(L&#[9(`[C^____T\!F(45:@'XA`70'#[9&(8A%(4B)WDR)Y^@` +M````9H-]6@!U6H!](0!U),9%(0%(BTT`2(N1F````$@[4PAU#T@/MT,02`'0 +M2(F!F````$B+=3A(B>I,B>?H`````$B+10!FQT`H``!(BU4`2(/",$C'Q@`` +M``!,B>?H`````$B+'"1(BVPD"$R+9"002(/$&,-F9I!F9I!(@^P82(D<)$B) +M;"0(3(ED)!!)B?Q(B?-(BVY`@'XA`70.#[9&(8A%(>MY9F:09I"`?A(@=4K& +M1B$`2(M%`$B+@*@```!(B09(C7Y(NE@```"^`````.@`````QD,B`,9#$C`/ +MMD,@@^#]@\@$B$,@2(L#2(G>3(GG_U!HZV%FD,9%(0%(BTT`2(N1F````$@[ +M5@AU#T@/MT802`'02(F!F````$B)WDR)Y^@`````2(MU.$B)ZDR)Y^@````` +M2(M%`&;'0"@``$B+50!(@\(P2,?&`````$R)Y^@`````2(L<)$B+;"0(3(MD +M)!!(@\08PV9F9I!F9F:09F:09F:005154TF)]$B)U4B+1D"%R71&2(M0&$B) +M50`/MT80P>`)9HE%"&;'10H`@$B+!H!X`P`/A`T!``!(C8(```$`9H-]"`!T +M"4@/MT4(2(T$`DB)10#I[0````^W7A#!XPE(@W@H`'0L]D`@`70F2(M(*$B+ +M`4B)`DB+00A(B4((2(/"$$B-00I(@\$09H,X`'G@ZS2Z`````$B#>#``#X2H +M````2(GJ2(G&_U`PN@````"%P`^$D@```.L,9HE9"&;'00H`@.M&2(GI9F9F +MD&9FD+H```$`9H-Y"`!T!`^W40A)BP0D@'@#`'06.=IV%HG82`$!B=!F*=AF +MB4$(ZPYFD#G:<[9(@\$0*=-UQ$F+!"2`>`,`#Y7`2#G-#Y7"#[;`A<)T(4B+ +M`4B)10!(BT$(2(E%"$B#Q1!(C4$*2(/!$&:#.`!YW[H!````B=!;74%3(GG_U!HZW\/MU80P>()B=9( +MBWT82`'^Z`````"%P'0'QD4A#.LED,9%(0%(BTT`2(N1F````$@[4PAU#T@/ +MMT,02`'02(F!F````$B)WDR)Y^@`````2(MU.$B)ZDR)Y^@`````2(M%`&;' +M0"@``$B+50!(@\(P2,?&`````$R)Y^@`````2(L<)$B+;"0(3(MD)!!(@\08 +MPV9F9I!F9F:09F:09F:02(/L*$B)7"0(2(EL)!!,B60D&$R);"0@28G\2(GS +M2(LN2,=%.`````#VA9(````!#X5J`0``#[9&$H/X`@^$`P$``(/X`G\.@_@! +M#X2?````Z4H!``"#^`-F9F:09F:0#X4Z`0``2(M&"$B)12`/MT809HE%*`^W +M5A#!X@E(BWX8O@````#H`````&;'0UH#`$&]`````$R)Y^@`````2(G&QD`2 +M,$B+0PA(B48(#[=#$&:)1A"`3B`$2(E>0$C'1C@`````2,=&,`````!)8\5( +MBX3%H````$B)!DR)Y_]0:$'_Q4&#_0%^K.G#````2(M&"$B)12`/MT809HE% +M*.@`````2(G&QD`2($B+0PA(B48(#[=#$&:)1A"`3B`"2(E>0$C'1C@````` +M2,=&,`````!(BX6@````2(D&3(GG_U!HZVU(BT8(2(E%(`^W1A!FB44HZ``` +M``!(B<;&0!(@2(M#"$B)1@@/MT,09HE&$(!.(`)(B5Y`2,=&.`````!(QT8P +M`````$B+A:````!(B09,B>?_4&CK%V9F9I#&0R$&2(MS.$B)VDR)Y^@````` +M2(U5,$C'Q@````!,B>?H`````$B+7"0(2(ML)!!,BV0D&$R+;"0@2(/$*,.0 +M2(/L.$B)7"0(2(EL)!!,B60D&$R);"0@3(ET)"A,B7PD,$F)_TF)]$B++O9% +M`01U%<9&(0)(BW8X3(GBZ`````#IV@$``/9&("!T)$C'13@`````2(EU0&:# +M?2H`#X6]`0``Z+C]___ILP$``&9FD$B#?3@`=2EF@WTH`&9F9I!T/D@/MT4H +M2`-%($@[1@AV+T@/MT802`-&"$@Y12!S($G'1"10`````$B-?3!,B>;H```` +M`.EF`0``9F:09F:09O]%*O:%D@````,/A9\```!!]D0D(`(/A),```!(BY6@ +M````2(NUJ````(`Z`W5D@#X#=5])BT0D"(G!*XJ8````08G`1"N&F````(NZ +MG````(NVG````(G(F3'1*=%$B<"903'002G01#G!?1.%]@^41"0'@_\%#Y?` +M($0D!^LTA?\/E40D!X/^!0^6P`A$)`?K(8"]E@`````/E$0D!P^V3"0'B(V6 +M````ZPAF9I#&1"0'`&9!QT0D6@``0;X`````1(GP1`^VZ$J#O.V@`````'1[ +M2HN$[:````#V0`$$=&U!#[94)"#`Z@)$.'0D!P^4P`G0J`%T5DR)_^@````` +M2(G#ND@```!,B>9(B3(G__U!H9F:00?_&08#^`0^&9O__ +M_V9FD$B+7"0(2(ML)!!,BV0D&$R+;"0@3(MT)"A,BWPD,$B#Q#C#9F9FD&9F +MD&9FD&9FD%532(/L"$B)]4B+7@@/ME8#@&8!^X"+D@````%(QX.8```````` +M`/Y+>8![>0!U!H!C`?OK'`^V@Y(```"H`G01@^#7B(.2````A=)U!(!C`?OV +M0P$$=1U(@WMP``^$+`$``$B)WO]3<&9F9I!F9I#I&@$``(72=21(BY.@```` +MQD(#`4B+@Z@```#&0`,`2(F#H````$B)DZ@```!(@WL(`'0.2(M#"/9``00/ +MA(,```!(BX.@````@#@#=7=(B=[H`````$B)PDB%P'1GQ@`#QD`#`4B)6`A( +MBP4`````2(E":$B+!0````!(B4)P]D,!$'0.@$H!$(N"D````$B)0AA(QT4( +M`````$B)DZ@````/MH.2````@^#^@\@*B(.2````_D-Y2(G6OP<```#H```` +M`$B#>P@`=`]F9F:02(M;"$B#>P@`=?6+@X@```")@XP```"+@X0```")@X@` +M``"+@X````")@X0```"+0WR)@X````#H`````(E#?,:#EP````%(B=_H```` +M`$B#Q`A;7<-F9F:09F:09F:02('L*`(``$B)G"0``@``2(FL)`@"``!,B:0D +M$`(``$R)K"08`@``3(FT)"`"``!)B=1,BS9(BVY`2(M=*$&]$0```$B)XDB% +MVW0,9@^V12"#X`$YR'4I2(G32(-],`!T#TB)[O]5,(7`=15F9I!FD+@````` +MZ>4```!F9I!F9I"`?5'_#X2^````#[=-5,'A";H```$`9H-["`!T!`^W4P@Y +MT78[00^V1@,Z15!U%$B+`TF)!"1(BT,(28E$)`A)@\00*=%(@\,0N@```0!F +M@WL(`'0$#[=3"$'_S3G1=\5!#[9&`SI%4'4<2(L#28D$)&9!B4PD"&9!QT0D +M"@"`N`$```#K63G1)R$@#`TF)!"2)T&8IR&9!B40D"&:!>PH`@'4/9D'' +M1"0*`("X`0```.LJ9D''1"0*``!)@\002(/#$$'_S42)ZDC!X@1(B=Y,B>?H +M`````+@!````2(N<)``"``!(BZPD"`(``$R+I"00`@``3(NL)!@"``!,B[0D +M(`(``$B!Q"@"``##D`^V1P,Z1E!U%P^W1E1FB4(02(M&2$B)0@C#9F:09F:0 +M#[=&4F:)0A!(QT((`````,-F9F:09F9FD&9F9I!F9I!,BT8(1`^W3A!!NP`` +M``"Y`````(!_>``/A(,```!%#[?1B_H`````$B#Q`A;7<-F9I!FD$B#[#A(B5PD"$B) +M;"003(ED)!A,B6PD($R)="0H3(E\)#!)B?](B?5,BS9!]D8!!'45QD8A`DB+ +M=CA(B>KH`````.G*````3(GWZ*'^__]F@WU:`'4:QD4A`DB+=3A(B>I,B?_H +M`````.FC````9I!!O0````!!@'YX``^$D`````^W15I$B>G3^*@!='),B?_H +M`````$B)PTECQ4V+I,:@````3(DC2(EK0`^V52"#X@(/MD,@@^#]"="(0R`/ +MME4@@^($@^#["="(0R`/MD42B$,22(G:2(GN3(GGZ,[]__](QT,X`````$C' +M0S``````2(G>3(G_0?]4)&AF9I!!_\5!#[9&>$0YZ`^/8"(D@````%(@WAP`'0&2(G&_U!P2(/$",-F9F:02&/. +M2(N4SX!9``!(A=)T"TB+`DB)A,^`60``2(G0PY!(8])(BX37@%D``$B)!DB) +MM->`60``PV9FD&9FD&9FD$%7059!54%455-(@^P(28G_O0"```"!_@!```!W +M:&:]`$"!_@`@``!W7&:]`""!_@`0``!W4&:]`!"!_@`(``!W1&:]``B!_@`$ +M``!W.&:]``2!_@`"``!W+&:]``*!_@`!``!W(&:]``&!_H````!W%&:]@`"# +M_D!W"X/^(1GM@^7@@\5`B=`/K\5$C;#_#P``0<'N#,=$)`0`````N`````"! +M_0`0```/A]L```!!_\Y!@_[_#X3*````0;T`$```3(G_Z`````!(BA(`<-!_\1$B>BZ`````/?U1#G@#X=W____0?_.08/^_P^%//__ +M_XM$)`1(@\0(6UU!7$%=05Y!7\-F9F:09F:055-(B?V)\[@`````.;?860`` +M2&/#2(M\Q0BZ`!```+X`````Z`````#_RX/[_W7B2(/$ +M"%M=PV9FD&9FD&9FD(L/_\F#^?]T+DACP4B+1,<(N@````!(@S@`=`:X```` +M`,/_PDB#P`B!^O\!``!VYO_)@_G_==*X`0```,-F9I!(@^P(NA````"^```` +M`.@`````2(/$",-F9F:09F9FD$B#?A@`=`Q(BU882(M&$$B)0A!(BU802(M& +M&$B)`DC'1A``````N@````#HL/S___/#9F9FD&9F9I!F9I!F9I!(C4]@2(M' +M8$B)1AA(A6^`````.C[^___2(G#3(D@2(EH +M"$B)QDR)[^AF____2(G82(L<)$B+;"0(3(MD)!!,BVPD&$B#Q"##9F9FD&9F +M9I!F9I`/MD=-#[;02(T4DDB-5-=0_\"(1TU(B3K&0@D`QD(*`,9""P!(B=## +M9F9FD&9F9I!!5%5328G\2(GSO0`````/ME9*C4+]T?@!PH/Z`'XED$ACQ4B+ +MM,.@"@``3(GGZ*W]____Q0^V4TJ-0OW1^`'".>I_W+H'````2(G>3(GGZ%S[ +M__];74%2Z!P```$B)[DR)[^AO^?__ +MN`````#K,DECQ$C!X`1(C1PH2(V[\`H``.A1_/__2(V[<`L``.A%_/__0?_$ +M13GF#X]Y____2(GH2(/$&%M=05Q!74%>05_#9F9FD&9FD$%455-(B?5(B=.) +MS@^V37J)T-/H)?\!``!(BU583(TDPDV+!"1-A$B)VNAH +M_?__28G`2(7`=%!(B6@X28L$)$F)0"A(A$&(<$H/MDUZ2(G82-/H2`^V57A(B=&Z`````$CW\4`HUO_.08AP +M2TR)P%M=05S#9F9FD&9F9I!!5T%6055!5%532('L:`$``$B)?"1(2(ET)$!( +MB50D.`^V5B")T-#H@_`!B<�&)3"0T2(-^*`!T!?;"`70<3(U\)%"Y`0`` +M`$R)^DB+="1`2(M\)$C_5C#K"4B+7"1`3(M[*,=$)`P```$`9D&#?P@`=`E! +M#[='"(E$)`Q!O0````#'1"0P`````$B+5"1`@+J```````^$=P$``$AC1"0P +M2(M,)$!(BT3!6$B)1"0@#[:88`P``(A<)"\XF&$,```/@C(!```/MD0D+TB+ +M5"0@.$)+#X0%`0``#[;`2(G1#[>4@D`,```/MX2!0@P``&:)1"00B=!FP>@# +M#[?`B40D"$&)UD&#Y@=!#[?&B<;!Y@FX"````&9$*?!!B<9F1#MT)!"+7"00 +M1`]'\T$/M\:)Q<'E"4@/MD0D+TB+5"0@2(N,PJ`*``"+5"0(B?!)B<1,`V31 +M"$0[;"0,=2-)@\<0QT0D#````0!F08-_"`!T"4$/MT\(B4PD#$&]`````(M< +M)`Q$*>LYZP]'W8-\)#0`=!)$B>Y)`S>)VDR)Y^@`````ZQ!$B>])`S^)VDR) +MYN@`````00'=*=UT!XG820'$ZY-F1"ET)!!T%/]$)`B^`````$&^"````.D_ +M_____D0D+P^V7"0O2(M$)"`XF&$,```/@\[^____1"0P2(M4)$`/MH*````` +M.T0D,`^/B?[__[H`````2(MT)$!(BWPD2/]4)#A(@<1H`0``6UU!7$%=05Y! +M7\-F9I!F9I!54TB#[`A(B?V%TG0$QD8A"T&[`````("^@``````/A,$```!( +MC9U@60``2(V]4%D``$ECPTR+1,982<>`,`P```````!-B<*Y`````$&`>$H` +M=D8/ML%(P>`$3`'02(V0\`H``$&Y`````(.X\`H```!U$H-Z!`!U#(-Z"`!U +M!H-Z#`!T!D&Y`0```$6%R9!U)?_!03A*2G>ZN`````"%P'0=2(M#"$R)0PA) +MB1A)B4`(3(D`ZQNX`0```.OA9I!(BT<(3(E'"$F).$F)0`A,B0!!_\,/MH:` +M````1#G8#X]-____2(GOZ%,X``!(@\0(6UW#9F9FD&9F9I!F9F:02(/L2$B) +M7"082(EL)"!,B60D*$R);"0P3(ET)#A,B7PD0$F)_4B)\TB+KC`,``#_C]Q9 +M``!(C4802(M("$B+5A!(B4H(2(D12(E&$$B)0`A(A>T/A*<"``#V12`@#X0M +M`0``3(ME`$@/MT9(28G&3`-V0$0/MWY(2,>&,`P```````!(C8=060``2(M0 +M"$B)<`A(B09(B58(2(DR@+YB#````758@'T2`G5)2`^V1DM(B[S&H`H``.@3 +M]___A$))````#WV$B82"-#0$DYA"28 +M````=@A)B80DF````("[8@P```%T&@^V@V(,``"(12%(B>Y,B>_H+C<``.F) +M`P``20^WA"20````2(M5"$C_PD@/K\),.?!V+4$/M\],B?),B>9,B>_HKOK_ +M_TB)J#`,``!(B4582(G&3(GOZ$@0``#I0P,``$D/MX0DD````$D#A"28```` +M3#GP=0A-B;0DF````$B)[DR)[^BZ-@``Z14#``!F9I!FD`^VA8$```#_P(B% +M@0```#J%@`````^%E0(``/9%(`0/A-P```!!O@````"`O8``````#X:Y```` +M2(V'4%D``$B)1"002(V78%D``$B)5"0(1(GR#[;"2(MY,B>_HM#4``.FO`0``0;X`````@+V``````'8J1(GR#[;"2(M< +MQ5B`NV(,```!=`H/MH-B#```B$4A0?_&1#BU@````'?6@'TA`'472,?"```` +M`$B)[DR)[^C>^?__Z5D!``"Z`````$B)[DR)[^@)_/__Z40!``!F9F:0@+YB +M#````0^%@P```$F)]+T`````@'Y*`'8D9F:09I")Z`^V^$C!YP1*C;PG\`H` +M`.C:]/___\5!.&PD2G?A2(.[.`P```!T*4B+@S@,``!(B8,P#```2,>#.`P` +M``````!(B=Y,B>_H,PX``.G.````28V%4%D``$B+4`A(B5@(2(D#2(E3"$B) +M&NM:9F:02(V'8%D``$B+4`A(B7`(2(D&2(E6"$B),DB#OC@,````=#1(BX8X +M#```#[:68@P``(A0(4B+EC@,``!(Q\8`````Z`````!(QX,X#````````.FY +M````2(MS,$R)[^@]]/__2,=#,`````!(BT,X2(-X,`!T%4B-4#!(Q\8````` +M3(GOZ`````#K)4F#O>A9````=!M)C97H60``2,?&`````$R)[^@`````9F:0 +M9I!!@[W@60```'16@+MB#````75-2(M[.$B#?T@`=##H#3(``(7`=2=(BT,X +M2(M04$B+<$A,B>_H`````$B+0SA(QT!(`````$'_C>!9``!!@[W@60```'0( +M3(GOZ`````!(BUPD&$B+;"0@3(MD)"A,BVPD,$R+="0X3(M\)$!(@\1(PV9F +M9I!F9I!F9I!F9I!(@^P(2(L6@'I.`'03QD).`$C'Q@````#H`````&9FD$B# +MQ`C#9F9FD&9F9I!F9I!!5T%6055!5%532(/L"$F)U$&)STB+1D!(BQ!(#[9` +M$4R+M,*@"@``BT8(*T)`P>`)#[=N$,'E"8G!@>'_#P``08G%0<'M#+L`$``` +M*05_#9F9FD&9F9I!F9I`/MD<2`D<3B$<22(U7%+X!```` +MZP^`?Q(`>0:X`````,/^1Q(/MD\2@_D?=Q.)\-/@A4<4#Y7`#[;`ZU1F9F:0 +M@_D_=Q*#Z2")\-/@A4($#Y7`#[;`ZSF#^5]W%(/I0(GPT^"%0@@/E<`/ML#K +M(F:0N`````"#^7]W%H/I8(GPT^"%0@P/E<`/ML!F9I!F9I"%P'2!QD<3`4R- +M1Q0/ME<2O@$```#K`_Y'$P^V1Q.-#`*#^1]W#XGPT^"%1Q0/E<`/ML#K3H/Y +M/W<6@^D@B?#3X$&%0`0/E<`/ML#K-F9FD(/Y7W<3@^E`B?#3X$&%0`@/E<`/ +MML#K&[@`````@_E_=Q&#Z6")\-/@085`#`^5P`^VP(7`=9"P`<-F9I!F9I!( +M@^P82(D<)$B);"0(3(ED)!!(B?U(BUY`3(LC#[9&(8A#"N@`````@'L*`75R +M2(G?Z*K^__^%P'06QD,*`$B)WDB)[^C'````ZV1F9I!FD(!["`%U2@^V0Q!! +M.$0D2Y!T/CA#$74Y#[;P2(GP2,'@!$J-M"!P"P``2(U+%(L&"T,4B0:+1@0+ +M002)1@2+1@@+00B)1@B+1@P+00R)1@R0QD,)`DB)WDB)[^A!_?__2(L<)$B+ +M;"0(3(MD)!!(@\08PV9F9I!F9F:09F:09F:02(/L&$B)7"0(3(ED)!!)B?Q( +MB?/&1A,`QD82`$B)]^CL_?__2(G>3(GGZ!$```!(BUPD"$R+9"002(/$&,-F +MD$B#["A(B5PD"$B);"003(ED)!A,B6PD($F)_4B)\TB++DB+53A(#[9&$$R+ +MI,*@````Z`````!(B<9,B2"`>P@!=0V`2"`"QD`2(.L+9F:0@$@@!,9`$C!( +M#[9#$D@#14!(B48(9@^V0Q-FB4802,=&,`````!(B5Y`2,=&.`````!,B>]! +M_U0D:$B+7"0(2(ML)!!,BV0D&$R+;"0@2(/$*,-F9F:09F:09F:09F:00515 +M4T&Y`````$&[`````$B)_4&\`0```.L808/[?W8/1(G(Z5X!``!F9F:09F:0 +M0?_#1(G:08/['W<21(G@1(G9T^"%!P^5P`^VP.M208/[/W<3C4K@1(GCT^.% +M700/E<`/ML#K.4&#^U]W$XU*P$2)X-/@A44(#Y7`#[;`ZR"X`````$&#^W]W +M%8U*H$2)X]/CA5T,#Y7`#[;`9F9FD(7`#X1S____0;@!````2(GZ0;H!```` +MZPIF9F:09F:00?_`0XT,`X/Y'W<41(G0T^"%`@^5P`^VP.M59F:09I"#^3]W +M$X/I($2)T-/@A4($#Y7`#[;`ZSB#^5]W$X/I0$2)T]/CA5H(#Y7`#[;`ZR"X +M`````(/Y?W<6@^E@1(G0T^"%0@P/E<`/ML!F9I!FD(7`=8Q$B=E%`<-!N@@` +M``!$BQD`#X3A````2(-[$`!U"4B)@`````_\-$.?-\A.E_````2(UT)"!(B=_H,OW__T&)QD@/ +MMD,83(NDQ:`*``!)#[9%&$R+O,6@"@``NP````!$.?-]2TACTP^V1)0AB<'! +MX0D/MD24(D&)P$'!X`E(#[9$E"")SDB)]TD#?,0(2(E\)!!)`W3'"$B)="08 +M1(G"Z`````#_PT0Y\WRY9F9FD+H`````3(GN2(M\)`CHC@(``$B+G"0H`0`` +M2(NL)#`!``!,BZ0D.`$``$R+K"1``0``3(NT)$@!``!,B[PD4`$``$B!Q%@! +M``##9F:09F:02('L2`$``$B)G"08`0``2(FL)"`!``!,B:0D*`$``$R)K"0P +M`0``3(FT)#@!``!,B;PD0`$``$F)_TB)]4B+'DB-="002(U]$.@B_/__08G$ +M2`^V12!,B[3#H`H``$@/MD4A3(NLPZ`*``"[`````$0YXWT]2&/##[9TA!'! +MY@D/ME2$$L'B"4@/MD2$$(GV2(GW20-\Q@A(B3PD20-TQ0A(B70D".@````` +M_\-$.>-\P[H`````2(GN3(G_Z(X!``!(BYPD&`$``$B+K"0@`0``3(ND)"@! +M``!,BZPD,`$``$R+M"0X`0``3(N\)$`!``!(@<1(`0``PV9FD&9FD$%7059! +M54%455-(@>R(`0``28G_2(GU3(LF2(M>$$B-M"2`````2(G?Z$+[__]!B<9( +M#[9#&$V+K,2@"@``NP````"`?2``=B,/MDT@9F:0#[;#2`^V5"@828N4U*`* +M``!(B53$0/_#.-EWY$&\`````$4Y]`^-K0```&9FD&:026/$#[:4A($```!! +MB=)!P>()#[:4A((```!!B=-!P>,)#[:,A(````"[`````(!](`!V*$0/MLE% +MB=`/MG4@D`^VPTB+5,1`2HM\R@A)C10X2(D4Q/_#0#C>=^0/MM%$B=!(B<=) +M`WS5"$@Y/"1U$$B+="0(1(G:Z`````#K'9!(BU0D"$B+-"0/ML%$B==)`WS% +M"$2)V>@`````0?_$13GT#XQ8____N@````!(B>Y,B?_H&````$B!Q(@!``!; +M74%<05U!7D%?PV9FD&9FD$B#[!A(B1PD2(EL)`A,B60D$$F)_$B)\XG5QD8) +M`H/Z`1G`@^#U@\`,B$8*Z!_V__^`>P@#=2](BT,02(MP$$B%]G0B2,=`$``` +M``#&1@D"@_T!&<"#X/6#P`R(1@I,B>?HZO7__TB+'"1(BVPD"$R+9"002(/$ +M&,-F9F:09F:0#[96"X72=$:)T$@/MH1'L`D``$B-!(!(C43'4(!X"0)T!K@` +M````PX!X"@%T$L9&"0(/MD`*B$8*N`````##D(G0#[:41[$)``"%TG6ZN`$` +M``##9F9FD&9F9I!F9F:005=!5D%505154TB#[`A)B?Y(B?7&1DX`@+YC#``` +M``^$BP```$&\`````$B-75"`?4T`=$Z`>PD!=3B`>P@#=2E(BT,0@'@9`'0? +M2(-X$`!T&$C'0!``````QD,)`@^VA6(,``"(0PKK"<9%3@'IMP$``$'_Q$B# +MPR@/MD5-1#G@?[)(B>Y,B??H$O#__^F7`0``#[9#"HB%8@P``,:%8PP```'I +M?/___V9F9I!F9I!!OP````!!O0$```!!O`````!(C5U0@'U-``^$-`$``(![ +M"0!U>DB)WDB)[^B__O__APD"=1!!_\=F9F:09F:0@'L)`G0+0;T` +M````Z8\```"`>PH!#X2%````@'U/`)`/A!W___](BT4X2`^V4Q!(BX30H``` +M`/9``01T7T&]`````,9#"0'&0PH`3(GW2(G>#[9#"(/X!G=&B<#_),4````` +MZ)CV___K-F9FD&9FD.@+^?__ZRGH!/O__V9F9I#K'NCY^___ZQ?&14\!QD8) +M`L9&"@'HAO/__^L$QD,*`4'_Q$B#PR@/MD5-1#G@#X_,_O__187_#X6C_O__ +M187M=!3&A6(,```!2(GN3(GWZ'SN___K!,9%3@%(@\0(6UU!7$%=05Y!7\-F +M9F:09F:005=!5D%505154TB!['@!``!(B7PD2$B)]4B+7CA,BZ8P#```0;T` +M````387D=2A(#[=.2$B+5D!(`=%(B=[HO>;__TB)13"X_____TB#?3``#X2N +M(@``2(M$)$C_@-Q9``!(C4402(M4)$A(@<)P60``2(M*"$B)0@A(B5402(E( +M"$B)`6:#NY0`````=$/V@Y(````!=0U(BU5`2#F3F````'# +ME````(G"J`%U#D'_QHG01(GQT_BH`73R1(AU3.LIQD5,".LC]H.2`````G06 +M2(M]0$@YNY@```!W"0^V14N(14SK!,9%3`C&14T`QH6P"0```,9%3P#&A6(, +M````QH5C#````$C'A3@,````````387D#X1?#P``0?9$)"`@#X2.!P``00^V +M1"02@_@"#X1M!```@_@"?P^#^`$/A`0!``"0Z9XA``"#^`,/A94A``!(C5PD +M8$B)W^@%Y?__28G:OP`````/MW5(NP````!!N2````!!NP$```"#_Q]W/P^V +MPTF-%()$B_H<.7__\9`"`)$B'@0QD`1`$B+5"1@2(E0%$B+5"1H2(E0'$'_QT0X +M?4IWJ^FG(```N`$```#K54B)[[D`````@'U*`)!V00^VP4C!X`1(`?A(C9#P +M"@``O@````"#N/`*````=1*#>@0`=0R#>@@`=0:#>@P`=`6^`0```(7V=;#_ +MP3A/2G>_N`````"%P'073(FE.`P``$C'A3`,````````Z<(-``!(C5PD8$B) +MW^B@X___28G:OP`````/MW5(NP````!!N2````!!NP$```"#_Q]W/P^VPTF- +M%()$B;`)``!!#[9$)`N( +MA'FQ"0``08AT)`M!OP````"`?4H`#X;3'@``2(G31#A]3'1R2(GOZ%_C___& +M0`@!1(AX$$2(>!%(BU0D8$B)4!1(BU0D:$B)4!Q!#[95(`^VRD:(?"D8_\)! +MB%4@28M5`/Z"L`D```^VLK`)``")\4@IT$B#Z%!(P?@#2`^OPXB$2K`)``!! +M#[9%"XB$2K$)``!!B'4+0?_'1#A]2@^'>____^E&'@``0;\`````@'U*``^& +M-AX``$B-G?`+``!)OLW,S,S,S,S,1#A]3`^$O0```$B)[^BPXO__QD`(`42( +M>!!$B'@12(M4)&!(B5`42(M4)&A(B5`<2(E$)$!(B>_HA>+__\9`"`-(B5@0 +M1(AX&$F)Q4B+$/Z"L`D```^VLK`)``")\4B+1"1`2"G02(/H4$C!^`-)#Z_& +MB(1*L`D``$$/MD4+B(1*L0D``$&(=0M)BQ0D_H*P"0``#[:RL`D``(GQ3(GH +M2"G02(/H4$C!^`-)#Z_&B(1*L`D``$$/MD0D"XB$2K$)``!!B'0D"T'_QT0X +M?4H/ARS____I3!T``+@!````ZUE(B>^Y`````(!]2@!V1F9F9I`/ML%(P>`$ +M2`'X2(V0\`H``+X`````@[CP"@```'43@WH$`'4-@WH(`'4'@WH,`)!T!;X! +M````A?9UK/_!.$]*=[ZX`````(7`=!=,B:4X#```2,>%,`P```````#I8PH` +M`$B-7"1@2(G?Z$'@__])B=J_``````^W=4B[`````$&Y(````$&[`0```&9F +M9I"#_Q]W/P^VPTF-%()$B_HI>#__\9`"`5(B5@0QD`@`$F)Q4&_`````(!] +M2@`/AND;``!(N\W,S,S,S,S,2(GOZ'3@___&0`@!1(AX$$2(>!%(BU0D8$B) +M4!1(BU0D:$B)4!Q!#[95(`^VRD:(?"D8_\)!B%4@28M5`/Z"L`D```^VLK`) +M``")\4@IT$B#Z%!(P?@#2`^OPXB$2K`)``!!#[9%"XB$2K$)``!!B'4+0?_' +M1#A]2G>%Z5\;```/MEU+2(GOZ/#?___&0`@!B%@0B%@12(M4)&!(B5`42(M4 +M)&A(B5`<2(E$)#A!OP````"`?4H`#X8B&P``2(V=\`L``$F\S!%(BU0D8$B)4!1(BU0D:$B) +M4!Q(B40D0$B)[^AQW___QD`(`TB)6!!$B'@828G%2(L0_H*P"0``#[:RL`D` +M`(GQ2(M$)$!(*=!(@^A02,'X`TD/K\2(A$JP"0``00^V10N(A$JQ"0``08AU +M"TF+50#^@K`)```/MK*P"0``B?%(BT0D.$@IT$B#Z%!(P?@#20^OQ(B$2K`) +M``!!#[9%"XB$2K$)``!!B'4+0?_'1#A]2@^'+/___^DX&@``9F:09I!-A>0/ +MA+P'``!!]D0D(`*0#X2O!P``1`^VO6`,``!$.+UA#```#X)5`0``9F:09I!$ +M.'U+#X0V`0``1(GX#[;82(G82,'@!$R-I`3P````3(GGZ%G=__\/MY2=0`P` +M``^WO)U"#```NP````!!N2````!!N@$```"#^A]W1`^VPTF--(1$BAF +M9I!FD$'_QT0XO6$,```/@[#^__]%A.T/A)H%``!(C7PD8.@=W/__0;\````` +M@'U*`'99D$0X?4QT240X?4MT0T2)^`^VT$C!X@1(`>I(C8KP"@``BT0D8`N" +M\`H``(E$)&"+1"1D"T$$B40D9(M$)&@+00B)1"1HBT0D;`M!#(E$)&Q!_\=$ +M.'U*=ZA,#[9%3$G!X`1*C70$<(M\)&`C/HE\)%"+3"1D(TX$B4PD5(M4)&@C +M5@B)5"18BT0D;"-&#(E$)%SWUXE\)&#WT8E,)&3WTHE4)&CWT(E$)&PC/HE\ +M)&`C3@2)3"1D(U8(B50D:"-&#(E$)&Q(B>_H9-S__\9`"`!(B40D*+@````` +M@WPD8`!U%8-\)&0`=0Z#?"1H`'4'@WPD;`!T!;@!````A<`/A*8!```/MD5, +MB(4(#```2(M$)&!(B87P"P``2(M$)&A(B87X"P``QH4)#````4C'A0`,```` +M````0;\`````@'U*``^&`P(``$R-I?`+``!$.'U,#X0_`0``1#B]8`P``'!%(BU0D8$B)4!1( +MBU0D:$B)4!Q(B40D0.M21(GZ#[;"2,'@!$B-7`1PBT0D8`D#BT0D9`E#!(M$ +M)&@)0PB+1"1L"4,,2(GOZ&';___&0`@!1(AX$$2(>!%(BQ-(B5`42(M3"$B) +M4!Q(B40D0$B)[^@YV___QD`(`TR)8!!$B'@828G%2(L0_H*P"0``#[:RL`D` +M`(GQ2(M$)$!(*=!(@^A02,'X`TB_S`$2(U$!'"Z`````(,X`'42@W@$`'4, +M@W@(`'4&@W@,`'0%N@$```"%TG0R1(GY#[;!2,'@!$B-7`1P2(GOZ`[:___& +M0`@!1(AX$$2(>!%(BQ-(B5`42(M3"$B)4!Q!_\=$.'U*#X=O____N`````"# +M?"10`'45@WPD5`!U#H-\)%@`=0>#?"1<`'0%N`$```"%P`^$&Q4``$0/MF5, +M1(BE*`P``$B+1"102(F%$`P``$B+1"182(F%&`P``,:%*0P```!(QX4@#``` +M``````^V74M(B>_H=MG__\9`"`&(6!!$B&`12(M4)%!(B5`42(M4)%A(B5`< +M2(E$)#A(QT0D,`````!!OP````"`?4H`#X:>%```3(VE$`P``$F^S_H"MG__\9`"`%$B'@0B%@1 +M2(M4)%!(B5`42(M4)%A(B5`<2(E$)$!(BQ#^@K`)```/MK*P"0``B?%(BT0D +M*$@IT$B#Z%!(P?@#2+_-S,S,S,S,S$@/K\>(A$JP"0``2(M<)$`/MD,+B(1* +ML0D``$"(_H3=C__\9` +M"`-,B6`0B%@828G%2(E$)#!(BQ#^@K`)```/MK*P"0``B?%(BT0D0$@IT$B# +MZ%!(P?@#20^OQHB$2K`)``!!#[9%"XB$2K$)``!!B'4+28M5`/Z"L`D```^V *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-stable-7@FreeBSD.ORG Sat Apr 11 15:19:26 2009 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CEE7B1065686; Sat, 11 Apr 2009 15:19:26 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BBA6C8FC0A; Sat, 11 Apr 2009 15:19:26 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n3BFJQuT090613; Sat, 11 Apr 2009 15:19:26 GMT (envelope-from delphij@svn.freebsd.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n3BFJQtj090608; Sat, 11 Apr 2009 15:19:26 GMT (envelope-from delphij@svn.freebsd.org) Message-Id: <200904111519.n3BFJQtj090608@svn.freebsd.org> From: Xin LI Date: Sat, 11 Apr 2009 15:19:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190939 - in stable/7/lib/libc: . db db/btree db/hash db/mpool string X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 11 Apr 2009 15:19:27 -0000 Author: delphij Date: Sat Apr 11 15:19:26 2009 New Revision: 190939 URL: http://svn.freebsd.org/changeset/base/190939 Log: MFC r190482: zero out memory before use and free. Approved by: re (kib) Security: Potential Information Leak Modified: stable/7/lib/libc/ (props changed) stable/7/lib/libc/db/README stable/7/lib/libc/db/btree/bt_open.c stable/7/lib/libc/db/btree/bt_split.c stable/7/lib/libc/db/hash/hash_buf.c stable/7/lib/libc/db/mpool/mpool.c stable/7/lib/libc/string/ffsll.c (props changed) stable/7/lib/libc/string/flsll.c (props changed) Modified: stable/7/lib/libc/db/README ============================================================================== --- stable/7/lib/libc/db/README Sat Apr 11 15:19:09 2009 (r190938) +++ stable/7/lib/libc/db/README Sat Apr 11 15:19:26 2009 (r190939) @@ -1,4 +1,5 @@ # @(#)README 8.27 (Berkeley) 9/1/94 +# $FreeBSD$ This is version 1.85 of the Berkeley DB code. @@ -31,10 +32,3 @@ mpool The memory pool routines. recno The fixed/variable length record routines. test Test package. -============================================ -Debugging: - -If you're running a memory checker (e.g. Purify) on DB, make sure that -you recompile it with "-DPURIFY" in the CFLAGS, first. By default, -allocated pages are not initialized by the DB code, and they will show -up as reads of uninitialized memory in the buffer write routines. Modified: stable/7/lib/libc/db/btree/bt_open.c ============================================================================== --- stable/7/lib/libc/db/btree/bt_open.c Sat Apr 11 15:19:09 2009 (r190938) +++ stable/7/lib/libc/db/btree/bt_open.c Sat Apr 11 15:19:26 2009 (r190939) @@ -159,9 +159,8 @@ __bt_open(fname, flags, mode, openinfo, goto einval; /* Allocate and initialize DB and BTREE structures. */ - if ((t = (BTREE *)malloc(sizeof(BTREE))) == NULL) + if ((t = (BTREE *)calloc(1, sizeof(BTREE))) == NULL) goto err; - memset(t, 0, sizeof(BTREE)); t->bt_fd = -1; /* Don't close unopened fd on error. */ t->bt_lorder = b.lorder; t->bt_order = NOT; @@ -169,9 +168,8 @@ __bt_open(fname, flags, mode, openinfo, t->bt_pfx = b.prefix; t->bt_rfd = -1; - if ((t->bt_dbp = dbp = (DB *)malloc(sizeof(DB))) == NULL) + if ((t->bt_dbp = dbp = (DB *)calloc(1, sizeof(DB))) == NULL) goto err; - memset(t->bt_dbp, 0, sizeof(DB)); if (t->bt_lorder != machine_lorder) F_SET(t, B_NEEDSWAP); Modified: stable/7/lib/libc/db/btree/bt_split.c ============================================================================== --- stable/7/lib/libc/db/btree/bt_split.c Sat Apr 11 15:19:09 2009 (r190938) +++ stable/7/lib/libc/db/btree/bt_split.c Sat Apr 11 15:19:26 2009 (r190939) @@ -381,13 +381,10 @@ bt_page(t, h, lp, rp, skip, ilen) } /* Put the new left page for the split into place. */ - if ((l = (PAGE *)malloc(t->bt_psize)) == NULL) { + if ((l = (PAGE *)calloc(1, t->bt_psize)) == NULL) { mpool_put(t->bt_mp, r, 0); return (NULL); } -#ifdef PURIFY - memset(l, 0xff, t->bt_psize); -#endif l->pgno = h->pgno; l->nextpg = r->pgno; l->prevpg = h->prevpg; Modified: stable/7/lib/libc/db/hash/hash_buf.c ============================================================================== --- stable/7/lib/libc/db/hash/hash_buf.c Sat Apr 11 15:19:09 2009 (r190938) +++ stable/7/lib/libc/db/hash/hash_buf.c Sat Apr 11 15:19:26 2009 (r190939) @@ -57,6 +57,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #ifdef DEBUG #include @@ -174,18 +175,12 @@ newbuf(hashp, addr, prev_bp) */ if (hashp->nbufs || (bp->flags & BUF_PIN)) { /* Allocate a new one */ - if ((bp = (BUFHEAD *)malloc(sizeof(BUFHEAD))) == NULL) + if ((bp = (BUFHEAD *)calloc(1, sizeof(BUFHEAD))) == NULL) return (NULL); -#ifdef PURIFY - memset(bp, 0xff, sizeof(BUFHEAD)); -#endif - if ((bp->page = (char *)malloc(hashp->BSIZE)) == NULL) { + if ((bp->page = (char *)calloc(1, hashp->BSIZE)) == NULL) { free(bp); return (NULL); } -#ifdef PURIFY - memset(bp->page, 0xff, hashp->BSIZE); -#endif if (hashp->nbufs) hashp->nbufs--; } else { @@ -328,8 +323,10 @@ __buf_free(hashp, do_free, to_disk) } /* Check if we are freeing stuff */ if (do_free) { - if (bp->page) + if (bp->page) { + (void)memset(bp->page, 0, hashp->BSIZE); free(bp->page); + } BUF_REMOVE(bp); free(bp); bp = LRU; Modified: stable/7/lib/libc/db/mpool/mpool.c ============================================================================== --- stable/7/lib/libc/db/mpool/mpool.c Sat Apr 11 15:19:09 2009 (r190938) +++ stable/7/lib/libc/db/mpool/mpool.c Sat Apr 11 15:19:26 2009 (r190939) @@ -343,14 +343,11 @@ mpool_bkt(mp) return (bp); } -new: if ((bp = (BKT *)malloc(sizeof(BKT) + mp->pagesize)) == NULL) +new: if ((bp = (BKT *)calloc(1, sizeof(BKT) + mp->pagesize)) == NULL) return (NULL); #ifdef STATISTICS ++mp->pagealloc; #endif -#if defined(DEBUG) || defined(PURIFY) - memset(bp, 0xff, sizeof(BKT) + mp->pagesize); -#endif bp->page = (char *)bp + sizeof(BKT); ++mp->curcache; return (bp);