ƒ» 213000 119 138 161 467 126 248 311 244 500 152 415 246 114 115 253 632 632 311 311 148 148 498 498 271 496 496 386 386 460 793 150 236 236 225 209 190 158 2642 2642 2633 2633 445 445 286 208 567 223 223 276 224 10580 830 288 705 206 553 159 164 174 286 172 225 610 172 167 132 135 152 292 159 143 166 129 135 135 255 150 140 645 122 343 243 471 343 169 181 288 166 262 164 747 365 237 160 159 168 168 233 616 264 134 228 319 463 395 131 275 284 172 172 841 841 239 239 204 204 194 194 989 989 K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-09-22T16:48:24.928404Z K 7 svn:log V 42 Fix build breakage introduced in r212972. END K 10 svn:author V 7 sunpoet K 8 svn:date V 27 2010-09-22T16:54:22.624385Z K 7 svn:log V 65 Add myself as a ports committer Approved by: pgollucci (mentor) END K 10 svn:author V 6 rpaulo K 8 svn:date V 27 2010-09-22T18:00:34.955190Z K 7 svn:log V 371 MFC r197804 (rwatson): Add basename_r(3) to complement basename(3). basename_r(3) which accepts a caller-allocated buffer of at least MAXPATHLEN, rather than using a global buffer. Note about semantics: while this interface is not POSIXy, there's another major platform that uses it (Android) and the semantics between the two platforms are pretty much the same. END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-22T18:38:02.525584Z K 7 svn:log V 34 Sort includes. MFC after: 3 days END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-22T18:39:43.519444Z K 7 svn:log V 155 If we are unable to receive control message is most likely because the main process died. Instead of entering infinite loop, terminate. MFC after: 3 days END K 10 svn:author V 5 dougb K 8 svn:date V 27 2010-09-22T18:46:17.725125Z K 7 svn:log V 216 Eliminate the --disable-ipv6 string which while technically correct in terms of the arguments that configure was called with is misleading because if IPv6 support is present on the system it will be present in BIND. END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-22T18:57:06.016151Z K 7 svn:log V 151 Fix descriptor leaks: when child exits, we have to close control and event socket pairs. We did that only in one case out of three. MFC after: 3 days END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-22T19:03:11.441825Z K 7 svn:log V 407 Fix possible deadlock where worker process sends an event to the main process while the main process sends control message to the worker process, but worker process hasn't started control thread yet, because it waits for reply from the main process. The fix is to start the control thread before sending any events. Reported and fix suggested by: Mikolaj Golub MFC after: 3 days END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-22T19:05:54.724400Z K 7 svn:log V 60 Assert that descriptor numbers are sane. MFC after: 3 days END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-22T19:08:11.402698Z K 7 svn:log V 322 Switch to sigprocmask(2) API also in the main process and secondary process. This way the primary process inherits signal mask from the main process, which fixes a race where signal is delivered to the primary process before configuring signal mask. Reported by: Mikolaj Golub MFC after: 3 days END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-22T19:08:17.451813Z K 7 svn:log V 149 Returns with correct buffer length for a single page case. In the previous there was no way to check the boundary because the length was always -1. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-22T19:12:22.648108Z K 7 svn:log V 18 Adds a assertion. END K 10 svn:author V 6 emaste K 8 svn:date V 27 2010-09-22T19:26:41.171555Z K 7 svn:log V 20 Correct sort order. END K 10 svn:author V 6 emaste K 8 svn:date V 27 2010-09-22T19:41:01.770247Z K 7 svn:log V 157 Move test for zero bufp or size before rseq and wseq calculation. This avoids spinning in an infinite loop for some (possibly corrupt?) core files at work. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-22T19:55:37.635434Z K 7 svn:log V 536 MFC: r212663 - Update the comment in swi_vm() regarding busdma bounce buffers; it's unlikely that support for these ever will be implemented on sparc64 as the IOMMUs are able to translate to up to the maximum physical address supported by the respective machine, bypassing the IOMMU is affected by hardware errata and being able to support DMA engines which cannot do at least 32-bit DMA does not justify the costs. - The page zeroing in uma_small_alloc() may use the VIS-based block zero function so take advantage of it. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-22T19:55:40.445274Z K 7 svn:log V 536 MFC: r212663 - Update the comment in swi_vm() regarding busdma bounce buffers; it's unlikely that support for these ever will be implemented on sparc64 as the IOMMUs are able to translate to up to the maximum physical address supported by the respective machine, bypassing the IOMMU is affected by hardware errata and being able to support DMA engines which cannot do at least 32-bit DMA does not justify the costs. - The page zeroing in uma_small_alloc() may use the VIS-based block zero function so take advantage of it. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-22T19:59:11.497090Z K 7 svn:log V 215 MFC: r212676 Sync with other platforms: - make dflt_lock() always panic, - add kludge to use contigmalloc() when the alignment is larger than the size and print a diagnostic when we didn't satisfy the alignment. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-22T19:59:11.819198Z K 7 svn:log V 215 MFC: r212676 Sync with other platforms: - make dflt_lock() always panic, - add kludge to use contigmalloc() when the alignment is larger than the size and print a diagnostic when we didn't satisfy the alignment. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-22T20:01:33.045538Z K 7 svn:log V 53 MFC: r212705 Add macros for alternate entry points. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-22T20:01:35.427441Z K 7 svn:log V 53 MFC: r212705 Add macros for alternate entry points. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-22T20:03:59.914058Z K 7 svn:log V 402 MFC: rr212709, r212730 Add a VIS-based block copy function for SPARC64 V and later, which additionally takes advantage of the prefetch cache of these CPUs. Unlike the uncommitted US-III version, which provide no measurable speedup or even resulted in a slight slowdown on certain CPUs models compared to using the US-I version with these, the SPARC64 version actually results in a slight improvement. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-22T20:04:03.989462Z K 7 svn:log V 402 MFC: rr212709, r212730 Add a VIS-based block copy function for SPARC64 V and later, which additionally takes advantage of the prefetch cache of these CPUs. Unlike the uncommitted US-III version, which provide no measurable speedup or even resulted in a slight slowdown on certain CPUs models compared to using the US-I version with these, the SPARC64 version actually results in a slight improvement. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-22T20:07:02.921564Z K 7 svn:log V 174 Calculates the remained buffer if pc->ismultiseg == 1. According to the current implementation the last segment should be handled carefully because its position could vary. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-22T20:15:34.854791Z K 7 svn:log V 400 MFC: r212725 Merge r207585 (MFC'ed to stable/8 in r208086) from cas(4): - Don't probe for PHYs if we already know to use a SERDES. Unlike as with cas(4) this only serves to speed up the the device attach though and can only be determined via the OFW device tree but not from the VPD. - Don't touch the MIF when using a SERDES. - Add some missing bus space barriers, mainly in the PCS code path. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-22T20:15:38.110444Z K 7 svn:log V 400 MFC: r212725 Merge r207585 (MFC'ed to stable/7 in r208087) from cas(4): - Don't probe for PHYs if we already know to use a SERDES. Unlike as with cas(4) this only serves to speed up the the device attach though and can only be determined via the OFW device tree but not from the VPD. - Don't touch the MIF when using a SERDES. - Add some missing bus space barriers, mainly in the PCS code path. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-22T20:17:33.233312Z K 7 svn:log V 290 MFC: r212729 Merge from powerpc: - Change putc_func_t to use a char instead of an int for the character. - Make functions and variables not used outside of this source file static. - Remove unused prototypes and variables. - The OFW read and seek methods take 3 and not 4 input arguments. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-22T20:17:34.899564Z K 7 svn:log V 290 MFC: r212729 Merge from powerpc: - Change putc_func_t to use a char instead of an int for the character. - Make functions and variables not used outside of this source file static. - Remove unused prototypes and variables. - The OFW read and seek methods take 3 and not 4 input arguments. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-22T20:27:59.124775Z K 7 svn:log V 364 MFC: r173852 Add the -W options, which acts the same as -w but will generate unique names based on the submitted filename, a strftime(3) format string and a two digit sequence number. By default the strftime(3) format string is %Y%m%d (YYYYMMDD), but this can be changed by the -F option. PR: bin/106049 (based on patch in that PR) Approved by: grog@ (mentor) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2010-09-22T21:02:43.094970Z K 7 svn:log V 700 - Expand scope of tun/tap softc locks to cover more softc fields and driver-maintained ifnet fields (such as if_drv_flags). - Use soft locks as the mutex that protects each interface's knote list rather than using the global knote list lock. Also, use the softc for kn_hook instead of the cdev. - Use mtx_sleep() instead of tsleep() when blocking in the read routines. This fixes a lost wakeup race. - Remove D_NEEDGIANT now that the cdevsw routines use the softc lock where locking is needed. - Lock IFQ when calculating the result for FIONREAD in tap(4). tun(4) already did this. - Remove remaining spl calls. Submitted by: Marcin Cieslak saper of saper|info (3) MFC after: 2 weeks END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-22T21:02:51.611612Z K 7 svn:log V 55 MFC: r173854 Add "with" to make the line go smoother. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-22T21:06:41.491015Z K 7 svn:log V 140 MFC: r205076 (partial) Fix several typos in macros or macro misusage. Found by: make manlint Reviewed by: ru Approved by: philip (mentor) END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-22T21:06:43.668184Z K 7 svn:log V 140 MFC: r205076 (partial) Fix several typos in macros or macro misusage. Found by: make manlint Reviewed by: ru Approved by: philip (mentor) END K 10 svn:author V 5 edwin K 8 svn:date V 27 2010-09-22T21:10:45.990809Z K 7 svn:log V 130 Fix location of the Battle of the Plains of Abraham PR: 150504 Submitted by: Douglas Berry MFC after: 1 week END K 10 svn:author V 5 edwin K 8 svn:date V 27 2010-09-22T21:14:18.907194Z K 7 svn:log V 114 And now the 2nd part of the patch: Also fix the year. PR: 150504 Submitted by: Douglas Berry END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-22T21:43:48.797231Z K 7 svn:log V 95 MFC: r183857 Use strlcpy() instead of strncpy() when we want the string to be NUL-terminated. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-22T21:44:55.383612Z K 7 svn:log V 63 MFC: r183858 ANSIfy, plus constify interfaces where possible. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-22T21:54:13.852866Z K 7 svn:log V 2545 MFC: r207607, r207621, r209112, r209550, r209551 Go ahead and merge the work edwin@ on tftpd into the tree. It is a lot better than what's in the tree now. Edwin tested it at a prior employer, but can't test it today. I've found that it works a lot better with the various uboot versions that I've used in my embedded work. Here's the pkg-descr from the port that describes the changes: It all started when we got some new routers, which told me the following when trying to upload configuration or download images from it: The TFTP server doesn't support the blocksize option. My curiousity was triggered, it took me some reading of RFCs and other documentation to find out what was possible and what could be done. Was plain TFTP very simple in its handshake, TFTP with options was kind of messy because of its backwards capability: The first packet returned could either be an acknowledgement of options, or the first data packet. Going through the source code of src/libexec/tftpd and going through the code of src/usr.bin/tftp showed that there was a lot of duplicate code, and the addition of options would only increase the amount of duplicate code. After all, both the client and the server can act as a sender and receiver. At the end, it ended up with a nearly complete rewrite of the tftp client and server. It has been tested against the following TFTP clients and servers: - Itself (yay!) - The standard FreeBSD tftp client and server - The Fedora Core 6 tftp client and server - Cisco router tftp client - Extreme Networks tftp client It supports the following RFCs: RFC1350 - THE TFTP PROTOCOL (REVISION 2) RFC2347 - TFTP Option Extension RFC2348 - TFTP Blocksize Option RFC2349 - TFTP Timeout Interval and Transfer Size Options RFC3617 - Uniform Resource Identifier (URI) Scheme and Applicability Statement for the Trivial File Transfer Protocol (TFTP) It supports the following unofficial TFTP Options as described at http://www.compuphase.com/tftp.htm: blksize2 - Block size restricted to powers of 2, excluding protocol headers rollover - Block counter roll-over (roll back to zero or to one) From the tftp program point of view the following things are changed: - New commands: "blocksize", "blocksize2", "rollover" and "options" - Development features: "debug" and "packetdrop" If you try this tftp/tftpd implementation, please let me know if it works (or doesn't work) and against which implementaion so I can get a list of confirmed working systems. Author: Edwin Groothuis END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-22T21:54:16.066002Z K 7 svn:log V 2545 MFC: r207607, r207621, r209112, r209550, r209551 Go ahead and merge the work edwin@ on tftpd into the tree. It is a lot better than what's in the tree now. Edwin tested it at a prior employer, but can't test it today. I've found that it works a lot better with the various uboot versions that I've used in my embedded work. Here's the pkg-descr from the port that describes the changes: It all started when we got some new routers, which told me the following when trying to upload configuration or download images from it: The TFTP server doesn't support the blocksize option. My curiousity was triggered, it took me some reading of RFCs and other documentation to find out what was possible and what could be done. Was plain TFTP very simple in its handshake, TFTP with options was kind of messy because of its backwards capability: The first packet returned could either be an acknowledgement of options, or the first data packet. Going through the source code of src/libexec/tftpd and going through the code of src/usr.bin/tftp showed that there was a lot of duplicate code, and the addition of options would only increase the amount of duplicate code. After all, both the client and the server can act as a sender and receiver. At the end, it ended up with a nearly complete rewrite of the tftp client and server. It has been tested against the following TFTP clients and servers: - Itself (yay!) - The standard FreeBSD tftp client and server - The Fedora Core 6 tftp client and server - Cisco router tftp client - Extreme Networks tftp client It supports the following RFCs: RFC1350 - THE TFTP PROTOCOL (REVISION 2) RFC2347 - TFTP Option Extension RFC2348 - TFTP Blocksize Option RFC2349 - TFTP Timeout Interval and Transfer Size Options RFC3617 - Uniform Resource Identifier (URI) Scheme and Applicability Statement for the Trivial File Transfer Protocol (TFTP) It supports the following unofficial TFTP Options as described at http://www.compuphase.com/tftp.htm: blksize2 - Block size restricted to powers of 2, excluding protocol headers rollover - Block counter roll-over (roll back to zero or to one) From the tftp program point of view the following things are changed: - New commands: "blocksize", "blocksize2", "rollover" and "options" - Development features: "debug" and "packetdrop" If you try this tftp/tftpd implementation, please let me know if it works (or doesn't work) and against which implementaion so I can get a list of confirmed working systems. Author: Edwin Groothuis END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-22T21:54:30.102340Z K 7 svn:log V 2536 MFC: r207608, r207614, r212651, r212665 Go ahead and merge the work edwin@ on tftpd into the tree. It is a lot better than what's in the tree now. Edwin tested it at a prior employer, but can't test it today. I've found that it works a lot better with the various uboot versions that I've used in my embedded work. Here's the pkg-descr from the port that describes the changes: It all started when we got some new routers, which told me the following when trying to upload configuration or download images from it: The TFTP server doesn't support the blocksize option. My curiousity was triggered, it took me some reading of RFCs and other documentation to find out what was possible and what could be done. Was plain TFTP very simple in its handshake, TFTP with options was kind of messy because of its backwards capability: The first packet returned could either be an acknowledgement of options, or the first data packet. Going through the source code of src/libexec/tftpd and going through the code of src/usr.bin/tftp showed that there was a lot of duplicate code, and the addition of options would only increase the amount of duplicate code. After all, both the client and the server can act as a sender and receiver. At the end, it ended up with a nearly complete rewrite of the tftp client and server. It has been tested against the following TFTP clients and servers: - Itself (yay!) - The standard FreeBSD tftp client and server - The Fedora Core 6 tftp client and server - Cisco router tftp client - Extreme Networks tftp client It supports the following RFCs: RFC1350 - THE TFTP PROTOCOL (REVISION 2) RFC2347 - TFTP Option Extension RFC2348 - TFTP Blocksize Option RFC2349 - TFTP Timeout Interval and Transfer Size Options RFC3617 - Uniform Resource Identifier (URI) Scheme and Applicability Statement for the Trivial File Transfer Protocol (TFTP) It supports the following unofficial TFTP Options as described at http://www.compuphase.com/tftp.htm: blksize2 - Block size restricted to powers of 2, excluding protocol headers rollover - Block counter roll-over (roll back to zero or to one) From the tftp program point of view the following things are changed: - New commands: "blocksize", "blocksize2", "rollover" and "options" - Development features: "debug" and "packetdrop" If you try this tftp/tftpd implementation, please let me know if it works (or doesn't work) and against which implementaion so I can get a list of confirmed working systems. Author: Edwin Groothuis END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-22T21:54:34.123915Z K 7 svn:log V 2536 MFC: r207608, r207614, r212651, r212665 Go ahead and merge the work edwin@ on tftpd into the tree. It is a lot better than what's in the tree now. Edwin tested it at a prior employer, but can't test it today. I've found that it works a lot better with the various uboot versions that I've used in my embedded work. Here's the pkg-descr from the port that describes the changes: It all started when we got some new routers, which told me the following when trying to upload configuration or download images from it: The TFTP server doesn't support the blocksize option. My curiousity was triggered, it took me some reading of RFCs and other documentation to find out what was possible and what could be done. Was plain TFTP very simple in its handshake, TFTP with options was kind of messy because of its backwards capability: The first packet returned could either be an acknowledgement of options, or the first data packet. Going through the source code of src/libexec/tftpd and going through the code of src/usr.bin/tftp showed that there was a lot of duplicate code, and the addition of options would only increase the amount of duplicate code. After all, both the client and the server can act as a sender and receiver. At the end, it ended up with a nearly complete rewrite of the tftp client and server. It has been tested against the following TFTP clients and servers: - Itself (yay!) - The standard FreeBSD tftp client and server - The Fedora Core 6 tftp client and server - Cisco router tftp client - Extreme Networks tftp client It supports the following RFCs: RFC1350 - THE TFTP PROTOCOL (REVISION 2) RFC2347 - TFTP Option Extension RFC2348 - TFTP Blocksize Option RFC2349 - TFTP Timeout Interval and Transfer Size Options RFC3617 - Uniform Resource Identifier (URI) Scheme and Applicability Statement for the Trivial File Transfer Protocol (TFTP) It supports the following unofficial TFTP Options as described at http://www.compuphase.com/tftp.htm: blksize2 - Block size restricted to powers of 2, excluding protocol headers rollover - Block counter roll-over (roll back to zero or to one) From the tftp program point of view the following things are changed: - New commands: "blocksize", "blocksize2", "rollover" and "options" - Development features: "debug" and "packetdrop" If you try this tftp/tftpd implementation, please let me know if it works (or doesn't work) and against which implementaion so I can get a list of confirmed working systems. Author: Edwin Groothuis END K 10 svn:author V 4 jkim K 8 svn:date V 27 2010-09-22T22:16:48.050992Z K 7 svn:log V 351 MFC: r212806 Rework r210248. Although it fixed most of problems, it did not fix one particular edge case where X-axis resolution is not multiple of font width. Now we just advance enough scan lines, then deduct a partial scan line. It is more intuitive than the previous code. Apply the same wisdom to EGA and VGA planar renderers for consistency. END K 10 svn:author V 4 jkim K 8 svn:date V 27 2010-09-22T22:17:39.884600Z K 7 svn:log V 351 MFC: r212806 Rework r210248. Although it fixed most of problems, it did not fix one particular edge case where X-axis resolution is not multiple of font width. Now we just advance enough scan lines, then deduct a partial scan line. It is more intuitive than the previous code. Apply the same wisdom to EGA and VGA planar renderers for consistency. END K 10 svn:author V 4 emax K 8 svn:date V 27 2010-09-22T23:41:02.479213Z K 7 svn:log V 192 Add the following Linux BlueZ compatibility macros: htobs(), htobl(), btohs() and btohl() PR: kern/136386 Submitted by: Monty Hall < kungfu_disciple at sbcglobal dot net > MFC after: 1 week END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-09-23T01:19:31.311691Z K 7 svn:log V 111 Reverts partial commits from r212937 - r213022; looks wrong approach to verify the boundaries of DMA segments. END K 10 svn:author V 7 delphij K 8 svn:date V 27 2010-09-23T01:24:33.437565Z K 7 svn:log V 470 In the past gunzip(1) write()'s after each inflate return. This is not optimal from a performance standpoint since the write buffer is not necessarily be filled up when the inflate rountine reached the end of input buffer and it's not the end of file. This problem gets uncovered by trying to pipe gunzip -c output to a GEOM device directly, which enforces the writes be multiple of sector size. Sponsored by: iXsystems, Inc. Reported by: jpaetzel MFC after: 2 weeks END K 10 svn:author V 7 delphij K 8 svn:date V 27 2010-09-23T01:30:50.214933Z K 7 svn:log V 126 MFC r212764: status bits should be &'ed against status to be really functional. Reported by: Jike Song Reviewed by: yongari END K 10 svn:author V 7 delphij K 8 svn:date V 27 2010-09-23T01:38:52.363327Z K 7 svn:log V 126 MFC r212764: status bits should be &'ed against status to be really functional. Reported by: Jike Song Reviewed by: yongari END K 10 svn:author V 8 jchandra K 8 svn:date V 27 2010-09-23T05:17:36.785880Z K 7 svn:log V 178 Add missing byteswap, works on big endian systems now (tested on Netlogic XLS MIPS processor). Submitted by: Sreekanth M. S. Reviewed by: mav END K 10 svn:author V 8 jchandra K 8 svn:date V 27 2010-09-23T05:24:50.480188Z K 7 svn:log V 126 Add MIPS platform, this will make bsdlabel(8) work on MIPS (when invoked without a -m option. -m mips is still not supported) END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-23T09:02:10.429321Z K 7 svn:log V 10485 MFC r208028,r210368,r210702,r210869,r210870,r210872,r210873,r210875,r210876, r210879,r210880,r210881,r210882,r210883,r210886,r210892,r211397,r211407, r211452,r211875,r211876,r211877,r211878,r211879,r211880,r211881,r211882, r211883,r211884,r211885,r211886,r211887,r211895,r211896,r211897,r211898, r211899,r211975,r211976,r211977,r211978,r211979,r211981,r211982,r211983, r211984,r212033,r212034,r212036,r212037,r212038,r212046,r212049,r212051, r212052,r212899,r213003,r213004,r213006,r213007,r213008,r213009: r208028: mdoc: move remaining sections into consistent order This pertains mostly to FILES, HISTORY, EXIT STATUS and AUTHORS sections. Found by: mdocml lint run Reviewed by: ru r210368: Actually, only the fullsync mode is implemented, not memsync mode. Correct manual page. r210702: Spelling fixes. r210869: Add an argument to the proto_register() function which allows protocol to declare it is the default and be placed at the end of the queue so it is checked last. r210870: Now that TCP will be checked last we don't need any knowledge about other protocols. r210872: Mark two more places that we won't reach. r210873: Keep $FreeBSD$ in __FBSDID() only for C files. r210875: Problem with assertion is that it logs on stderr. Add two macros: PJDLOG_ASSERT() and PJDLOG_VERIFY() that will check the given condition and log the problem where appropriate. The difference between those two is that PJDLOG_VERIFY() always work and PJDLOG_ASSERT() can be turned off by defining NDEBUG. r210876: Assert that various buffers we are large enough. r210879: - Use pjdlog_exitx() to log errors and exit instead of errx(). - Use 'unable to' (instead of 'cannot') consistently. r210880: Reset signal handlers after fork(). r210881: Allow to use 'none' keywork as remote address in case second cluster node is not setup yet. r210882: Make control_set_role() more public. We will need it soon. r210883: Prepare configuration parsing code to be called multiple times: - Don't exit on errors if not requested. - Don't keep configuration in global variable, but allocate memory for configuration. - Call yyrestart() before yyparse() so that on error in configuration file we will start from the begining next time and not from the place we left of. r210886: Implement configuration reload on SIGHUP. This includes: - Load added resources. - Stop and forget removed resources. - Update modified resources in least intrusive way, ie. don't touch /dev/hast/ unless path to local component or provider name were modified. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r210892: Document 'none' value for remote. Reviewed by: dougb r211397: Fix typos, spelling, formatting and mdoc mistakes found by Nobuyuki while translating these manual pages. Minor corrections by me. Submitted by: Nobuyuki Koganemaru r211407: The 'size' variable is there to limit how many bytes we want to copy from 'addr'. It is very likely that size of 'addr' is larger than 'size', so checking strlcpy() return value is bogus. r211452: For some setups sending data in 128kB chunks makes communication very slow. No idea why. 32kB on the other hand seems to work properly everywhere. Reported by: Thomas Steen Rasmussen r211875: Make comment more readable. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211876: Add mtx_owned() implementation. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211877: Add QUEUE_INSERT() and QUEUE_TAKE() macros that simplify the code a bit. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211878: We have sync_start() function to start synchronization, introduce sync_stop() function to stop it. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211879: Log that synchronization was interrupted in a proper place. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211880: Don't increase number synchronized bytes in case of an error. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211881: - Remove redundant and incorrect 'old' word from debug message. - Log disconnects as warnings. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211882: Implement keepalive mechanism inside HAST protocol so we can detect secondary node failures quickly for HAST resources that are rarely modified. Remove XXX from a comment now that the guard thread never sleeps infinitely. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211883: Reduce indent where possible. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211884: When logging to stdout/stderr don't close those descriptors after fork(). Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211885: - Run hooks in background - don't block waiting for them to finish. - Keep all hooks we're running in a global list, so we can report when they finish and also report when they are running for too long. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211886: Allow to execute specified program on various HAST events. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211887: Document new 'exec' parameter. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211895: Add hooks execution. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211896: Check if no signals were delivered just before going to sleep. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211897: Correct when we log interrupted synchronization. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211898: When logging to stdout/stderr, flush after each log. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211899: When SIGTERM or SIGINT is received, terminate worker processes. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211975: Implement mtx_destroy() and rw_destroy(). Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211976: - Add hook_fini() which should be called after fork() from the main hastd process, once it start to use hooks. - Add hook_check_one() in case the caller expects different child processes and once it can recognize it, it will pass pid and status to hook_check_one(). Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211977: Allow to run hooks from the main hastd process. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211978: - Call hook on role change. - Document new event. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211979: Disconnect after logging errors. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211981: - Move functionality responsible for checking one connection to separate function to make code more readable. - Be sure not to reconnect too often in case of signal delivery, etc. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211982: Use sigtimedwait(2) for signals handling in primary process. This fixes various races and eliminates use of pthread* API in signal handler. Pointed out by: kib With help from: jilles Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211983: Execute hook when split-brain is detected. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r211984: Execute hook when connection between the nodes is established or lost. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r212033: Constify arguments we can constify. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r212034: Use pjdlog_exit() before fork(). Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r212036: When someone gives NULL as data, assume this is because he want to declare connection side only. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r212037: We only want to know if descriptors are ready for reading. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r212038: Because it is very hard to make fork(2) from threaded process safe (we are limited to async-signal safe functions in the child process), move all hooks execution to the main (non-threaded) process. Do it by maintaining connection (socketpair) between child and parent and sending events from the child to parent, so it can execute the hook. This is step in right direction for others reasons too. For example there is one less problem to drop privs in worker processes. Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r212046: Mask only those signals that we want to handle. Suggested by: jilles Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r212049: Forgot to add event.c and event.h in r212038. Pointed out by: pluknet Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com r212051: Correct error message. Submitted by: Mikolaj Golub r212052: Include process PID in log messages. Submitted by: Mikolaj Golub r212899: Add __dead2 to functions that we know they are going to exit. r213003: Sort includes. r213004: If we are unable to receive control message is most likely because the main process died. Instead of entering infinite loop, terminate. r213006: Fix descriptor leaks: when child exits, we have to close control and event socket pairs. We did that only in one case out of three. r213007: Fix possible deadlock where worker process sends an event to the main process while the main process sends control message to the worker process, but worker process hasn't started control thread yet, because it waits for reply from the main process. The fix is to start the control thread before sending any events. Reported and fix suggested by: Mikolaj Golub r213008: Assert that descriptor numbers are sane. r213009: Switch to sigprocmask(2) API also in the main process and secondary process. This way the primary process inherits signal mask from the main process, which fixes a race where signal is delivered to the primary process before configuring signal mask. Reported by: Mikolaj Golub END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-23T09:05:40.990873Z K 7 svn:log V 737 MFC r208028,r210628,r210909,r210912,r211397: r208028: mdoc: move remaining sections into consistent order This pertains mostly to FILES, HISTORY, EXIT STATUS and AUTHORS sections. Found by: mdocml lint run Reviewed by: ru r210628: Fix typo. PR: docs/149033 Submitted by: Kolar r210909: Update the arguments to yy_config_parse() to match r210883. Choose the more conservative option ('yes' to exit on error) to match the equivalent code in hastd. r210912: Force commit to remind me about MFCing r210909. r211397: Fix typos, spelling, formatting and mdoc mistakes found by Nobuyuki while translating these manual pages. Minor corrections by me. Submitted by: Nobuyuki Koganemaru END K 10 svn:author V 5 gavin K 8 svn:date V 27 2010-09-23T09:52:27.828856Z K 7 svn:log V 193 Merge r211083 from head: The PL2302X can support any baud rate <= 6Mbps, allow any rate to be set. PR: usb/128324 Submitted by: Mike Durian (original patch) END K 10 svn:author V 5 gavin K 8 svn:date V 27 2010-09-23T09:56:02.398367Z K 7 svn:log V 610 Merge r211111 from head: Attempt to autodetect the cype of chipset, rather than storing this within the device table. This code uses the same algorithm as used in the Linux, NetBSD and DragonflyBSD driver. While investigating this, it became apparent that the Linux driver always initialises the device, and not just in the PL2303HX case. Change uplcom(4) to do the same. This change allows us to synchronize our device ID list with Linux and NetBSD, without requiring knowledge of the chipset in use. Merge r209967, 209968 from head (by takawata): One more Prolific serial device ID. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-23T10:03:03.477249Z K 7 svn:log V 110 Remove an explicit assignment of the CFLAGS variable intended for debugging purposes only. MFC after: 3 days END K 10 svn:author V 5 gavin K 8 svn:date V 27 2010-09-23T10:20:28.457409Z K 7 svn:log V 458 Merge r211153 from head: Now that the uplcom(4) driver can autodetect the chipset type, sync the list of devices supported by uplcom(4) with the following sources: NetBSD src/sys/dev/usb/uplcom.c 1.70 OpenBSD src/sys/dev/usb/uplcom.c 1.52 Linux drivers/usb/serial/pl2303.h from kernel 2.6.35 BeOS usb_serial/driver.c 1.32 Give several devices better descriptions, and rename PROLIFIC2 -> NETINDEX while here to match everybody else. END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-23T10:43:37.859975Z K 7 svn:log V 67 When trashing metadata, flush after each write. MFC after: 1 week END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-23T10:50:17.472675Z K 7 svn:log V 72 Simplify code a bit by using g_*() API from libgeom. MFC after: 1 week END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-23T10:55:45.756754Z K 7 svn:log V 82 - Make use of g_*() API. - Flush cache after writing metadata. MFC after: 1 week END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-23T10:58:13.332559Z K 7 svn:log V 193 Because we first write metadata into new place and then trash old place we don't want situation where old size is equal to new size, as we will trash newly written metadata. MFC after: 1 week END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-23T11:04:50.741272Z K 7 svn:log V 80 - Use g_*() API when doing backups. - fsync() created filed. MFC after: 1 week END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-23T11:18:02.320729Z K 7 svn:log V 132 - When trashing metadata, repeat overwrite kern.geom.eli.overwrites times. - Flush write cache after each write. MFC after: 1 week END K 10 svn:author V 5 gavin K 8 svn:date V 27 2010-09-23T11:19:03.978930Z K 7 svn:log V 515 Various changes from various sources: - Add "children" [1] - Add "acknowledgement", "acknowledgment", "Austria" and "haunted" [2] - Add "near", "antidisestablishmentarianism" and "Persephone" [2] - "Transvaal" should be capitalized [2] - Correct spelling of "structurelessness" and "Athena" [2] - Add missing atomic elements [3] - Add various words from "word of the day" lists [3] PR: conf/149756 [1] Submitted by: Nick Johnson [1] Obtained from: NetBSD [2], OpenBSD [3] MFC after: 1 week END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-23T11:19:48.588434Z K 7 svn:log V 80 Define default overwrite count, so that userland can use it. MFC after: 1 week END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-23T11:23:10.844386Z K 7 svn:log V 75 Make the code similar to the code in g_eli_integrity.c. MFC after: 1 week END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-23T11:26:38.250819Z K 7 svn:log V 40 Simplify code a bit. MFC after: 1 week END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-23T11:33:29.266815Z K 7 svn:log V 43 Remove redundant space. MFC after: 1 week END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-23T11:46:53.856484Z K 7 svn:log V 60 Add support for CRD_F_KEY_EXPLICIT flag. MFC after: 1 week END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-23T11:49:47.316488Z K 7 svn:log V 199 Implement switching of data encryption key every 2^20 blocks. This ensures the same encryption key won't be used for more than 2^20 blocks (sectors). This will be the default now. MFC after: 1 week END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-23T11:52:32.787294Z K 7 svn:log V 67 Add support for AES-XTS. Obtained from: OpenBSD MFC after: 1 week END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-23T11:57:25.016063Z K 7 svn:log V 51 Add support for CRYPTO_AES_XTS. MFC after: 1 week END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-23T11:58:36.860353Z K 7 svn:log V 74 Add support for AES-XTS. This will be the default now. MFC after: 1 week END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-23T12:00:40.476791Z K 7 svn:log V 37 Document AES-XTS. MFC after: 1 week END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-23T12:02:08.723694Z K 7 svn:log V 43 Update copyright years. MFC after: 1 week END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-23T12:02:42.253371Z K 7 svn:log V 43 Update copyright years. MFC after: 1 week END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-09-23T12:04:12.775672Z K 7 svn:log V 162 - Simplify code by using g_*() API. - Don't use u_char and u_int in userland. - Change 'unsigned' to 'unsigned int'. - Update copyright years. MFC after: 1 week END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-23T14:06:15.105870Z K 7 svn:log V 55 Try to adhere to style.Makefile(5). MFC after: 3 days END K 10 svn:author V 7 attilio K 8 svn:date V 27 2010-09-23T15:10:28.197484Z K 7 svn:log V 44 Fix a protection stub left-over in r212295. END K 10 svn:author V 3 imp K 8 svn:date V 27 2010-09-23T17:12:47.008090Z K 7 svn:log V 552 Simplify how we find the kernel source. Rather than depending on sys, or some variation in the path, the new version assumes that $0 is newvers.sh path, and that dirname $0/.. is the same as $S aka $SYSDIR. It also removes knowledge of ${MACHINE} and ${MACHINE_ARCH}, which is also good. # I've had this in my tree for about 6 months now, which is why I # didn't notice that I broke it in r209510 and that was fixed in # r212954. This should finally resolve the issues people had with # r204824 as well as address the issues that motivated r204824. END K 10 svn:author V 3 imp K 8 svn:date V 27 2010-09-23T17:29:59.663740Z K 7 svn:log V 30 Clean up stray line in 213077 END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-09-23T17:37:57.443959Z K 7 svn:log V 247 MFC r212390: expr(1): Add sh(1) versions of examples, remove an incorrect example. The three examples are better done using sh(1) itself these days. The example expr -- "$a" : ".*" is incorrect in the general case, as "$a" may be an operator. END K 10 svn:author V 6 emaste K 8 svn:date V 27 2010-09-23T17:47:46.284541Z K 7 svn:log V 147 Remove unnecessary weak reference that was apparently copied from the version of this function in lib/libc/inet/inet_pton.c MFC after: 1 week END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-09-23T18:55:54.447458Z K 7 svn:log V 374 Always show asic/chip revision in device attach phase. There are too many bge(4) controllers there and model name does not necessarily match asic/chip revision. Relying on VPD string made it hard to identify exact asic/chip revision so the first step to debug bge(4) was getting exact asic/chip information with verbose boot which may not be available on production server. END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-09-23T19:21:49.017735Z K 7 svn:log V 247 MFC r212390: expr(1): Add sh(1) versions of examples, remove an incorrect example. The three examples are better done using sh(1) itself these days. The example expr -- "$a" : ".*" is incorrect in the general case, as "$a" may be an operator. END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-09-23T19:36:34.599119Z K 7 svn:log V 74 MFC r212418: test(1): Clarify grammar ambiguity and -a/-o vs shell &&/||. END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-09-23T19:38:08.986929Z K 7 svn:log V 86 MFC r212419: test(1): Fix markup, ( and ) must be separate arguments so leave spaces. END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-09-23T20:37:29.755174Z K 7 svn:log V 192 MFC r212187: sh: Add a test that 'read' leaves the file pointer at the correct place. Naive buffering would break the common while read x... construct, which did not appear to be tested yet. END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-09-23T20:49:33.537022Z K 7 svn:log V 71 MFC r212330: sh: Add simple tests for backslashes in the read builtin. END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-09-23T21:36:10.120664Z K 7 svn:log V 166 MFC r212339: sh: Fix 'read' if all chars before the first IFS char are backslash-escaped. Backslash-escaped characters did not set the flag for a non-IFS character. END K 10 svn:author V 6 ivoras K 8 svn:date V 27 2010-09-23T23:05:31.297089Z K 7 svn:log V 69 MFC r212305 : Avoid "Entry can disappear before we lock fdvp" panic. END K 10 svn:author V 8 jmallett K 8 svn:date V 27 2010-09-24T00:14:24.228337Z K 7 svn:log V 649 Flesh out PCI bus support some: o) Reset and configure the bus from scratch rather than expecting U-Boot to do it for us. Values and configuration from Linux, U-Boot and comments in the Cavium Simple Executive sources. o) Do a resource assignment and bus numbering pass in the absence of a PCI BIOS or firmware that will do it for us. XXX This has to be the third or fourth instance of this in FreeBSD and it would be nice to have it become part of the PCI bus driver itself, like it is on Linux. o) Fix interrupt mapping for and adjust bus configuration for the Lanner MR-955, based on information provided by Lanner. END K 10 svn:author V 8 jmallett K 8 svn:date V 27 2010-09-24T02:41:52.883746Z K 7 svn:log V 267 o) Add bus_teardown_intr for pci and ciu. This allows the Promise SATA driver to try to switch interrupt handlers at setup. It's not a very good implementation of bus_teardown_intr, though. o) Set cache line size and latency timers for PCI devices per Linux. END K 10 svn:author V 5 gonzo K 8 svn:date V 27 2010-09-24T04:46:46.157640Z K 7 svn:log V 142 - Do not place variables to memory allocated by busdma. pre/post ops might invalidate cache and hence effectively void validity of values END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-09-24T07:14:14.881323Z K 7 svn:log V 68 Add missing le32toh(), same as recently done in ata-siliconimage.c. END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-09-24T07:23:48.286855Z K 7 svn:log V 67 MFC r212782: zfs+sendfile: advance uio_offset upon reading as well END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-09-24T07:27:53.886733Z K 7 svn:log V 76 MFC r212789: nextboot: warn about limitations of /boot/nextboot.conf on ZFS END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-09-24T07:29:29.496101Z K 7 svn:log V 76 MFC r212789: nextboot: warn about limitations of /boot/nextboot.conf on ZFS END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2010-09-24T07:52:07.125668Z K 7 svn:log V 136 In most cases, cancel_point and cancel_async needn't be checked again, because cancellation is almostly checked at cancellation points. END K 10 svn:author V 2 ae K 8 svn:date V 27 2010-09-24T08:40:43.546610Z K 7 svn:log V 524 Implement "force" (-F) option for gpart destroy verb. This option doesn't passed to kernel and handled in user-space. With -F option gpart creates new "delete" request for each partition in table. Each request has flags="X" that disables auto-commit feature. Last request is the original "destroy" request. It has own flags and can have disabled or enabled auto-commit feature. If error is occurred when deleting partitions, then new "undo" request is created and all changes will be rolled back. Approved by: kib (mentor) END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2010-09-24T09:04:16.330338Z K 7 svn:log V 167 Now userland POSIX semaphore is based on umtx. The kernel module is only used to support binary compatible, if want to run old binary, you need to kldload the module. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-24T10:40:17.402135Z K 7 svn:log V 39 Make WARNS=6 clean. MFC after: 1 week END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2010-09-24T13:01:01.536006Z K 7 svn:log V 131 inline testcancel() into thr_cancel_leave(), because cancel_pending is almost false, this makes a slight better branch predicting. END K 10 svn:author V 7 attilio K 8 svn:date V 27 2010-09-24T14:38:54.431875Z K 7 svn:log V 222 IP_BINDANY is not correctly handled in getsockopt() case. Fix it by specifying the correct bits. Sponsored by: Sandvine Incorporated Reviewed by: bz, emaste, rstone Obtained from: Sandvine Incorporated MFC after: 10 days END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-24T14:44:04.866674Z K 7 svn:log V 367 Remove the duplicate logging of failed read requests, whose error message also was inappropriate as it triggered for every EACCESS and ENOTFOUND, not just the case the -n option is intended to deal with and thus really spammed us with ~20 messages in the default configuration when booting a diskless FreeBSD client, introduced with r207608 again. MFC after: 1 week END K 10 svn:author V 7 attilio K 8 svn:date V 27 2010-09-24T15:01:45.214782Z K 7 svn:log V 298 Make the RPC specific __rpc_inet_ntop() and __rpc_inet_pton() general in the kernel (just as inet_ntoa() and inet_aton()) are and sync their prototype accordingly with already mentioned functions. Sponsored by: Sandvine Incorporated Reviewed by: emaste, rstone Approved by: dfr MFC after: 2 weeks END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-24T15:12:18.588070Z K 7 svn:log V 36 minor simplifications and cosmetics END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-09-24T16:40:46.998959Z K 7 svn:log V 179 Improve r56796; the reply handler actually may remove the request from the chain in which case it shouldn't be removed twice. Reported by: Staale Kristoffersen MFC after: 1 week END K 10 svn:author V 7 delphij K 8 svn:date V 27 2010-09-24T17:26:57.657807Z K 7 svn:log V 187 MFC r197850: Add a special workaround to handle UIO_NOCOPY case. This fixes data corruption observed when sendfile() is being used. Requested by: avg PR: kern/127213 Submitted by: gk END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-09-24T17:53:32.860849Z K 7 svn:log V 76 MFC r211594: Load tunable from loader.conf(5) instead of device.hints(5). END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-09-24T17:56:12.074175Z K 7 svn:log V 76 MFC r211594: Load tunable from loader.conf(5) instead of device.hints(5). END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-09-24T17:59:58.011319Z K 7 svn:log V 744 MFC r211596: It seems all Broadcom controllers have a bug that can generate UDP datagrams with checksum value 0 when TX UDP checksum offloading is enabled. Generating UDP checksum value 0 is RFC 768 violation. Even though the probability of generating such UDP datagrams is low, I don't want to see FreeBSD boxes to inject such datagrams into network so disable UDP checksum offloading by default. Users still override this behavior by setting a sysctl variable or loader tunable, dev.bge.%d.forced_udpcsum. I have no idea why this issue was not reported so far given that bge(4) is one of the most commonly used controller on high-end server class systems. Thanks to andre@ who passed the PR to me. PR: kern/104826 END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-09-24T18:01:43.097557Z K 7 svn:log V 744 MFC r211596: It seems all Broadcom controllers have a bug that can generate UDP datagrams with checksum value 0 when TX UDP checksum offloading is enabled. Generating UDP checksum value 0 is RFC 768 violation. Even though the probability of generating such UDP datagrams is low, I don't want to see FreeBSD boxes to inject such datagrams into network so disable UDP checksum offloading by default. Users still override this behavior by setting a sysctl variable or loader tunable, dev.bge.%d.forced_udpcsum. I have no idea why this issue was not reported so far given that bge(4) is one of the most commonly used controller on high-end server class systems. Thanks to andre@ who passed the PR to me. PR: kern/104826 END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-09-24T18:12:19.060319Z K 7 svn:log V 142 MFC r211597: Document newly introduced tunable dev.bge.%d.forced_udpcsum. While I'm here also mention tunable dev.bge.%d.forced_collapse. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-09-24T18:14:22.790625Z K 7 svn:log V 142 MFC r211597: Document newly introduced tunable dev.bge.%d.forced_udpcsum. While I'm here also mention tunable dev.bge.%d.forced_collapse. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-09-24T18:33:15.993923Z K 7 svn:log V 107 MFC r211670: Clean up SIOCSIFCAP handler and allow RX checksum offloading could be controlled by user. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-09-24T18:54:06.637590Z K 7 svn:log V 107 MFC r211670: Clean up SIOCSIFCAP handler and allow RX checksum offloading could be controlled by user. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-09-24T18:58:04.823104Z K 7 svn:log V 98 MFC r211671: Remove unnecessary controller reinitialization by checking IFF_DRV_RUNNING flag. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-09-24T19:00:15.862342Z K 7 svn:log V 98 MFC r211671: Remove unnecessary controller reinitialization by checking IFF_DRV_RUNNING flag. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-09-24T19:04:17.761775Z K 7 svn:log V 892 MFC r211716: Move xl_reset() to xl_init_locked(). This will make driver initialize controller from a known good state. Previously driver used to issue controller reset while TX/RX DMA are in progress. I guess resetting controller in active TX/RX DMA cycle is to ensure stopping I/Os in xl_shutdown(). I remember some buggy controllers didn't respond with stop command if controller is under high network load at the time of shutdown so resetting controller was the only safe way to stop the I/Os. However, from my experiments, controller always responded with stop command under high network load so I think it's okay to remove the xl_reset() in device_shutdown handler. Resetting controller also will clear configured RX filter which in turn will make WOL support hard because driver have to reprogram RX filter in WOL handler as well as setting station address. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-09-24T19:07:14.009127Z K 7 svn:log V 892 MFC r211716: Move xl_reset() to xl_init_locked(). This will make driver initialize controller from a known good state. Previously driver used to issue controller reset while TX/RX DMA are in progress. I guess resetting controller in active TX/RX DMA cycle is to ensure stopping I/Os in xl_shutdown(). I remember some buggy controllers didn't respond with stop command if controller is under high network load at the time of shutdown so resetting controller was the only safe way to stop the I/Os. However, from my experiments, controller always responded with stop command under high network load so I think it's okay to remove the xl_reset() in device_shutdown handler. Resetting controller also will clear configured RX filter which in turn will make WOL support hard because driver have to reprogram RX filter in WOL handler as well as setting station address. END