svn commit: r218463 - in projects/graid/7: . contrib/bsnmp/snmpd contrib/wpa_supplicant gnu/usr.bin/groff/tmac share/misc sys/geom/raid tools/tools/nanobsd usr.sbin usr.sbin/bsnmpd/modules/snmp_hos...

Alexander Motin mav at FreeBSD.org
Tue Feb 8 22:17:59 UTC 2011


Author: mav
Date: Tue Feb  8 22:17:59 2011
New Revision: 218463
URL: http://svn.freebsd.org/changeset/base/218463

Log:
  MFH r218459

Modified:
  projects/graid/7/sys/geom/raid/g_raid.c
  projects/graid/7/sys/geom/raid/g_raid.h
  projects/graid/7/sys/geom/raid/tr_raid1.c
Directory Properties:
  projects/graid/7/   (props changed)
  projects/graid/7/COPYRIGHT   (props changed)
  projects/graid/7/Makefile   (props changed)
  projects/graid/7/Makefile.inc1   (props changed)
  projects/graid/7/ObsoleteFiles.inc   (props changed)
  projects/graid/7/UPDATING   (props changed)
  projects/graid/7/bin/   (props changed)
  projects/graid/7/bin/chflags/   (props changed)
  projects/graid/7/bin/chio/   (props changed)
  projects/graid/7/bin/cp/   (props changed)
  projects/graid/7/bin/csh/   (props changed)
  projects/graid/7/bin/dd/   (props changed)
  projects/graid/7/bin/df/   (props changed)
  projects/graid/7/bin/echo/   (props changed)
  projects/graid/7/bin/expr/   (props changed)
  projects/graid/7/bin/kill/   (props changed)
  projects/graid/7/bin/ln/   (props changed)
  projects/graid/7/bin/ls/   (props changed)
  projects/graid/7/bin/pax/   (props changed)
  projects/graid/7/bin/ps/   (props changed)
  projects/graid/7/bin/rm/   (props changed)
  projects/graid/7/bin/sh/   (props changed)
  projects/graid/7/bin/test/   (props changed)
  projects/graid/7/cddl/contrib/opensolaris/   (props changed)
  projects/graid/7/cddl/lib/libzpool/   (props changed)
  projects/graid/7/contrib/bind9/   (props changed)
  projects/graid/7/contrib/binutils/   (props changed)
  projects/graid/7/contrib/bsnmp/   (props changed)
  projects/graid/7/contrib/bsnmp/snmpd/bsnmpd.1   (props changed)
  projects/graid/7/contrib/cpio/   (props changed)
  projects/graid/7/contrib/csup/   (props changed)
  projects/graid/7/contrib/expat/   (props changed)
  projects/graid/7/contrib/gcc/   (props changed)
  projects/graid/7/contrib/gdb/   (props changed)
  projects/graid/7/contrib/gdtoa/   (props changed)
  projects/graid/7/contrib/groff/   (props changed)
  projects/graid/7/contrib/ipfilter/   (props changed)
  projects/graid/7/contrib/less/   (props changed)
  projects/graid/7/contrib/libpcap/   (props changed)
  projects/graid/7/contrib/ncurses/   (props changed)
  projects/graid/7/contrib/netcat/   (props changed)
  projects/graid/7/contrib/ntp/   (props changed)
  projects/graid/7/contrib/nvi/   (props changed)
  projects/graid/7/contrib/pf/   (props changed)
  projects/graid/7/contrib/sendmail/   (props changed)
  projects/graid/7/contrib/smbfs/   (props changed)
  projects/graid/7/contrib/tcp_wrappers/   (props changed)
  projects/graid/7/contrib/tcsh/   (props changed)
  projects/graid/7/contrib/telnet/   (props changed)
  projects/graid/7/contrib/top/   (props changed)
  projects/graid/7/contrib/traceroute/   (props changed)
  projects/graid/7/contrib/wpa_supplicant/   (props changed)
  projects/graid/7/contrib/wpa_supplicant/wpa_supplicant.conf   (props changed)
  projects/graid/7/crypto/openssh/   (props changed)
  projects/graid/7/crypto/openssl/   (props changed)
  projects/graid/7/etc/   (props changed)
  projects/graid/7/games/factor/   (props changed)
  projects/graid/7/games/fortune/   (props changed)
  projects/graid/7/games/grdc/   (props changed)
  projects/graid/7/gnu/   (props changed)
  projects/graid/7/gnu/lib/libstdc++/   (props changed)
  projects/graid/7/gnu/usr.bin/   (props changed)
  projects/graid/7/gnu/usr.bin/cc/   (props changed)
  projects/graid/7/gnu/usr.bin/cpio/   (props changed)
  projects/graid/7/gnu/usr.bin/cvs/   (props changed)
  projects/graid/7/gnu/usr.bin/gdb/   (props changed)
  projects/graid/7/gnu/usr.bin/gdb/kgdb/   (props changed)
  projects/graid/7/gnu/usr.bin/grep/   (props changed)
  projects/graid/7/gnu/usr.bin/groff/   (props changed)
  projects/graid/7/gnu/usr.bin/groff/tmac/mdoc.local   (props changed)
  projects/graid/7/gnu/usr.bin/man/   (props changed)
  projects/graid/7/gnu/usr.bin/sort/   (props changed)
  projects/graid/7/include/   (props changed)
  projects/graid/7/kerberos5/   (props changed)
  projects/graid/7/lib/   (props changed)
  projects/graid/7/lib/bind/   (props changed)
  projects/graid/7/lib/csu/   (props changed)
  projects/graid/7/lib/libarchive/   (props changed)
  projects/graid/7/lib/libbluetooth/   (props changed)
  projects/graid/7/lib/libc/   (props changed)
  projects/graid/7/lib/libc/stdtime/   (props changed)
  projects/graid/7/lib/libc_r/   (props changed)
  projects/graid/7/lib/libcam/   (props changed)
  projects/graid/7/lib/libdisk/   (props changed)
  projects/graid/7/lib/libdwarf/   (props changed)
  projects/graid/7/lib/libelf/   (props changed)
  projects/graid/7/lib/libexpat/   (props changed)
  projects/graid/7/lib/libfetch/   (props changed)
  projects/graid/7/lib/libftpio/   (props changed)
  projects/graid/7/lib/libgeom/   (props changed)
  projects/graid/7/lib/libgssapi/   (props changed)
  projects/graid/7/lib/libkse/   (props changed)
  projects/graid/7/lib/libkvm/   (props changed)
  projects/graid/7/lib/libmagic/   (props changed)
  projects/graid/7/lib/libmemstat/   (props changed)
  projects/graid/7/lib/libpmc/   (props changed)
  projects/graid/7/lib/libradius/   (props changed)
  projects/graid/7/lib/libsm/   (props changed)
  projects/graid/7/lib/libstand/   (props changed)
  projects/graid/7/lib/libthr/   (props changed)
  projects/graid/7/lib/libthread_db/   (props changed)
  projects/graid/7/lib/libufs/   (props changed)
  projects/graid/7/lib/libutil/   (props changed)
  projects/graid/7/lib/msun/   (props changed)
  projects/graid/7/libexec/   (props changed)
  projects/graid/7/libexec/ftpd/   (props changed)
  projects/graid/7/libexec/rpc.rquotad/   (props changed)
  projects/graid/7/libexec/rpc.rstatd/   (props changed)
  projects/graid/7/libexec/rtld-elf/   (props changed)
  projects/graid/7/libexec/tftpd/   (props changed)
  projects/graid/7/release/   (props changed)
  projects/graid/7/release/doc/   (props changed)
  projects/graid/7/release/doc/en_US.ISO8859-1/hardware/   (props changed)
  projects/graid/7/release/picobsd/tinyware/login/   (props changed)
  projects/graid/7/rescue/   (props changed)
  projects/graid/7/sbin/   (props changed)
  projects/graid/7/sbin/atacontrol/   (props changed)
  projects/graid/7/sbin/bsdlabel/   (props changed)
  projects/graid/7/sbin/clri/   (props changed)
  projects/graid/7/sbin/ddb/   (props changed)
  projects/graid/7/sbin/devd/   (props changed)
  projects/graid/7/sbin/devfs/   (props changed)
  projects/graid/7/sbin/dhclient/   (props changed)
  projects/graid/7/sbin/dumpfs/   (props changed)
  projects/graid/7/sbin/fdisk/   (props changed)
  projects/graid/7/sbin/fdisk_pc98/   (props changed)
  projects/graid/7/sbin/fsck/   (props changed)
  projects/graid/7/sbin/fsck_ffs/   (props changed)
  projects/graid/7/sbin/fsck_msdosfs/   (props changed)
  projects/graid/7/sbin/geom/   (props changed)
  projects/graid/7/sbin/geom/class/label/   (props changed)
  projects/graid/7/sbin/geom/class/part/   (props changed)
  projects/graid/7/sbin/geom/class/stripe/   (props changed)
  projects/graid/7/sbin/geom/misc/   (props changed)
  projects/graid/7/sbin/growfs/   (props changed)
  projects/graid/7/sbin/ifconfig/   (props changed)
  projects/graid/7/sbin/init/   (props changed)
  projects/graid/7/sbin/ipf/   (props changed)
  projects/graid/7/sbin/ipfw/   (props changed)
  projects/graid/7/sbin/md5/   (props changed)
  projects/graid/7/sbin/mdconfig/   (props changed)
  projects/graid/7/sbin/mksnap_ffs/   (props changed)
  projects/graid/7/sbin/mount/   (props changed)
  projects/graid/7/sbin/mount_msdosfs/   (props changed)
  projects/graid/7/sbin/natd/   (props changed)
  projects/graid/7/sbin/newfs/   (props changed)
  projects/graid/7/sbin/newfs_msdos/   (props changed)
  projects/graid/7/sbin/ping6/   (props changed)
  projects/graid/7/sbin/reboot/   (props changed)
  projects/graid/7/sbin/restore/   (props changed)
  projects/graid/7/sbin/route/   (props changed)
  projects/graid/7/sbin/savecore/   (props changed)
  projects/graid/7/sbin/sconfig/   (props changed)
  projects/graid/7/sbin/shutdown/   (props changed)
  projects/graid/7/sbin/sysctl/   (props changed)
  projects/graid/7/sbin/tunefs/   (props changed)
  projects/graid/7/secure/lib/libcrypto/   (props changed)
  projects/graid/7/secure/lib/libssh/   (props changed)
  projects/graid/7/secure/lib/libssl/   (props changed)
  projects/graid/7/secure/libexec/sftp-server/   (props changed)
  projects/graid/7/secure/usr.bin/bdes/   (props changed)
  projects/graid/7/secure/usr.bin/openssl/   (props changed)
  projects/graid/7/secure/usr.bin/ssh/   (props changed)
  projects/graid/7/secure/usr.sbin/sshd/   (props changed)
  projects/graid/7/share/   (props changed)
  projects/graid/7/share/colldef/   (props changed)
  projects/graid/7/share/dict/   (props changed)
  projects/graid/7/share/doc/bind9/   (props changed)
  projects/graid/7/share/doc/papers/jail/   (props changed)
  projects/graid/7/share/doc/smm/01.setup/   (props changed)
  projects/graid/7/share/examples/   (props changed)
  projects/graid/7/share/man/   (props changed)
  projects/graid/7/share/man/man1/   (props changed)
  projects/graid/7/share/man/man3/   (props changed)
  projects/graid/7/share/man/man4/   (props changed)
  projects/graid/7/share/man/man5/   (props changed)
  projects/graid/7/share/man/man7/   (props changed)
  projects/graid/7/share/man/man8/   (props changed)
  projects/graid/7/share/man/man9/   (props changed)
  projects/graid/7/share/misc/   (props changed)
  projects/graid/7/share/misc/iso639   (props changed)
  projects/graid/7/share/misc/pci_vendors   (props changed)
  projects/graid/7/share/mk/   (props changed)
  projects/graid/7/share/mklocale/   (props changed)
  projects/graid/7/share/monetdef/   (props changed)
  projects/graid/7/share/msgdef/   (props changed)
  projects/graid/7/share/numericdef/   (props changed)
  projects/graid/7/share/sendmail/   (props changed)
  projects/graid/7/share/syscons/   (props changed)
  projects/graid/7/share/syscons/keymaps/   (props changed)
  projects/graid/7/share/termcap/   (props changed)
  projects/graid/7/share/timedef/   (props changed)
  projects/graid/7/share/zoneinfo/   (props changed)
  projects/graid/7/sys/   (props changed)
  projects/graid/7/sys/cddl/contrib/opensolaris/   (props changed)
  projects/graid/7/sys/contrib/dev/acpica/   (props changed)
  projects/graid/7/sys/contrib/pf/   (props changed)
  projects/graid/7/tools/   (props changed)
  projects/graid/7/tools/build/   (props changed)
  projects/graid/7/tools/build/options/   (props changed)
  projects/graid/7/tools/debugscripts/   (props changed)
  projects/graid/7/tools/regression/acct/   (props changed)
  projects/graid/7/tools/regression/atm/   (props changed)
  projects/graid/7/tools/regression/bin/   (props changed)
  projects/graid/7/tools/regression/bin/date/   (props changed)
  projects/graid/7/tools/regression/bin/sh/   (props changed)
  projects/graid/7/tools/regression/file/   (props changed)
  projects/graid/7/tools/regression/file/flock/   (props changed)
  projects/graid/7/tools/regression/lib/libc/   (props changed)
  projects/graid/7/tools/regression/usr.bin/   (props changed)
  projects/graid/7/tools/regression/usr.bin/jot/   (props changed)
  projects/graid/7/tools/regression/usr.bin/tr/   (props changed)
  projects/graid/7/tools/sched/   (props changed)
  projects/graid/7/tools/test/   (props changed)
  projects/graid/7/tools/tools/   (props changed)
  projects/graid/7/tools/tools/aac/   (props changed)
  projects/graid/7/tools/tools/crypto/   (props changed)
  projects/graid/7/tools/tools/editing/   (props changed)
  projects/graid/7/tools/tools/nanobsd/   (props changed)
  projects/graid/7/tools/tools/nanobsd/FlashDevice.sub   (props changed)
  projects/graid/7/tools/tools/nanobsd/nanobsd.sh   (props changed)
  projects/graid/7/tools/tools/netrate/   (props changed)
  projects/graid/7/tools/tools/umastat/   (props changed)
  projects/graid/7/tools/tools/usb/   (props changed)
  projects/graid/7/usr.bin/   (props changed)
  projects/graid/7/usr.bin/basename/   (props changed)
  projects/graid/7/usr.bin/bluetooth/rfcomm_sppd/   (props changed)
  projects/graid/7/usr.bin/calendar/   (props changed)
  projects/graid/7/usr.bin/catman/   (props changed)
  projects/graid/7/usr.bin/cksum/   (props changed)
  projects/graid/7/usr.bin/comm/   (props changed)
  projects/graid/7/usr.bin/cpuset/   (props changed)
  projects/graid/7/usr.bin/csup/   (props changed)
  projects/graid/7/usr.bin/dirname/   (props changed)
  projects/graid/7/usr.bin/du/   (props changed)
  projects/graid/7/usr.bin/fetch/   (props changed)
  projects/graid/7/usr.bin/file/   (props changed)
  projects/graid/7/usr.bin/find/   (props changed)
  projects/graid/7/usr.bin/finger/   (props changed)
  projects/graid/7/usr.bin/fold/   (props changed)
  projects/graid/7/usr.bin/fstat/   (props changed)
  projects/graid/7/usr.bin/gcore/   (props changed)
  projects/graid/7/usr.bin/gprof/   (props changed)
  projects/graid/7/usr.bin/gzip/   (props changed)
  projects/graid/7/usr.bin/hexdump/   (props changed)
  projects/graid/7/usr.bin/id/   (props changed)
  projects/graid/7/usr.bin/indent/   (props changed)
  projects/graid/7/usr.bin/ipcrm/   (props changed)
  projects/graid/7/usr.bin/ipcs/   (props changed)
  projects/graid/7/usr.bin/jot/   (props changed)
  projects/graid/7/usr.bin/kdump/   (props changed)
  projects/graid/7/usr.bin/ktrace/   (props changed)
  projects/graid/7/usr.bin/ldd/   (props changed)
  projects/graid/7/usr.bin/less/   (props changed)
  projects/graid/7/usr.bin/locate/   (props changed)
  projects/graid/7/usr.bin/lockf/   (props changed)
  projects/graid/7/usr.bin/logger/   (props changed)
  projects/graid/7/usr.bin/make/   (props changed)
  projects/graid/7/usr.bin/ncal/   (props changed)
  projects/graid/7/usr.bin/netstat/   (props changed)
  projects/graid/7/usr.bin/newgrp/   (props changed)
  projects/graid/7/usr.bin/nsupdate/   (props changed)
  projects/graid/7/usr.bin/pkill/   (props changed)
  projects/graid/7/usr.bin/procstat/   (props changed)
  projects/graid/7/usr.bin/quota/   (props changed)
  projects/graid/7/usr.bin/rpcgen/   (props changed)
  projects/graid/7/usr.bin/ruptime/   (props changed)
  projects/graid/7/usr.bin/script/   (props changed)
  projects/graid/7/usr.bin/sed/   (props changed)
  projects/graid/7/usr.bin/shar/   (props changed)
  projects/graid/7/usr.bin/sockstat/   (props changed)
  projects/graid/7/usr.bin/stat/   (props changed)
  projects/graid/7/usr.bin/su/   (props changed)
  projects/graid/7/usr.bin/systat/   (props changed)
  projects/graid/7/usr.bin/tail/   (props changed)
  projects/graid/7/usr.bin/tar/   (props changed)
  projects/graid/7/usr.bin/tftp/   (props changed)
  projects/graid/7/usr.bin/tip/   (props changed)
  projects/graid/7/usr.bin/top/   (props changed)
  projects/graid/7/usr.bin/truncate/   (props changed)
  projects/graid/7/usr.bin/truss/   (props changed)
  projects/graid/7/usr.bin/uname/   (props changed)
  projects/graid/7/usr.bin/unifdef/   (props changed)
  projects/graid/7/usr.bin/units/   (props changed)
  projects/graid/7/usr.bin/uudecode/   (props changed)
  projects/graid/7/usr.bin/vmstat/   (props changed)
  projects/graid/7/usr.bin/w/   (props changed)
  projects/graid/7/usr.bin/wc/   (props changed)
  projects/graid/7/usr.bin/whereis/   (props changed)
  projects/graid/7/usr.bin/whois/   (props changed)
  projects/graid/7/usr.bin/window/   (props changed)
  projects/graid/7/usr.bin/xargs/   (props changed)
  projects/graid/7/usr.bin/ypcat/   (props changed)
  projects/graid/7/usr.bin/ypmatch/   (props changed)
  projects/graid/7/usr.bin/ypwhich/   (props changed)
  projects/graid/7/usr.sbin/   (props changed)
  projects/graid/7/usr.sbin/Makefile   (props changed)
  projects/graid/7/usr.sbin/acpi/   (props changed)
  projects/graid/7/usr.sbin/adduser/   (props changed)
  projects/graid/7/usr.sbin/arp/   (props changed)
  projects/graid/7/usr.sbin/bluetooth/   (props changed)
  projects/graid/7/usr.sbin/bluetooth/btpand/   (props changed)
  projects/graid/7/usr.sbin/bluetooth/hcsecd/   (props changed)
  projects/graid/7/usr.sbin/bluetooth/hcseriald/   (props changed)
  projects/graid/7/usr.sbin/bluetooth/rfcomm_pppd/   (props changed)
  projects/graid/7/usr.sbin/bluetooth/sdpd/   (props changed)
  projects/graid/7/usr.sbin/boot0cfg/   (props changed)
  projects/graid/7/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_processor_tbl.c   (props changed)
  projects/graid/7/usr.sbin/bsnmpd/modules/snmp_pf/   (props changed)
  projects/graid/7/usr.sbin/burncd/   (props changed)
  projects/graid/7/usr.sbin/cdcontrol/   (props changed)
  projects/graid/7/usr.sbin/chown/   (props changed)
  projects/graid/7/usr.sbin/chroot/   (props changed)
  projects/graid/7/usr.sbin/config/   (props changed)
  projects/graid/7/usr.sbin/config/SMM.doc/   (props changed)
  projects/graid/7/usr.sbin/cpucontrol/   (props changed)
  projects/graid/7/usr.sbin/crashinfo/   (props changed)
  projects/graid/7/usr.sbin/cron/   (props changed)
  projects/graid/7/usr.sbin/cron/cron/   (props changed)
  projects/graid/7/usr.sbin/crunch/   (props changed)
  projects/graid/7/usr.sbin/cxgbtool/   (props changed)
  projects/graid/7/usr.sbin/eeprom/   (props changed)
  projects/graid/7/usr.sbin/extattr/   (props changed)
  projects/graid/7/usr.sbin/faithd/   (props changed)
  projects/graid/7/usr.sbin/fdcontrol/   (props changed)
  projects/graid/7/usr.sbin/fdformat/   (props changed)
  projects/graid/7/usr.sbin/fdread/   (props changed)
  projects/graid/7/usr.sbin/fdwrite/   (props changed)
  projects/graid/7/usr.sbin/fifolog/   (props changed)
  projects/graid/7/usr.sbin/freebsd-update/   (props changed)
  projects/graid/7/usr.sbin/fwcontrol/   (props changed)
  projects/graid/7/usr.sbin/gstat/   (props changed)
  projects/graid/7/usr.sbin/iostat/   (props changed)
  projects/graid/7/usr.sbin/jail/   (props changed)
  projects/graid/7/usr.sbin/jexec/   (props changed)
  projects/graid/7/usr.sbin/jls/   (props changed)
  projects/graid/7/usr.sbin/lpr/   (props changed)
  projects/graid/7/usr.sbin/mailwrapper/   (props changed)
  projects/graid/7/usr.sbin/makefs/   (props changed)
  projects/graid/7/usr.sbin/makefs/ffs/ffs_bswap.c   (props changed)
  projects/graid/7/usr.sbin/makefs/ffs/ffs_subr.c   (props changed)
  projects/graid/7/usr.sbin/makefs/ffs/ufs_bswap.h   (props changed)
  projects/graid/7/usr.sbin/makefs/getid.c   (props changed)
  projects/graid/7/usr.sbin/mergemaster/   (props changed)
  projects/graid/7/usr.sbin/mfiutil/   (props changed)
  projects/graid/7/usr.sbin/mountd/   (props changed)
  projects/graid/7/usr.sbin/mptutil/   (props changed)
  projects/graid/7/usr.sbin/mtree/   (props changed)
  projects/graid/7/usr.sbin/ndiscvt/   (props changed)
  projects/graid/7/usr.sbin/ndp/   (props changed)
  projects/graid/7/usr.sbin/newsyslog/   (props changed)
  projects/graid/7/usr.sbin/nscd/   (props changed)
  projects/graid/7/usr.sbin/ntp/   (props changed)
  projects/graid/7/usr.sbin/pciconf/   (props changed)
  projects/graid/7/usr.sbin/pkg_install/   (props changed)
  projects/graid/7/usr.sbin/pmccontrol/   (props changed)
  projects/graid/7/usr.sbin/pmcstat/   (props changed)
  projects/graid/7/usr.sbin/portsnap/   (props changed)
  projects/graid/7/usr.sbin/powerd/   (props changed)
  projects/graid/7/usr.sbin/ppp/   (props changed)
  projects/graid/7/usr.sbin/pstat/   (props changed)
  projects/graid/7/usr.sbin/pw/   (props changed)
  projects/graid/7/usr.sbin/pwd_mkdb/   (props changed)
  projects/graid/7/usr.sbin/rpc.lockd/   (props changed)
  projects/graid/7/usr.sbin/rpc.statd/   (props changed)
  projects/graid/7/usr.sbin/rpc.yppasswdd/   (props changed)
  projects/graid/7/usr.sbin/rtadvd/   (props changed)
  projects/graid/7/usr.sbin/rtsold/   (props changed)
  projects/graid/7/usr.sbin/sade/   (props changed)
  projects/graid/7/usr.sbin/service/   (props changed)
  projects/graid/7/usr.sbin/setfib/   (props changed)
  projects/graid/7/usr.sbin/sysinstall/   (props changed)
  projects/graid/7/usr.sbin/syslogd/   (props changed)
  projects/graid/7/usr.sbin/traceroute/   (props changed)
  projects/graid/7/usr.sbin/traceroute6/   (props changed)
  projects/graid/7/usr.sbin/tzsetup/   (props changed)
  projects/graid/7/usr.sbin/ugidfw/   (props changed)
  projects/graid/7/usr.sbin/wpa/wpa_supplicant/   (props changed)
  projects/graid/7/usr.sbin/ypserv/   (props changed)
  projects/graid/7/usr.sbin/zic/   (props changed)

Modified: projects/graid/7/sys/geom/raid/g_raid.c
==============================================================================
--- projects/graid/7/sys/geom/raid/g_raid.c	Tue Feb  8 22:16:32 2011	(r218462)
+++ projects/graid/7/sys/geom/raid/g_raid.c	Tue Feb  8 22:17:59 2011	(r218463)
@@ -1000,7 +1000,8 @@ g_raid_iodone(struct bio *bp, int error)
 }
 
 int
-g_raid_lock_range(struct g_raid_volume *vol, off_t off, off_t len, void *argp)
+g_raid_lock_range(struct g_raid_volume *vol, off_t off, off_t len,
+    struct bio *ignore, void *argp)
 {
 	struct g_raid_softc *sc;
 	struct g_raid_lock *lp;
@@ -1015,7 +1016,7 @@ g_raid_lock_range(struct g_raid_volume *
 
 	lp->l_pending = 0;
 	TAILQ_FOREACH(bp, &vol->v_inflight.queue, bio_queue) {
-		if (g_raid_bio_overlaps(bp, off, len))
+		if (bp != ignore && g_raid_bio_overlaps(bp, off, len))
 			lp->l_pending++;
 	}	
 

Modified: projects/graid/7/sys/geom/raid/g_raid.h
==============================================================================
--- projects/graid/7/sys/geom/raid/g_raid.h	Tue Feb  8 22:16:32 2011	(r218462)
+++ projects/graid/7/sys/geom/raid/g_raid.h	Tue Feb  8 22:17:59 2011	(r218463)
@@ -377,7 +377,8 @@ struct g_raid_subdisk * g_raid_get_subdi
 #define	G_RAID_DESTROY_HARD		2
 int g_raid_destroy(struct g_raid_softc *sc, int how);
 int g_raid_event_send(void *arg, int event, int flags);
-int g_raid_lock_range(struct g_raid_volume *vol, off_t off, off_t len, void *argp);
+int g_raid_lock_range(struct g_raid_volume *vol, off_t off, off_t len,
+    struct bio *ignore, void *argp);
 int g_raid_unlock_range(struct g_raid_volume *vol, off_t off, off_t len);
 
 g_ctl_req_t g_raid_ctl;

Modified: projects/graid/7/sys/geom/raid/tr_raid1.c
==============================================================================
--- projects/graid/7/sys/geom/raid/tr_raid1.c	Tue Feb  8 22:16:32 2011	(r218462)
+++ projects/graid/7/sys/geom/raid/tr_raid1.c	Tue Feb  8 22:17:59 2011	(r218463)
@@ -255,7 +255,7 @@ g_raid_tr_raid1_rebuild_some(struct g_ra
 	trs->trso_flags |= TR_RAID1_F_DOING_SOME;
 	trs->trso_flags |= TR_RAID1_F_LOCKED;
 	g_raid_lock_range(sd->sd_volume,	/* Lock callback starts I/O */
-	   bp->bio_offset, bp->bio_length, bp);
+	   bp->bio_offset, bp->bio_length, NULL, bp);
 }
 
 static void
@@ -737,7 +737,7 @@ g_raid_tr_iodone_raid1(struct g_raid_tr_
 				/* Lock callback starts I/O */
 				trs->trso_flags |= TR_RAID1_F_LOCKED;
 				g_raid_lock_range(sd->sd_volume,
-				    bp->bio_offset, bp->bio_length, bp);
+				    bp->bio_offset, bp->bio_length, NULL, bp);
 			}
 		} else if (trs->trso_type == TR_RAID1_RESYNC) {
 			/*
@@ -749,8 +749,8 @@ g_raid_tr_iodone_raid1(struct g_raid_tr_
 		}
 		return;
 	}
-	if (bp->bio_error != 0 && bp->bio_cmd == BIO_READ &&
-	    pbp->bio_children == 1 && bp->bio_cflags == 0) {
+	pbp->bio_inbed++;
+	if (bp->bio_cmd == BIO_READ && bp->bio_error != 0) {
 		/*
 		 * Read failed on first drive.  Retry the read error on
 		 * another disk drive, if available, before erroring out the
@@ -758,9 +758,9 @@ g_raid_tr_iodone_raid1(struct g_raid_tr_
 		 */
 		vol = tr->tro_volume;
 		sd->sd_read_errs++;
-		G_RAID_LOGREQ(3, bp,
-		    "Read failure, attempting recovery. %d total read errs",
-		    sd->sd_read_errs);
+		G_RAID_LOGREQ(0, bp,
+		    "Read error (%d), %d read errors total",
+		    bp->bio_error, sd->sd_read_errs);
 
 		/*
 		 * If there are too many read errors, we move to degraded.
@@ -768,13 +768,18 @@ g_raid_tr_iodone_raid1(struct g_raid_tr_
 		 * everything to get it back in sync), or just degrade the
 		 * drive, which kicks off a resync?
 		 */
-		if (sd->sd_read_errs > g_raid1_read_err_thresh)
+		if (sd->sd_read_errs > g_raid1_read_err_thresh) {
 			g_raid_fail_disk(sd->sd_softc, sd, sd->sd_disk);
+			if (pbp->bio_children == 1)
+				goto remapdone;
+		}
 
 		/*
 		 * Find the other disk, and try to do the I/O to it.
 		 */
 		for (nsd = NULL, i = 0; i < vol->v_disks_count; i++) {
+			if (pbp->bio_children > 1)
+				break;
 			nsd = &vol->v_subdisks[i];
 			if (sd == nsd)
 				continue;
@@ -784,8 +789,12 @@ g_raid_tr_iodone_raid1(struct g_raid_tr_
 			if (cbp == NULL)
 				break;
 			G_RAID_LOGREQ(2, cbp, "Retrying read");
-			g_raid_subdisk_iostart(nsd, cbp);
-			pbp->bio_inbed++;
+			pbp->bio_driver1 = sd; /* Save original subdisk. */
+			cbp->bio_caller1 = nsd;
+			cbp->bio_cflags = G_RAID_BIO_FLAG_REMAP;
+			/* Lock callback starts I/O */
+			g_raid_lock_range(sd->sd_volume,
+			    cbp->bio_offset, cbp->bio_length, pbp, cbp);
 			return;
 		}
 		/*
@@ -796,9 +805,8 @@ g_raid_tr_iodone_raid1(struct g_raid_tr_
 		 */
 		G_RAID_LOGREQ(2, bp, "Couldn't retry read, failing it");
 	}
-	pbp->bio_inbed++;
-	if (pbp->bio_cmd == BIO_READ && pbp->bio_children == 2 &&
-	    bp->bio_cflags == 0) {
+	if (bp->bio_cmd == BIO_READ && bp->bio_error == 0 &&
+	    pbp->bio_children > 1) {
 		/*
 		 * If it was a read, and bio_children is 2, then we just
 		 * recovered the data from the second drive.  We should try to
@@ -813,17 +821,15 @@ g_raid_tr_iodone_raid1(struct g_raid_tr_
 		G_RAID_LOGREQ(3, bp, "Recovered data from other drive");
 		cbp = g_clone_bio(pbp);
 		if (cbp != NULL) {
-			nsd = bp->bio_caller1;
 			cbp->bio_cmd = BIO_WRITE;
 			cbp->bio_cflags = G_RAID_BIO_FLAG_REMAP;
-			cbp->bio_caller1 = nsd;
-			G_RAID_LOGREQ(3, bp,
+			G_RAID_LOGREQ(3, cbp,
 			    "Attempting bad sector remap on failing drive.");
-			/* Lock callback starts I/O */
-			g_raid_lock_range(sd->sd_volume,
-			    cbp->bio_offset, cbp->bio_length, cbp);
+			g_raid_subdisk_iostart(pbp->bio_driver1, cbp);
+			return;
 		}
 	}
+remapdone:
 	if (bp->bio_cflags & G_RAID_BIO_FLAG_REMAP) {
 		/*
 		 * We're done with a remap write, mark the range as unlocked.
@@ -834,14 +840,15 @@ g_raid_tr_iodone_raid1(struct g_raid_tr_
 		 * it now.  However, we need to reset error to 0 in that case
 		 * because we're not failing the original I/O which succeeded.
 		 */
-		G_RAID_LOGREQ(2, bp, "REMAP done %d.", bp->bio_error);
-		g_raid_unlock_range(sd->sd_volume, bp->bio_offset,
-		    bp->bio_length);
-		if (bp->bio_error) {
-			G_RAID_LOGREQ(3, bp, "Error on remap: mark subdisk bad.");
+		if (pbp->bio_cmd == BIO_WRITE && bp->bio_error) {
+			G_RAID_LOGREQ(0, bp, "Remap write failed: "
+			    "failing subdisk.");
 			g_raid_fail_disk(sd->sd_softc, sd, sd->sd_disk);
 			bp->bio_error = 0;
 		}
+		G_RAID_LOGREQ(2, bp, "REMAP done %d.", bp->bio_error);
+		g_raid_unlock_range(sd->sd_volume, bp->bio_offset,
+		    bp->bio_length);
 	}
 	error = bp->bio_error;
 	g_destroy_bio(bp);


More information about the svn-src-projects mailing list