ƒº 251646 123 337 338 122 338 130 345 561 353 929 787 309 158 262 197 271 502 223 326 117 400 288 384 2782 529 987 289 260 144 119 286 215 498 175 195 145 1619 216 242 920 219 501 180 276 271 170 220 114 134 597 776 169 259 151 151 262 168 168 226 192 192 262 145 145 600 462 462 423 138 99 3232 99 373 160 289 178 298 327 190 796 269 805 229 227 382 390 247 616 179 387 302 144 145 152 144 207 785 395 265 298 187 247 153 440 237 305 979 415 203 454 454 774 7854 360 173 173 1190 377 258 377 397 167 1052 915 K 10 svn:author V 7 delphij K 8 svn:date V 27 2013-06-12T07:07:06.960123Z K 7 svn:log V 240 MFV r251644: Poor ZFS send / receive performance due to snapshot hold / release processing (by smh@) Illumos ZFS issues: 3740 Poor ZFS send / receive performance due to snapshot hold / release processing MFC after: 2 weeks END K 10 svn:author V 4 grog K 8 svn:date V 27 2013-06-12T07:52:49.112406Z K 7 svn:log V 244 Handle some expression regressions. Explicitly use GNU cpp for preprocessing. Remove explicit debugging code. Change some variable names to be less confusing. Improve some comments. Improve indentation. PR: 162211 168785 MFC after: 2 weeks END K 10 svn:author V 4 grog K 8 svn:date V 27 2013-06-12T07:53:59.987499Z K 7 svn:log V 29 style(9) MFC after: 2 weeks END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-06-12T09:07:15.449779Z K 7 svn:log V 245 Acquire periph reference when handling d_getattr() method call. While GEOM in general has provider opened while sending BIO_GETATTR, GEOM DISK does not really need to open disk to read medium-unrelated attributes for own use. Proposed by: ken END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2013-06-12T12:38:12.408377Z K 7 svn:log V 30 Add missing copyright notice. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-06-12T12:51:43.796120Z K 7 svn:log V 252 Use direct custom implementations instead of g_handleattr() for CFI and NAND d_getattr(). Since these drivers use disk(9) KPI and not directly GEOM, use of that function means KPI layering violation, causing extra g_io_deliver() call for the request. END K 10 svn:author V 3 gjb K 8 svn:date V 27 2013-06-12T13:15:28.630993Z K 7 svn:log V 468 Add new script to run release builds. The script is heavily based upon the release/generate-release.sh script by nwhitehorn. This script can use optional configuration file to override defaults, making running multiple serialzied builds with different specific configurations or architecture-specific tunings quite easy. Sample overrideable options are included in the release.conf.sample file. Approved by: kib (mentor) MFC After: 2 weeks X-MFC-To: stable/9 only END K 10 svn:author V 3 gjb K 8 svn:date V 27 2013-06-12T13:17:43.702870Z K 7 svn:log V 260 MFC r240403 (obrien): Not all Pmake derivatives silently handle empty shell output, so ensure there is something for make(1) to consume. Bmake gives output such as: "warning: Couldn't read shell's output for "/bin/sh -c true" Approved by: kib (mentor) END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-06-12T13:36:20.592037Z K 7 svn:log V 836 Make CAM return and GEOM DISK pass through new GEOM::lunid attribute. SPC-4 specification states that serial number may be property of device, but not a specific logical unit. People reported about FC storages using serial number in that way, making it unusable for purposes of LUN multipath detection. SPC-4 states that designators associated with logical unit from the VPD page 83h "Device Identification" should be used for that purpose. Report first of them in the new attribute in such preference order: NAA, EUI-64, T10 and SCSI name string. While there, make GEOM DISK properly report GEOM::ident in XML output also using d_getattr() method, if available. This fixes serial numbers reporting for SCSI disks in `geom disk list` output and confxml. Discussed with: gibbs, ken Sponsored by: iXsystems, Inc. MFC after: 2 weeks END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-06-12T14:52:57.359440Z K 7 svn:log V 691 Migrate the LNA mixing diversity machinery from the AR9285 HAL to the driver. The AR9485 chip and AR933x SoC both implement LNA diversity. There are a few extra things that need to happen before this can be flipped on for those chips (mostly to do with setting up the different bias values and LNA1/LNA2 RSSI differences) but the first stage is putting this code into the driver layer so it can be reused. This has the added benefit of making it easier to expose configuration options and diagnostic information via the ioctl API. That's not yet being done but it sure would be nice to do so. Tested: * AR9285, with LNA diversity enabled * AR9285, with LNA diversity disabled in EEPROM END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-06-12T15:18:10.891993Z K 7 svn:log V 213 Set the antenna "config group" field. The reference HAL pushes a config group parameter to the driver layer to inform it which particular chip behaviour to implement. This particular value tags it as an AR9285. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-06-12T15:23:17.895322Z K 7 svn:log V 63 Tie in the LNA diversity configuration functions into the HAL. END K 10 svn:author V 3 pfg K 8 svn:date V 27 2013-06-12T15:24:48.060125Z K 7 svn:log V 169 Turn DIAGNOSTICs to INVARIANTS in ext2fs. This is done to be consistent with what other filesystems and particularly ffs already does (see r173464). MFC after: 5 days END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-06-12T16:13:05.086063Z K 7 svn:log V 104 Use CAM_DIR_NONE for requests without data. Wrong values there confuse some drivers. MFC after: 1 week END K 10 svn:author V 5 crees K 8 svn:date V 27 2013-06-12T16:44:17.884821Z K 7 svn:log V 176 Clean up swapfile memory disk on shutdown Make the md unit number configurable so that it can be predicted PR: bin/168544 Submitted by: wblock (based on) Approved by: kevlo END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-06-12T18:08:11.780702Z K 7 svn:log V 409 Replicate r242422 from ata(4) to mvs(4): Only four specific ATA PIO commands transfer several sectors per DRQ block (interrupt). All other ATA PIO commands transfer one sector or 512 bytes at one time. Hardcode these exceptions in mvs(4) with ATA_CAM option. This fixes timeout of READ LOG EXT command used by `smartctl -x /dev/adaX`. Also it fixes timeout of DOWNLOAD_MICROCODE on `camcontrol fwdownload`. END K 10 svn:author V 3 dim K 8 svn:date V 27 2013-06-12T18:48:53.348909Z K 7 svn:log V 130 Upgrade our copy of llvm/clang to 3.3 release. Release notes are still in the works, these will follow soon. MFC after: 1 month END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-06-12T19:04:08.448564Z K 7 svn:log V 229 MFC r250617 etc/rc.d/syslogd Add netif as a requirement of syslogd to get lo0 up. Currently, this doesn't affect the rc order, because mountcritremote already depends on netif. Reviewed by: eadler Approved by: ken (mentor) END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-06-12T19:21:23.607570Z K 7 svn:log V 25 Fix build after r251654. END K 10 svn:author V 6 emaste K 8 svn:date V 27 2013-06-12T20:05:19.683618Z K 7 svn:log V 304 Handle DW_TAG_rvalue_reference_type 2012-05-21 Jim Ingham * dwarf2read.c (process_die): Handle DW_TAG_rvalue_reference_type. (read_type_die): Ditto. (dwarf_tag_name): Ditto. * elf/dwarf2.h: Add DW_TAG_rvalue_reference_type. Obtained from: Apple, gdb-1820 END K 10 svn:author V 3 gnn K 8 svn:date V 27 2013-06-12T20:08:30.164647Z K 7 svn:log V 195 MFC: 236567 Integrate a fix for a very odd signal delivery problem found by Bryan Cantril and others in the Solaris/Illumos version of DTrace. Obtained from: https://www.illumos.org/issues/789 END K 10 svn:author V 6 emaste K 8 svn:date V 27 2013-06-12T20:11:49.265187Z K 7 svn:log V 288 Handle DW_TAG_unspecified_type 2011-11-14 Jim Ingham * dwarf2read.c (read_type_die): Handle DW_TAG_unspecified_type. (read_tag_unspecified_type): New function, add a type for the DW_TAG_unspecified_type die. Obtained from: Apple, gdb-1752 END K 10 svn:author V 3 jlh K 8 svn:date V 27 2013-06-12T21:12:05.177111Z K 7 svn:log V 2688 Turn libc.so into an ld script rather than a symlink pointing to the real shared object and libssp_nonshared.a. This was the last showstopper that prevented from enabling SSP for ports by default. portmgr@ performed a buildworld which showed no significant breakage with this patch. Details: On i386 for PIC objects, gcc uses the __stack_chk_fail_local hidden symbol instead of calling __stack_chk_fail directly [1]. This happen not only with our gcc-4.2.1 but also with the latest gcc-4.8. If you want the very nasty details, see [2]. OTOH the problem doesn't exist on other architectures. It also doesn't exist with Clang as the latter will somehow manage to create the function in the object file at compile time (contrary to only referencing it through a symbol that will be brought in at link time). In a perfect world, when an object file is compiled with -fstack-protector, it will be linked into a binary or a DSO with this same flag as well, so GCC will add libssp_nonshared.a to the linker command-line. Unfortunately, we don't control softwares in ports and we may have such broken DSO. This is the whole point of this patch. You can reproduce the problem on i386 by compiling a source file into an object file with "-fstack-protector-all -fPIE" and linking it into a binary without "-fstack-protector". This ld script automatically proposes libssp_nonshared.a along with the real libc DSO to the linker. It is important to understand that the object file contained in this library will be pulled in the resulting binary _only if_ the linker notices one of its symbols is needed (i.e. one of the SSP symbol is missing). A theorical performance impact could be when compiling, but my testing showed less than 0.1% of difference. [1] For 32-bit code gcc saves the PIC register setup by using __stack_chk_fail_local hidden function instead of calling __stack_chk_fail directly. See comment line 19460 in: src/contrib/gcc/config/i386/i386.c [2] When compiling a source file to an object file, if you use something which is external to the compilation unit, GCC doesn't know yet if this symbol will be inside or outside the DSO. So it expects the worst case and routes the symbol through the GOT, which means additional space and extra relocation for rtld(1). Declaring a symbol has hidden tells GCC to use the optimal route (no GOT), but on the other hand this means the symbol has to be provided in the same DSO (namely libssp_nonshared.a). On i386, GCC actually uses an hidden symbol for SSP in PIC objects to save PIC register setup, as said in [1]. PR: ports/138228 PR: ports/168010 Reviewed by: kib, kan END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-06-12T21:41:09.336041Z K 7 svn:log V 432 MFC r250662 sbin/camcontrol/camcontrol.c If an expander returns 0x00 (no device attached) in the ATTACHED DEVICE field of the SMP DISCOVER response, ignore the value of ATTACHED SAS ADDRESS, because it is invalid. Some expanders zero out the address when the attached device is removed, but others do not. Section 9.4.3.10 of the SAS Protocol Layer 2 revision 04b does not require them to do so. Approved by: ken (mentor) END K 10 svn:author V 7 asomers K 8 svn:date V 27 2013-06-12T22:19:49.743312Z K 7 svn:log V 890 MFC r251396 sys/dev/mps/mps.c sys/dev/mps/mps_user.c Fix uninitialized memory reference in mps_read_config_page. It was referencing a field (params->hdr.Ext.ExtPageType) that would only be set when reading an Extended config page. The symptom was that MPSIO_READ_CFG_PAGE ioctls would randomly fail with MPI2_IOCSTATUS_CONFIG_INVALID_PAGE errors. The solution is to determine whether an extended or an ordinary config page is requested by looking at the PageType field, which should be available regardless. Similarly, mps_user_read_extcfg_header and mps_user_read_extcfg_page, which call mps_read_config_page, had to be fixed to always set the PageType field. They were implicitly assuming that mps_read_config_page always operated on Extended pages. Reviewed by: ken Approved by: ken (mentor) END K 10 svn:author V 8 rmacklem K 8 svn:date V 27 2013-06-12T23:13:42.343509Z K 7 svn:log V 191 MFC: r251089 Add a patch analygous to r248567, r248581, r251079 to the old NFS client to avoid the panic reported in the PR by doing the vnode_pager_setsize() call after unlocking the mutex. END K 10 svn:author V 6 emaste K 8 svn:date V 27 2013-06-13T00:19:30.802592Z K 7 svn:log V 164 Renumber clauses to reduce diffs to other versions NetBSD, OpenBSD, and Android's Bionic number the clauses 1 through 3, so follow suit to make comparison easier. END K 10 svn:author V 5 kevlo K 8 svn:date V 27 2013-06-13T01:29:54.064189Z K 7 svn:log V 50 Add PF_IEEE80211 definition. Reviewed by: rpaulo END K 10 svn:author V 5 kevlo K 8 svn:date V 27 2013-06-13T01:33:01.291868Z K 7 svn:log V 25 Fix a typo: s/KLSI/CATC/ END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-06-13T02:19:53.140558Z K 7 svn:log V 190 Return HAL_ANT_VARIABLE for now, until it's unstubbed. This is needed by the slow antenna diversity logic for the AR9485/AR9462 as it's only engaged if the TX diveristy is set to VARIABLE. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-06-13T02:20:45.588078Z K 7 svn:log V 119 Set the FreeBSD capability bit to indicate that LNA diversity is enabled. This is true for the AR9485 and AR933x SoC. END K 10 svn:author V 3 pfg K 8 svn:date V 27 2013-06-13T03:23:24.900145Z K 7 svn:log V 405 Relax some unnecessary unsigned type changes in ext2fs. While the changes in r245820 are in line with the ext2 spec, the code derived from UFS can use negative values so it is better to relax some types to keep them as they were, and somewhat more similar to UFS. While here clean some casts. Some of the original types are still wrong and will require more work. Discussed with: bde MFC after: 3 days END K 10 svn:author V 4 grog K 8 svn:date V 27 2013-06-13T04:11:21.041609Z K 7 svn:log V 82 Revert revision 251648. style(9) requires an empty line here. Reported by: mdf@ END K 10 svn:author V 5 kevlo K 8 svn:date V 27 2013-06-13T05:46:19.152978Z K 7 svn:log V 100 Remove unused variable sc_tx_bufsz. The variable is initialized but not used. Reviewed by: yongari END K 10 svn:author V 3 hrs K 8 svn:date V 27 2013-06-13T05:51:59.813828Z K 7 svn:log V 53 Document an issue in vtnet(4) + QEMU 1.4.1 or later. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-06-13T06:07:19.635791Z K 7 svn:log V 1521 Improve locking strategy between keys hash and ID hash. Before this change state creating sequence was: 1) lock wire key hash 2) link state's wire key 3) unlock wire key hash 4) lock stack key hash 5) link state's stack key 6) unlock stack key hash 7) lock ID hash 8) link into ID hash 9) unlock ID hash What could happen here is that other thread finds the state via key hash lookup after 6), locks ID hash and does some processing of the state. When the thread creating state unblocks, it finds the state it was inserting already non-virgin. Now we perform proper interlocking between key hash locks and ID hash lock: 1) lock wire & stack hashes 2) link state's keys 3) lock ID hash 4) unlock wire & stack hashes 5) link into ID hash 6) unlock ID hash To achieve that, the following hacking was performed in pf_state_key_attach(): - Key hash mutex is marked with MTX_DUPOK. - To avoid deadlock on 2 key hash mutexes, we lock them in order determined by their address value. - pf_state_key_attach() had a magic to reuse a > FIN_WAIT_2 state. It unlinked the conflicting state synchronously. In theory this could require locking a third key hash, which we can't do now. Now we do not remove the state immediately, instead we leave this task to the purge thread. To avoid conflicts in a short period before state is purged, we push to the very end of the TAILQ. - On success, before dropping key hash locks, pf_state_key_attach() locks ID hash and returns. Tested by: Ian FREISLICH END K 10 svn:author V 8 lstewart K 8 svn:date V 27 2013-06-13T08:07:42.544037Z K 7 svn:log V 118 Remove some duplicate code by making KHELP_DECLARE_MOD() a wrapper around KHELP_DECLARE_MOD_UMA(). MFC after: 3 days END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-06-13T08:34:23.225562Z K 7 svn:log V 149 Revert r251649: ken@ noticed that with recently added d_gone() disk method GEOM already holds reference on the periph, so we don't need another one. END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-06-13T09:33:22.118430Z K 7 svn:log V 827 Fix two issues with the spin loops in the umtx(2) implementation. - When looping, check for the pending suspension. Otherwise, other usermode thread which races with the looping one, could try to prevent the process from stopping or exiting. - Add missed checks for the faults from casuword*(). The code is structured in a way which makes the loops exit if the specified address is invalid, since both fuword() and casuword() return -1 on the fault. But if the address is mapped readonly, the typical value read by fuword() is different from -1, while casuword() returns -1. Absent the checks for casuword() faults, this is interpreted as the race with other thread and causes non-interruptible spinning in the kernel. Reported and tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 2 weeks END K 10 svn:author V 6 emaste K 8 svn:date V 27 2013-06-13T13:05:08.058100Z K 7 svn:log V 123 Use portable string comparison We support == in /bin/sh now, but it ought to be avoided, and my use of it was accidental. END K 10 svn:author V 6 emaste K 8 svn:date V 27 2013-06-13T14:38:29.739486Z K 7 svn:log V 405 MFC r244224, r248753 Minor refactoring prior to .symbols file changes - Combine .if x and .if !x using .else - Separate out beforelinking dependency - Add comments to clarify .if nesting Always define and use PROGNAME This avoids having separate cases in the install rule for PROGNAME set and not set. This is a minor cleanup in advance of further support for standalone debug files. END K 10 svn:author V 6 brooks K 8 svn:date V 27 2013-06-13T15:45:54.666025Z K 7 svn:log V 85 Bump __FreeBSD_version to bound boostrapping of ctfmerge which was fixed in r249243. END K 10 svn:author V 6 brooks K 8 svn:date V 27 2013-06-13T17:13:15.591208Z K 7 svn:log V 180 MFC r250407: Remove duplicated copies of various NetBSD compatibility shims used by makefs and use libnetbsd, contrib/mtree, and contrib/mknod instead. Sponsored by: DARPA, AFRL END K 10 svn:author V 6 brooks K 8 svn:date V 27 2013-06-13T18:26:04.073428Z K 7 svn:log V 175 Be more agressive about bootstrapping ctfmerge and ctfconvert so builds from existing releases have a chance of working properly. Sponsored by: DARPA, AFRL MFC after: 3 days END K 10 svn:author V 4 jkim K 8 svn:date V 27 2013-06-13T18:26:12.500649Z K 7 svn:log V 77 Add a new CPUTYPE supported by Clang 3.3 for AMD Jaguar processors (btver2). END K 10 svn:author V 4 jkim K 8 svn:date V 27 2013-06-13T18:31:09.510413Z K 7 svn:log V 126 - Document GCC support for AMD Family 10h processors (amdfam10). - Document Clang support for AMD Jaguar processors (btver2). END K 10 svn:author V 4 jkim K 8 svn:date V 27 2013-06-13T18:33:54.017041Z K 7 svn:log V 21 Add a missing comma. END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-06-13T18:39:17.258839Z K 7 svn:log V 42 Explain remedy for -J error from old make END K 10 svn:author V 2 ed K 8 svn:date V 27 2013-06-13T18:40:45.232021Z K 7 svn:log V 505 Minor improvements to . - Define __SYNC_ATOMICS in case we're using the __sync_*() API. This is not used by itself, but may be useful for some of the intrinsics code to determine whether it should build the machine-dependent intrinsic functions. - Make is_lock_free() work in kernelspace. For now, assume atomics in kernelspace are always lock free. This is a quite reasonable assumption, as we surely shouldn't implement the atomic fallbacks for arbitrary sizes. END K 10 svn:author V 2 ed K 8 svn:date V 27 2013-06-13T18:46:49.824893Z K 7 svn:log V 684 Add C11 atomic fallbacks for ARM. Basically the situation is as follows: - When using Clang + armv6, we should not need any intrinsics. It should support it, even though due to a target misconfiguration it does not. We should fix this in Clang. - When using Clang + noarmv6, provide __atomic_* functions that disable interrupts. - When using GCC + armv6, we can provide __sync_* intrinsics, similar to what we did for MIPS. As ARM and MIPS are quite similar, simply base this implementation on the one I did for MIPS. - When using GCC + noarmv6, disable the interrupts, like we do for Clang. This implementation still lacks functions for noarmv6 userspace. To be done. END K 10 svn:author V 2 ed K 8 svn:date V 27 2013-06-13T18:47:28.709497Z K 7 svn:log V 78 Bring the stdatomic for MIPS code slightly more in sync with the ARM version. END K 10 svn:author V 3 gnn K 8 svn:date V 27 2013-06-13T18:47:53.883884Z K 7 svn:log V 166 MFC: 235380,235454,235455,235456,235457,235613,235614,235628,236567, 238125,238535,238660,238979,239972 Bring all changes to the DTrace Toolkit into FreeBSD 9. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2013-06-13T19:25:36.703104Z K 7 svn:log V 59 MFC 249263: Fix a potential socket leak in the NFS server. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2013-06-13T19:35:56.213076Z K 7 svn:log V 59 MFC 249263: Fix a potential socket leak in the NFS server. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2013-06-13T20:29:06.537425Z K 7 svn:log V 169 MFC 249315: Proxy allocation requests for the PCI ROM BAR from child devices similar to how the VGA bus driver currently proxies allocation requests for other PCI BARs. END K 10 svn:author V 6 eadler K 8 svn:date V 27 2013-06-13T20:40:39.122282Z K 7 svn:log V 73 MFC r251109: Add support for tethering on the iPhone 4S PR: usb/179078 END K 10 svn:author V 6 eadler K 8 svn:date V 27 2013-06-13T20:41:09.513975Z K 7 svn:log V 73 MFC r251109: Add support for tethering on the iPhone 4S PR: usb/179078 END K 10 svn:author V 4 jeff K 8 svn:date V 27 2013-06-13T20:46:03.460391Z K 7 svn:log V 132 - Add a BIT_FFS() macro and use it to replace cpusetffs_obj() Discussed with: attilio Sponsored by: EMC / Isilon Storage Division END K 10 svn:author V 6 eadler K 8 svn:date V 27 2013-06-13T20:46:29.250249Z K 7 svn:log V 97 MFC r250462: Add option to lockf to avoid creating a file if it does not exist. PR: bin/170775 END K 10 svn:author V 6 eadler K 8 svn:date V 27 2013-06-13T20:46:30.854770Z K 7 svn:log V 97 MFC r250462: Add option to lockf to avoid creating a file if it does not exist. PR: bin/170775 END K 10 svn:author V 3 jhb K 8 svn:date V 27 2013-06-13T21:01:33.055732Z K 7 svn:log V 169 MFC 249315: Proxy allocation requests for the PCI ROM BAR from child devices similar to how the VGA bus driver currently proxies allocation requests for other PCI BARs. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2013-06-13T21:02:44.113439Z K 7 svn:log V 53 MFC 249766: Use a higher TTL (128) for DHCP packets. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2013-06-13T21:03:23.716081Z K 7 svn:log V 53 MFC 249766: Use a higher TTL (128) for DHCP packets. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2013-06-13T21:05:38.066033Z K 7 svn:log V 506 - Convert the slab free item list from a linked array of indices to a bitmap using sys/bitset. This is much simpler, has lower space overhead and is cheaper in most cases. - Use a second bitmap for invariants asserts and improve the quality of the asserts as well as the number of erroneous conditions that we will catch. - Drastically simplify sizing code. Special case refcnt zones since they will be going away. - Update stale comments. Sponsored by: EMC / Isilon Storage Division END K 10 svn:author V 6 eadler K 8 svn:date V 27 2013-06-13T21:06:17.178599Z K 7 svn:log V 366 MFC r227183,r229905,r250432,r250451,r250882: - Add missing static keywords to split(1) - Fix warning when compiling with gcc46: error: variable 'defname' set but not use - Implement 'split -d' which allows a numeric suffix instead of an alphabetic one. - Bump .Dd for recent content change. Avoid signed overflow in error handling code. PR: bin/116209 END K 10 svn:author V 6 eadler K 8 svn:date V 27 2013-06-13T21:06:17.722899Z K 7 svn:log V 366 MFC r227183,r229905,r250432,r250451,r250882: - Add missing static keywords to split(1) - Fix warning when compiling with gcc46: error: variable 'defname' set but not use - Implement 'split -d' which allows a numeric suffix instead of an alphabetic one. - Bump .Dd for recent content change. Avoid signed overflow in error handling code. PR: bin/116209 END K 10 svn:author V 6 andrew K 8 svn:date V 27 2013-06-13T21:31:33.515648Z K 7 svn:log V 327 Fix the vfp code to work with the 16 register variants of the VFP unit. We check which variant we are on, and if it is a VFPv3 or v4, and has 32 double registers we save these. This fixes VFP support on Raspberry Pi. While here clean fmrx and fmxr up to use the register names from vfp.h as opposed to the raw register names. END K 10 svn:author V 6 marius K 8 svn:date V 27 2013-06-13T21:47:22.614177Z K 7 svn:log V 43 Fix whitespace and normalize some entries. END K 10 svn:author V 7 attilio K 8 svn:date V 27 2013-06-13T22:04:49.688059Z K 7 svn:log V 4 MFC END K 10 svn:author V 6 marius K 8 svn:date V 27 2013-06-13T22:13:41.815816Z K 7 svn:log V 3135 All of Oxford/PLX OX16PCI954, OXm16PCI954 and OXu16PCI954 share the exact same (subsystem) device and vendor IDs. However, the reference design for the OXu16PCI954 uses a 14.7456 MHz clock (as does the EXSYS EX-41098-2 equipped with these), while at least the OX16PCI954 defaults to a 1.8432 MHz one. According to the datasheets of these chips, the only difference in PCI configuration space is that OXu16PCI954 have a revision ID of 1 while the other two are at 0. So employ the latter for determining the default clock rates of this family. Note that one might think that the actual clock could be derived from the Clock Prescaler Register (CPR) of these chips. Unfortunately, this is not that case and its use and content are orthogonal to the frequency of the crystal employed. Tested with an EXSYS EX-41098-2, which identifies and attaches as: pcib4@pci0:19:0:0: class=0x060400 card=0x02dd1014 chip=0x10801b21 rev=0x03 hdr=0x01 vendor = 'ASMedia Technology Inc.' device = 'ASM1083/1085 PCIe to PCI Bridge' class = bridge subclass = PCI-PCI puc0@pci0:20:4:0: class=0x070006 card=0x00001415 chip=0x95011415 rev=0x01 hdr=0x00 vendor = 'Oxford Semiconductor Ltd' device = 'OX16PCI954 (Quad 16950 UART) function 0 (Uart)' class = simple comms subclass = UART puc1@pci0:20:4:1: class=0x068000 card=0x00001415 chip=0x95111415 rev=0x01 hdr=0x00 vendor = 'Oxford Semiconductor Ltd' device = 'OX16PCI954 (Quad 16950 UART) function 1 (8bit bus)' class = bridge puc2@pci0:20:8:0: class=0x070006 card=0x00001415 chip=0x95011415 rev=0x01 hdr=0x00 vendor = 'Oxford Semiconductor Ltd' device = 'OX16PCI954 (Quad 16950 UART) function 0 (Uart)' class = simple comms subclass = UART puc3@pci0:20:8:1: class=0x068000 card=0x00001415 chip=0x95111415 rev=0x01 hdr=0x00 vendor = 'Oxford Semiconductor Ltd' device = 'OX16PCI954 (Quad 16950 UART) function 1 (8bit bus)' class = bridge pci20: on pcib4 puc0: port 0x5000-0x501f, 0x5020-0x503f mem 0xc6000000-0xc6000fff,0xc6001000-0xc6001fff irq 16 at device 4.0 on pci20 uart1: <16950 or compatible> at port 1 on puc0 uart2: <16950 or compatible> at port 2 on puc0 uart3: <16950 or compatible> at port 3 on puc0 uart4: <16950 or compatible> at port 4 on puc0 puc1: port 0x5040-0x505f,0x5060-0x507f mem 0xc6002000-0xc6002fff,0xc6003000-0xc6003fff irq 16 at device 4.1 on pci20 puc2: port 0x5080-0x509f, 0x50a0-0x50bf mem 0xc6004000-0xc6004fff,0xc6005000-0xc6005fff irq 16 at device 8.0 on pci20 uart5: <16950 or compatible> at port 1 on puc2 uart6: <16950 or compatible> at port 2 on puc2 uart7: <16950 or compatible> at port 3 on puc2 uart8: <16950 or compatible> at port 4 on puc2 puc3: port 0x50c0-0x50df,0x50e0-0x50ff mem 0xc6006000-0xc6006fff,0xc6007000-0xc6007fff irq 16 at device 8.1 on pci20 MFC after: 2 weeks END K 10 svn:author V 7 attilio K 8 svn:date V 27 2013-06-13T22:24:48.009423Z K 7 svn:log V 4 MFC END K 10 svn:author V 7 attilio K 8 svn:date V 27 2013-06-13T22:26:45.843419Z K 7 svn:log V 276 Modify vm_fault_hold() into vm_fault_handle() and give the possibility to operate other type of page manipulations when it is faulted in, like soft busy, via a specific flag. Use vm_fault_handle() and the busy op on proc_rwmem(). Sponsored by: EMC / Isilon storage division END K 10 svn:author V 7 attilio K 8 svn:date V 27 2013-06-13T22:30:24.435811Z K 7 svn:log V 64 Remove unused var. Sponsored by: EMC / Isilon storage division END K 10 svn:author V 8 rmacklem K 8 svn:date V 27 2013-06-14T00:02:29.252136Z K 7 svn:log V 191 MFC: r251089 Add a patch analygous to r248567, r248581, r251079 to the old NFS client to avoid the panic reported in the PR by doing the vnode_pager_setsize() call after unlocking the mutex. END K 10 svn:author V 4 neel K 8 svn:date V 27 2013-06-14T00:03:43.731697Z K 7 svn:log V 85 Remove unused macros PTESHIFT, PDESHIFT, PDPESHIFT and PML4ESHIFT. Reviewed by: alc END K 10 svn:author V 8 rmacklem K 8 svn:date V 27 2013-06-14T00:30:11.653811Z K 7 svn:log V 200 MFC: r250176 Fix the getpwuid_r() call in the gssd daemon so that it handles the ERANGE error return case. Without this fix, authentication of users for certain system setups could fail unexpectedly. END K 10 svn:author V 8 rmacklem K 8 svn:date V 27 2013-06-14T00:33:55.107207Z K 7 svn:log V 229 MFC: r250177 Fix the getpwnam_r() call in the pname_to_uid() kerberos library function so that it handles the ERANGE error return case. Without this fix, authentication of users for certain system setups could fail unexpectedly. END K 10 svn:author V 5 markj K 8 svn:date V 27 2013-06-14T01:12:59.708080Z K 7 svn:log V 96 The functions are called pci_{msi,msix}_count(), not pci_count_{msi,msix}(). MFC after: 3 days END K 10 svn:author V 3 hrs K 8 svn:date V 27 2013-06-14T02:21:32.140858Z K 7 svn:log V 703 MFC 228990,243232,243233: Overhaul of route6d(8): - Use queue(3) for linked-list. - Use a consistent naming scheme for struct members. - Use ANSI C style function declaration. - Add check of RTM_VERSION mismatch. - Increase the number of retry for NET_RT_DUMP from 5 to 15. - Use 2001:db8:: as an example instead of deprecated 3ffe:: address block. - Add check for connected routes. - Add support of RTM_IFANNOUNCE for dyanmically-added/removed interfaces. - Add support of *, ?, and [ in the interface list. - Add -P number to specify route flag which will never expire. - Add -Q number to specify route flag which route6d will add to routes via RIP. - Add -p pidfile to specify the process ID file. END K 10 svn:author V 8 lstewart K 8 svn:date V 27 2013-06-14T02:25:40.869131Z K 7 svn:log V 171 Fix a potential NULL-pointer dereference that would trigger if the hhook registration site did not provide storage for a copy of the hhook_head struct. MFC after: 3 days END K 10 svn:author V 3 pfg K 8 svn:date V 27 2013-06-14T02:51:03.602988Z K 7 svn:log V 712 MFC r251561: libstand: Reset the seek pointer in ext2fs as done in UFS. Reset the seek pointer to 0 when a file is successfully opened, since otherwise the initial seek offset will contain the directory offset of the filesystem block that contained its directory entry. This bug was mostly harmless because typically the directory is less than one filesystem block in size so the offset would be zero. It did however generally break loading a kernel from the (large) kernel compile directory. Also reset the seek pointer when a new inode is opened in read_inode(), though this is not actually necessary now because all callers set it afterwards. PR: 177328 Submitted by: Eric van Gyzen Reviewed by: iedowse END K 10 svn:author V 3 pfg K 8 svn:date V 27 2013-06-14T03:21:53.731422Z K 7 svn:log V 136 MFC r251561: libstand: Reset the seek pointer in ext2fs as done in UFS. PR: 177328 Submitted by: Eric van Gyzen Reviewed by: iedowse END K 10 svn:author V 3 pfg K 8 svn:date V 27 2013-06-14T03:28:29.386502Z K 7 svn:log V 134 MFC r250550, r250566; Update the gcc43 ChangeLog. Add support for "d" floating-point suffix, as defined by draft N1312 of TR 24732. END K 10 svn:author V 5 gibbs K 8 svn:date V 27 2013-06-14T03:31:11.033200Z K 7 svn:log V 287 sys/dev/xen/netfront/netfront.c: In netif_free(), call ifmedia_removeall() after ether_ifdetach() so that bpf listeners are detached, any link state processing is completed, and there is no chance for external reference to media information. Suggested by: yongari MFC after: 1 week END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-06-14T03:42:10.578699Z K 7 svn:log V 294 Initial AR9485/AR933x 1x1 LNA diversity work. * Add the LNA configuration table entries for AR933x/AR9485 * Add a chip-dependent LNA signal level delta in the startup path * Add a TODO list for the stuff I haven't yet ported over but I haven't. Tested: * AR9462 with LNA diversity enabled END K 10 svn:author V 3 pfg K 8 svn:date V 27 2013-06-14T03:58:52.918410Z K 7 svn:log V 154 MFC r251562, r251612: Miscellaneous cleanups for ext2fs: - e2fs_bpg and e2fs_isize are always unsigned. - s/file system/filesystem/g (from ffs r96755) END K 10 svn:author V 8 lstewart K 8 svn:date V 27 2013-06-14T04:10:34.459333Z K 7 svn:log V 518 Add support for non-virtualised hhook points, which are uniquely identified by type and id, as compared to virtualised hook points which are now uniquely identified by type, id and a vid (which for vimage is the pointer to the vnet that the hhook resides in). All hhook_head structs for both virtualised and non-virtualised hook points coexist in hhook_head_list, and a separate list is maintained for hhook points within each vnet to simplify some vimage-related housekeeping. Reviewed by: scottl MFC after: 1 week END K 10 svn:author V 7 yongari K 8 svn:date V 27 2013-06-14T05:16:51.981332Z K 7 svn:log V 83 Fix a typo introduced in r213280. IFM_OPTIONS macro should see current media word. END K 10 svn:author V 5 kevlo K 8 svn:date V 27 2013-06-14T05:36:47.794980Z K 7 svn:log V 292 - Use the consistenly PHY-specific reset routine PHY_RESET() rather than generic mii_phy_reset(). - Return the result of mii_mediachg() rather than blindly returning 0. - on smsc(4), driver lock should be held to get current mii_media_active/mii_media_status value. Reviewed by: yongari END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-06-14T06:14:49.170084Z K 7 svn:log V 206 If chan is NULL, don't derefrence it. The bluetooth setup code actually does a channel lookup during setup, even though we haven't yet programmed in a channel. Sigh. Tested: * WB225 (AR9485) + bluetooth END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-06-14T06:15:23.138956Z K 7 svn:log V 49 Add bluetooth setup method functions to the HAL. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-06-14T08:11:45.700486Z K 7 svn:log V 50 Add missing formatting strings. Thanks to: clang END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-06-14T08:12:40.705710Z K 7 svn:log V 57 Begin fleshing out an AR9300 EEPROM dump helper utility. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-06-14T08:12:54.253109Z K 7 svn:log V 49 Link the AR9300 EEPROM dump tool into the build. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-06-14T08:13:21.288535Z K 7 svn:log V 111 Flip on AH_PRIVATE_DIAG by default; this will include the AR9300 EEPROM dump code that is worth having around. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-06-14T08:15:28.546939Z K 7 svn:log V 689 The AR9300 HAL uses this config to program AR_PHY_SWITCH_COM_2 on AR9485 NICs which have bluetooth coexistence enabled. The WB225 NIC has the common antenna switch configuration set to 0x0 which disables all external switch bit setting. This obviously won't work when doing coexistence. This value is a magic value from the windows .inf files. It _looks_ right but I haven't yet verified it - unfortunately my AR9285+AR3012 BT combo has an earlier BT device which doesn't actually _have_ firmware on it. So I have to fix ath3kfw to handle loading in firmware into the newer NICs before I can finish testing this. This may not hold true for CUS198, which is another custom AR9485 board. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-06-14T08:18:17.556110Z K 7 svn:log V 299 Add in an initial WB225 (AR9485 + AR3012 BT) combo profile. This hasn't yet been tested as unfortunately the AR3012 I have doesn't have the "real" firmware on it; it shipped with the cut down HCI firmware that only understands enough to accept a new firmware image. * Linux ath9k (GPIO constants) END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-06-14T08:26:58.016017Z K 7 svn:log V 172 Improve firmware download status check. Previous check was insufficient for ATA since it ignored transport errors like command timeouts, while for SCSI it was just wrong. END K 10 svn:author V 7 pluknet K 8 svn:date V 27 2013-06-14T08:28:08.301387Z K 7 svn:log V 201 Fix and improve filemon(4) example: - remove return statements from void function [1] - include missing header - use O_CLOEXEC instead of separate fcntl() calls PR: docs/179459 [1] MFC after: 1 week END K 10 svn:author V 7 pluknet K 8 svn:date V 27 2013-06-14T10:26:38.135193Z K 7 svn:log V 91 Replace cpusetffs_obj with CPU_FFS, missed in r251703. Reported by: bdrewery, O. Hartmann END K 10 svn:author V 3 pfg K 8 svn:date V 27 2013-06-14T10:45:31.565516Z K 7 svn:log V 154 MFC r250550: (Missing libcpp merge) Add support for "d" floating-point suffix, as defined by draft N1312 of TR 24732. Reported by: dim Pointy hat: pfg END K 10 svn:author V 3 jhb K 8 svn:date V 27 2013-06-14T15:58:24.831654Z K 7 svn:log V 61 Merge a missing part of 235613 to add the new dirs to mtree. END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-06-14T16:24:07.524743Z K 7 svn:log V 347 We cannot remove the _+_ trick, until old make is completely deprecated. But we don't want to set it to + for bmake since it breaks make -N which is used to supress the normal handling of targets marked with .MAKE (which seems broken in fmake and might be why _+_ was introduced). Add some comments to explain what's gong on. Reviewed by: obrien END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-06-14T16:25:41.278516Z K 7 svn:log V 144 Flag recursive make targets with .MAKE (has no effect on fmake) make -n will still exectute such targets make -N will not. Reviewed by: obrien END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-06-14T16:30:11.329879Z K 7 svn:log V 212 Flag recursive make targets with .MAKE so that job token pipe is passed to them. To avoid surprising anyone, only add .MAKE to ${TGTS} when -n has not been specified (at least for Makefile). Reviewed by: obrien END K 10 svn:author V 5 gibbs K 8 svn:date V 27 2013-06-14T17:00:58.487126Z K 7 svn:log V 884 Improve debugger visibility into queuing functions by removing the macro scheme for defining inline command queuing functions. Prefer enums to #defines. sys/dev/xen/blkfront/block.h Replace inline function generation performed by the XBDQ_COMMAND_QUEUE() macro with single instances of each inline function (init, enqueue, dequeue, remove). This was made possible by using queue indexes instead of bit flags in the command structure, and passing the index enum as an argument to the functions. Improve panic/assert messages in the queue functions. Combine queue data and stats into a single data structure and declare an array of them instead of each queue individually. Convert command flags, softc state, and softc flags to enums. sys/dev/xen/blkfront/blkfront.c Mechanical adjustments for new queue api. Sponsored by: Spectra Logic Corporation MFC after: 1 week END K 10 svn:author V 8 lstewart K 8 svn:date V 27 2013-06-14T18:11:21.429731Z K 7 svn:log V 317 Fix a major oversight in r251732 which causes non-VIMAGE kernels to trigger a KASSERT during TCP hhook registration at boot. Virtualised hook points only require extra housekeeping and sanity checking when "options VIMAGE" is present. Reported by: bdrewery,jh,dhw Tested by: dhw MFC after: 1 week X-MFC with: 251732 END K 10 svn:author V 3 des K 8 svn:date V 27 2013-06-14T18:26:57.447649Z K 7 svn:log V 110 Change the error detection logic so it triggers on the first error message from make rather than on the last. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2013-06-14T18:30:43.131805Z K 7 svn:log V 361 MFC 249767: - Some BIOSes use an Extended IRQ resource descriptor in _PRS for a link that uses non-ISA IRQs but use a plain IRQ resource in _CRS. However, a non-ISA IRQ can't fit into a plain IRQ resource. If we encounter a link like this, build the resource buffer from _PRS instead of _CRS. - Set the correct size of the end tag in a resource buffer. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2013-06-14T18:42:08.968470Z K 7 svn:log V 361 MFC 249767: - Some BIOSes use an Extended IRQ resource descriptor in _PRS for a link that uses non-ISA IRQs but use a plain IRQ resource in _CRS. However, a non-ISA IRQ can't fit into a plain IRQ resource. If we encounter a link like this, build the resource buffer from _PRS instead of _CRS. - Set the correct size of the end tag in a resource buffer. END K 10 svn:author V 7 ghelmer K 8 svn:date V 27 2013-06-14T18:56:37.938072Z K 7 svn:log V 677 MFC r244090, r250945 Changes to resolve races in bpfread() and catchpacket() that, at worst, cause kernel panics. Add a flag to the bpf descriptor to indicate whether the hold buffer is in use. In bpfread(), set the "hold buffer in use" flag before dropping the descriptor lock during the call to bpf_uiomove(). Everywhere else the hold buffer is used or changed, wait while the hold buffer is in use by bpfread(). Add a KASSERT in bpfread() after re-acquiring the descriptor lock to assist uncovering any additional hold buffer races. While waiting for the bpf hold buffer to become idle, check the return value from mtx_sleep() and exit bpfread() on errors such as EINTR. END K 10 svn:author V 2 mm K 8 svn:date V 27 2013-06-14T19:26:32.666033Z K 7 svn:log V 7761 MFC 246619,247187,247265,247348,247398,247540,247585,248265,248267,248571, 248976,249004,249042,249047,249188,249195,249196,249206,249207,249319, 249326,249356,249357,249787,249883,249858 Merge libzfs_core, zfs deadman thread and other ZFS bugfixes and improvements. MFC r246619: Correct spelling of "daemon". No .Dd bump. Noticed by: Nathan Rich MFC r247187: Import vendor change to avoid "unitialized variable" warnings. Illumos ZFS issues: 3522 zfs module should not allow uninitialized variables MFC r247265: Merge the ZFS I/O deadman thread from vendor (illumos). This feature panics the system on hanging ZFS I/O, helps debugging and resumes failed service. The panic behavior can be controlled with the loader-only tunables: vfs.zfs.deadman_enabled (enable or disable panic on stalled ZFS I/O) vfs.zfs.deadman_synctime (expiration time for stalled ZFS I/O) By default, ZFS I/O deadman is enabled by default on amd64 and i386 excluding virtual guest machines. MFC r247348: Be more verbose on ZFS deadman I/O panic Patch suggested upstream. MFC r247398: Import metaslab_sync() speedup from vendor (illumos). Illumos ZFS issues: 3552 condensing one space map burns 3 seconds of CPU in spa_sync() thread 3564 spa_sync() spends 5-10% of its time in metaslab_sync() (when not condensing) 3578 transferring the freed map to the defer map should be constant time 3579 ztest trips assertion in metaslab_weight() MFC r247540: Fix the zfs_ioctl compat layer to support zfs_cmd size change introduced in r247265 (ZFS deadman thread). Both new utilities now support the old kernel and new kernel properly detects old utilities. For future backwards compatibility, the vfs.zfs.version.ioctl read-only sysctl has been introduced. With this sysctl zfs utilities will be able to detect the ioctl interface version of the currently loaded zfs module. MFC r247585: Merge new read-only zfs properties from vendor (illumos) Illumos ZFS issues: 3588 provide zfs properties for logical (uncompressed) space used and referenced MFC r248265: Update zfs.8 manpage date (missing in r247585) MFC r248267: Import minor ZFS changes from vendor Illumos ZFS issues: 3604 zdb should print bpobjs more verbosely (fix zdb hang) 3606 zpool status -x shouldn't warn about old on-disk format MFC r248571: MFV 238590, 238592: In the first zfs ioctl restructuring phase, the libzfs_core library was introduced. It is a new thin library that wraps around kernel ioctl's. The idea is to provide a forward-compatible way of dealing with new features. Arguments are passed in nvlists and not random zfs_cmd fields, new-style ioctls are logged to pool history using a new method of history logging. http://blog.delphix.com/matt/2012/01/17/the-future-of-libzfs/ MFV 247580 [1]: To address issues of several deadlocks and race conditions the locking code around dsl_dataset was rewritten and the interface to synctasks was changed. User-Visible Changes: "zfs snapshot" can create more arbitrary snapshots at once (atomically) "zfs destroy" destroys multiple snapshots at once "zfs recv" has improved performance Backward Compatibility: I have extended the compatibility layer to support full backward compatibility by remapping or rewriting the responsible ioctl arguments. Old utilities are fully supported by the new kernel module. Forward Compatibility: New utilities work with old kernels with the following restrictions: - creating, destroying, holding and releasing of multiple snapshots at once is not supported, this includes recursive (-r) commands Illumos ZFS issues: 2882 implement libzfs_core 2900 "zfs snapshot" should be able to create multiple, arbitrary snapshots at once 3464 zfs synctask code needs restructuring MFC r248976: Call dmu_snapshot_list_next() in zvol.c with dsl_pool_config lock held MFC r249004: Do not check against uninitialized rc and comment out vendor code MFC r249042: Fix possible pool hold leak in dmu_send_impl() Illumos ZFS issues: 3645 dmu_send_impl: possibilty of pool hold leak MFC r249047 (avg): spa_open_common: fix argument to zvol_create_minors Prior to r248571 spa_open was always called with a bare pool name, but now it is called with a dataset name instead (spa_lookup handles that). So, when a ZFS root is mounted spa_open is called with a name of a root dataset, which can very well be different from the pool name. But zvol_create_minors should be called with the pool name, because it performs a recursive traversal of all datasets under the name to find all those that are volumes. MFC r249188: Import vendor change to reduce diff, no effect on FreeBSD. Illumos ZFS issues: 3517 importing pool with autoreplace=on and "hole" vdevs crashes syseventd MFC r249195: Merge change from vendor to reduce diff only. ZFS dtrace probes are not supported on FreeBSD yet. Illumos ZFS issues: 3598 want to dtrace when errors are generated in zfs MFC r249196: Provide a fix for kernel panic if receiving recursive deduplicated streams. Problem reported to vendor. Illumos ZFS issues: 3692 Panic on zfs receive of a recursive deduplicated stream MFC r249206: Merge vendor change - modify time processing in deadman thread. Illumos ZFS issues: 3618 ::zio dcmd does not show timestamp data MFC r249207: Allow zdb to output a histogram of compressed block sizes. Illumos ZFS issues: 3641 want a histogram of compressed block sizes MFC r249319: ZFS expects a copyout of zfs_cmd_t on an ioctl error. Our sys_ioctl() doesn't copyout in this case. To solve this a new struct zfs_iocparm_t is introduced consisting of: - zfs_ioctl_version (future backwards compatibility purposes) - user space pointer to zfs_cmd_t (copyin and copyout) - size of zfs_cmd_t (verification purposes) The copyin and copyout of zfs_cmd_t is now done the illumos (vendor) way what makes porting of new changes easier and ensures correct behavior if returning an error. MFC r249326: Cast (void *)(uintptr_t) on copyout and copyin of zfs_iocparm_t.zfs_cmd MFC r249356: Merge bugfixes accepted and integrated by vendor. Underlying problems have been reported by us and fixed in r240942 and r249196. Illumos ZFS issues: 3645 dmu_send_impl: possibilty of pool hold leak 3692 Panic on zfs receive of a recursive deduplicated stream MFC r249357: Fix libzfs to report error instead of returning zero if trying to hold or release a non-existing snapshot of a existing dataset. In recursive case error is reported if no snapshots with the requested name have been found. Illumos ZFS issues: 3699 zfs hold or release of a non-existent snapshot does not output error MFC r249787: The zfs synctask code restructuring introduced a new bug that makes it impossible to set quota and reservation on pools lower than version 22. Problem has been reported and a solution discussed with vendor. Illumos ZFS issues: 3739 cannot set zfs quota or reservation on pool version < 22 MFC r249883: Respect the enoent_ok flag if reporting error for holding an non-existing snapshot. Related illumos ZFS issue: 3699 zfs hold or release of a non-existent snapshot does not output error MFC r249858: Merge vendor bugfix for a possible deadlock related to async destroy and improve write performance by introducing a new lock protecting tx_open_txg. Illumos ZFS issues: 3642 dsl_scan_active() should not issue I/O to determine if async destroying is active 3643 txg_delay should not hold the tc_lock END K 10 svn:author V 6 dteske K 8 svn:date V 27 2013-06-14T19:35:30.576597Z K 7 svn:log V 264 Add skeleton processing of selected packages in the order in which they should be processed. De-select each package as we "process" (actual processing still pending) each package so that if we get an error, we can return to an accurate state of selected packages. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2013-06-14T20:32:33.126730Z K 7 svn:log V 81 MFC 250053: Only cleanup CMI-related state on detach if the system supports CMI. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2013-06-14T20:44:23.707498Z K 7 svn:log V 81 MFC 250053: Only cleanup CMI-related state on detach if the system supports CMI. END K 10 svn:author V 3 dim K 8 svn:date V 27 2013-06-14T21:14:36.484319Z K 7 svn:log V 1096 Pull in r181620 from llvm trunk: [ms-inline asm] Fix a crasher when we fail on a direct match. The issue was that the MatchingInlineAsm and VariantID args to the MatchInstructionImpl function weren't being set properly. Specifically, when parsing intel syntax, the parser thought it was parsing inline assembly in the at&t dialect; that will never be the case. The crash was caused when the emitter tried to emit the instruction, but the operands weren't set. When parsing inline assembly we only set the opcode, not the operands, which is used to lookup the instruction descriptor. rdar://13854391 and PR15945 Also, this commit reverts r176036. Now that we're correctly parsing the intel syntax the pushad/popad don't match properly. I've reimplemented that fix using a MnemonicAlias. Pull in r183907 from llvm trunk: X86: Make the cmov aliases work with intel syntax too. These commits make a number of Intel-style inline assembly mnemonics aliases (occurring in several ports) work properly, which could cause assertions otherwise. Reported by: kwm, bapt END K 10 svn:author V 3 jhb K 8 svn:date V 27 2013-06-14T21:56:10.089208Z K 7 svn:log V 284 MFC 250220: Fix FIONREAD on regular files. The computed result was being ignored and it was being passed down to VOP_IOCTL() where it promptly resulted in ENOTTY due to a missing else for the past 8 years. While here, use a shared vnode lock while fetching the current file's size. END K 10 svn:author V 6 jilles K 8 svn:date V 27 2013-06-14T22:06:18.878502Z K 7 svn:log V 162 sh(1): A subshell environment has its own rlimits (ulimit). This has always been the case and is intended (just like cd). This matches Austin group issue #706. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2013-06-14T22:06:45.227536Z K 7 svn:log V 284 MFC 250220: Fix FIONREAD on regular files. The computed result was being ignored and it was being passed down to VOP_IOCTL() where it promptly resulted in ENOTTY due to a missing else for the past 8 years. While here, use a shared vnode lock while fetching the current file's size. END K 10 svn:author V 6 brooks K 8 svn:date V 27 2013-06-14T22:32:47.451962Z K 7 svn:log V 301 Simplify the hierarchy target's logic. [0] Run hierarchy with WORLDTMP in the path so it works when it is invoked directly. Such use is nearly alwasy wrong but appears to be common.[1] PR: conf/178209 [0], conf/178547 [1] Submitted by: Garrett Cooper [0] MFC after: 5 days END K 10 svn:author V 6 eadler K 8 svn:date V 27 2013-06-14T23:04:31.168130Z K 7 svn:log V 72 Fix typo (dbM -> dBm) Submitted by: Daan@vitsch.nl Reviewed by: adrian END K 10 svn:author V 5 gibbs K 8 svn:date V 27 2013-06-14T23:43:44.930930Z K 7 svn:log V 957 Upgrade Xen interface headers to Xen 4.2.1. Move FreeBSD from interface version 0x00030204 to 0x00030208. Updates are required to our grant table implementation before we can bump this further. sys/xen/hvm.h: Replace the implementation of hvm_get_parameter(), formerly located in sys/xen/interface/hvm/params.h. Linux has a similar file which primarily stores this function. sys/xen/xenstore/xenstore.c: Include new xen/hvm.h header file to get hvm_get_parameter(). sys/amd64/include/xen/xen-os.h: sys/i386/include/xen/xen-os.h: Correctly protect function definition and variables from being included into assembly files in xen-os.h Xen memory barriers are now prefixed with "xen_" to avoid conflicts with OS native primatives. Define Xen memory barriers in terms of the native FreeBSD primatives. Sponsored by: Spectra Logic Corporation Reviewed by: Roger Pau MonnĂ© Tested by: Roger Pau MonnĂ© Obtained from: Roger Pau MonnĂ© (bug fixes) END K 10 svn:author V 8 rmacklem K 8 svn:date V 27 2013-06-15T01:35:52.104268Z K 7 svn:log V 817 MFC: r249623 Both NFS clients can deadlock when using the "rdirplus" mount option. This can occur when an nfsiod thread that already holds a buffer lock attempts to acquire a vnode lock on an entry in the directory (a LOR) when another thread holding the vnode lock is waiting on an nfsiod thread. This patch avoids the deadlock by disabling readahead for this case, so the nfsiod threads never do readdirplus. Since readaheads for directories need the directory offset cookie from the previous read, they cannot normally happen in parallel. As such, testing by jhb@ and myself didn't find any performance degredation when this patch is applied. If there is a case where this results in a significant performance degradation, mounting without the "rdirplus" option can be done to re-enable readahead for directories. END