Ħt216684 139 317 301 125 192 131 131 150 770 345 563 202 764 263 121 220 307 546 158 159 817 249 181 287 165 183 319 319 183 249 181 191 191 439 166 262 171 262 441 162 603 297 175 185 376 204 413 243 150 363 136 415 399 171 203 239 279 279 264 269 387 267 1826 185 411 476 230 218 162 169 400 524 157 210 316 1016 337 221 359 237 418 142 366 174 181 165 208 169 1358 166 716 523 337 223 197 1285 165 540 117 117 125 234 557 734 258 322 288 313 431 347 456 298 188 649 170 212 909 193 199 307 1931 279 4589 518 472 757 349 592 321 746 451 206 1400 830 350 838 186 578 243 258 K 10 svn:author V 5 dougb K 8 svn:date V 27 2010-12-24T04:52:53.772849Z K 7 svn:log V 222 Clean up empty directories WRKDIRPREFIX when the parent exits This is not only tidier, but it also helps the situation when portmaster is occasionally run as root even though most usage is with the built-in sudo support. END K 10 svn:author V 3 imp K 8 svn:date V 27 2010-12-24T04:55:56.907794Z K 7 svn:log V 208 Redirect stderr from config to /dev/null. config -m is printing lots of annoying warnings when dealing with arm. The arm config files need to be fixed, but this restricts the output to a more useful place. END K 10 svn:author V 5 dougb K 8 svn:date V 27 2010-12-24T06:41:29.902573Z K 7 svn:log V 31 Error handling for INDEX fetch END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2010-12-24T07:41:39.561115Z K 7 svn:log V 96 Always clear flag PMUTEX_FLAG_DEFERED when unlocking, as it is only significant for lock owner. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-12-24T11:07:31.771859Z K 7 svn:log V 39 MFH r216649, r216666, r216670, r216682 END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-12-24T11:08:30.612183Z K 7 svn:log V 39 MFH r216649, r216666, r216670, r216682 END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-12-24T15:36:12.721274Z K 7 svn:log V 58 Hold root mounting while metadata module waits for disks. END K 10 svn:author V 8 rmacklem K 8 svn:date V 27 2010-12-24T18:46:44.247136Z K 7 svn:log V 672 Since VOP_READDIR() for ZFS does not return monotonically increasing directory offset cookies, disable the UFS related loop that skips over directory entries at the beginning of the block for the experimental NFS server. This loop is required for UFS since it always returns directory entries starting at the beginning of the block that the requested directory offset is in. In discussion with pjd@ and mckusick@ it seems that this behaviour of UFS should maybe change, with this fix being an interim patch until then. This patch only fixes the experimental server, since pjd@ is working on a patch for the regular server. Discussed with: pjd, mckusick MFC after: 5 days END K 10 svn:author V 8 rmacklem K 8 svn:date V 27 2010-12-24T20:24:07.993745Z K 7 svn:log V 247 Simplify vnode locking in the expeimental NFS server's readdir functions. In particular, get rid of two bogus VOP_ISLOCKED() calls. Removing the VOP_ISLOCKED() calls is the only actual bug fixed by this patch. Reviewed by: kib MFC after: 2 weeks END K 10 svn:author V 8 rmacklem K 8 svn:date V 27 2010-12-24T21:31:18.965568Z K 7 svn:log V 465 Add an argument to nfsvno_getattr() in the experimental NFS server, so that it can avoid calling VOP_ISLOCKED() when the vnode is known to be locked. This will allow LK_SHARED to be used for these cases, which happen to be all the cases that can use LK_SHARED. This does not fix any bug, but it reduces the number of calls to VOP_ISLOCKED() and prepares the code so that it can be switched to using LK_SHARED in a future patch. Reviewed by: kib MFC after: 2 weeks END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-12-25T08:42:38.153623Z K 7 svn:log V 109 Add a hook to pass debug flags to the build of rtld when doing make in the rtld directory. Reviewed by: kan END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-12-25T08:51:20.904239Z K 7 svn:log V 671 Implement support for ELF filters in rtld. Both normal and auxillary filters are implemented. Filtees are loaded on demand, unless LD_LOADFLTR environment variable is set or -z loadfltr was specified during the linking. This forces rtld to upgrade read-locked rtld_bind_lock to write lock when it encounters an object with filter during symbol lookup. Consolidate common arguments of the symbol lookup functions in the SymLook structure. Track the state of the rtld locks in the RtldLockState structure. Pass local RtldLockState through the rtld symbol lookup calls to allow lock upgrades. Reviewed by: kan Tested by: Mykola Dzham , nwhitehorn (powerpc) END K 10 svn:author V 2 ed K 8 svn:date V 27 2010-12-25T11:24:27.779969Z K 7 svn:log V 171 Slightly improve output of lock(1). - Remove the /dev/ portion of the TTY name. - In case we use lock -p, print the username that was used to obtain the password hash. END K 10 svn:author V 3 osa K 8 svn:date V 27 2010-12-25T11:52:04.839125Z K 7 svn:log V 29 Fix typo (Pashka -> Paskha). END K 10 svn:author V 5 maxim K 8 svn:date V 27 2010-12-25T17:35:30.352468Z K 7 svn:log V 125 o Fix -u flag description: it takes a username as an argument. PR: docs/153416 Submitted by: Eitan Adler MFC after: 1 week END K 10 svn:author V 3 alc K 8 svn:date V 27 2010-12-25T21:26:56.124463Z K 7 svn:log V 214 Introduce and use a new VM interface for temporarily pinning pages. This new interface replaces the combined use of vm_fault_quick() and pmap_extract_and_hold() throughout the kernel. In collaboration with: kib@ END K 10 svn:author V 8 rmacklem K 8 svn:date V 27 2010-12-25T21:56:25.154503Z K 7 svn:log V 448 Modify the experimental NFS server so that it uses LK_SHARED for RPC operations when it can. Since VFS_FHTOVP() currently always gets an exclusively locked vnode and is usually called at the beginning of each RPC, the RPCs for a given vnode will still be serialized. As such, passing a lock type argument to VFS_FHTOVP() would be preferable to doing the vn_lock() with LK_DOWNGRADE after the VFS_FHTOVP() call. Reviewed by: kib MFC after: 2 weeks END K 10 svn:author V 3 alc K 8 svn:date V 27 2010-12-25T23:54:50.964586Z K 7 svn:log V 66 Retire vm_fault_quick(). It's no longer used. Reviewed by: kib@ END K 10 svn:author V 3 alc K 8 svn:date V 27 2010-12-26T01:42:52.135370Z K 7 svn:log V 67 Correct the order of the arguments to vm_fault_quick_hold_pages(). END K 10 svn:author V 8 cperciva K 8 svn:date V 27 2010-12-26T13:05:43.416629Z K 7 svn:log V 719 Lock the vm page queue mutex in pmap_pte_release around the call to PMAP_SET_VA; this fixes a mutex-not-held panic when a process which called mlock(2) exits, and parallels a change made in pmap_pte 10 months ago (svn r204160). Note: The locking in this code is utterly broken. We should not be using the VM page queue mutex to protect the queue of pending Xen page mapping hypervisor calls. Even if it made sense to do so, this commit and r204160 introduce LORs between the vm page queue mutex and PMAP2mutex. (However, a possible deadlock is better than a guaranteed panic, and this change will hopefully make life easier for whoever fixes the Xen pmap locking in the future.) PR: kern/140313 MFC after: 3 days END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-12-26T13:14:36.312254Z K 7 svn:log V 156 MFC r216454: VOP_ISLOCKED() should not be used to determine if the vnode is locked. Explicitely track the locked status of the vnode. Approved by: re (bz) END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-12-26T13:20:10.352792Z K 7 svn:log V 89 MFC r216572: Restore the ABI of struct kinfo_proc32 after r213536. Approved by: re (bz) END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-12-26T13:25:47.832172Z K 7 svn:log V 191 sh: Allow arbitrary large numbers in CHECKSTRSPACE. Reduce "stack string" API somewhat and simplify code. Add a check for integer overflow of the "stack string" length (probably incomplete). END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-12-26T13:41:53.975994Z K 7 svn:log V 70 sh: Fix integer overflow check, it checked an uninitialized variable. END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-12-26T13:57:05.581446Z K 7 svn:log V 91 MFC r216453: Add the missed 'p' flag to getopt() optstring argument. Approved by: re (bz) END K 10 svn:author V 8 bschmidt K 8 svn:date V 27 2010-12-26T14:09:06.101448Z K 7 svn:log V 221 MFC r216557: Fix panic while trying to use monitor mode. The iwn_cmd() calls issued by iwn_config() want to msleep() on the mutex. PR: kern/138427 Submitted by: Henry Hu Approved by: re (kib) END K 10 svn:author V 8 bschmidt K 8 svn:date V 27 2010-12-26T14:10:12.752035Z K 7 svn:log V 221 MFC r216557: Fix panic while trying to use monitor mode. The iwn_cmd() calls issued by iwn_config() want to msleep() on the mutex. PR: kern/138427 Submitted by: Henry Hu Approved by: re (kib) END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-12-26T15:00:14.212565Z K 7 svn:log V 91 MFC r216453: Add the missed 'p' flag to getopt() optstring argument. Approved by: re (bz) END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-12-26T15:13:28.550675Z K 7 svn:log V 156 MFC r216454: VOP_ISLOCKED() should not be used to determine if the vnode is locked. Explicitely track the locked status of the vnode. Approved by: re (bz) END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-12-26T15:15:28.877984Z K 7 svn:log V 89 MFC r216572: Restore the ABI of struct kinfo_proc32 after r213536. Approved by: re (bz) END K 10 svn:author V 6 tuexen K 8 svn:date V 27 2010-12-26T17:21:47.665058Z K 7 svn:log V 96 MFC c216502: Fix a flightsize bug related to the processing of PKTDRP reports. Approved by: re END K 10 svn:author V 6 tuexen K 8 svn:date V 27 2010-12-26T17:29:26.813084Z K 7 svn:log V 96 MFC c216502: Fix a flightsize bug related to the processing of PKTDRP reports. Approved by: re END K 10 svn:author V 4 kaiw K 8 svn:date V 27 2010-12-26T18:10:39.386102Z K 7 svn:log V 345 * Add mention of the `-f`, `-q`, `-S`, and `-V` options in the synopsis section. * Document the `-l`, `-M` and `-S` options. * Improve the text describing the behavior of the `-r` option. * Start a section on standard compliance. * Indicate in the synopsis that the `-S` and `-s` options are mutually exclusive. Obtained from: elftoolchain END K 10 svn:author V 4 kaiw K 8 svn:date V 27 2010-12-26T18:12:13.452764Z K 7 svn:log V 73 Improve the description of the `-q` option. Obtained from: elftoolchain END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2010-12-26T18:15:18.154471Z K 7 svn:log V 165 MFC r216249 Re-add a status check which sneaked out during r214804. This change can fix some USB error messages showing up during bootup. Approved by: re (kib) END K 10 svn:author V 4 kaiw K 8 svn:date V 27 2010-12-26T18:15:32.739348Z K 7 svn:log V 78 Document the syntax accepted by the `-M` option. Obtained from: elftoolchain END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2010-12-26T18:15:57.442146Z K 7 svn:log V 165 MFC r216249 Re-add a status check which sneaked out during r214804. This change can fix some USB error messages showing up during bootup. Approved by: re (kib) END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-12-26T19:07:58.016209Z K 7 svn:log V 348 When node-specific configuration is missing in resource section, provide more useful information. Instead of: hastd: remote address not configured for resource foo Print the following: No resource foo configuration for this node (acceptable node names: freefall, freefall.freebsd.org, 44333332-4c44-4e31-4a30-313920202020). MFC after: 3 days END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-12-26T19:08:41.165814Z K 7 svn:log V 70 Detect when resource is configured more than once. MFC after: 3 days END K 10 svn:author V 5 dougb K 8 svn:date V 27 2010-12-26T20:18:50.938580Z K 7 svn:log V 508 Fix some bugs with -r: 1. In certain situations dependent ports that were otherwise up to date would be missed. 2. For the purpose of not rebuilding the parent port when -R is used we only care about the dependencies of the parent port being up to date. So determine the value of PM_RBP_NEEDS_UPGRADE before entering the MASTER_RB_LIST loop, then only test PM_RBP_NEEDS_UPGRADE at the end and ignore NO_DEP_UPDATES since at that point it could refer to dependencies of the dependent ports. END K 10 svn:author V 8 kensmith K 8 svn:date V 27 2010-12-26T21:07:11.879922Z K 7 svn:log V 199 End the Code Freeze on stable/7 and stable/8 - the release branches releng/7.4 and releng/8.2 now exist and will be used for the balance of the 7.4/8.2 release process. Approved by: core (implicit) END K 10 svn:author V 5 simon K 8 svn:date V 27 2010-12-26T22:29:44.061096Z K 7 svn:log V 81 Fix deprecated warning about -L which said -i was deprecated. MFC after: 3 days END K 10 svn:author V 6 emaste K 8 svn:date V 27 2010-12-26T23:19:16.931902Z K 7 svn:log V 90 Remove commented-out test that's covered in plus-minus2.0 anyway. Discussed with: jilles END K 10 svn:author V 4 jeff K 8 svn:date V 27 2010-12-27T00:12:57.681166Z K 7 svn:log V 282 - Implement missing OOB support modeled after TCP. - Document and resolve some potential socket teardown races with rx. The rx path proceeds under a separate lock and ssk->socket may become NULL while it's operating. Sponsored by: Isilon Systems, iX Systems, and Panasas. END K 10 svn:author V 3 kan K 8 svn:date V 27 2010-12-27T00:30:29.122959Z K 7 svn:log V 111 Fix an apparent cop-and-paste mistake in previous commit. This makes dlsym(RTLD_DEFAULT) work properly again. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2010-12-27T05:47:24.651283Z K 7 svn:log V 319 - Implement Linux compatible support for msix, removing some diffs against driver sources. - Add plubming to find the device based on the irq to eliminate another linux incompatibility in request_irq(). - Implement free_irq() which was previously empty. Sponsored by: Isilon Systems, iX Systems, and Panasas. END K 10 svn:author V 4 oleg K 8 svn:date V 27 2010-12-27T06:59:59.274529Z K 7 svn:log V 149 MFC r203548: Propagate the vlan events to the underlying interfaces/members so they can do initialization of hw related features. PR: kern/141646 END K 10 svn:author V 3 alc K 8 svn:date V 27 2010-12-27T07:12:22.445473Z K 7 svn:log V 58 Move vm_object_print()'s prototype to the expected place. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2010-12-27T07:38:33.618808Z K 7 svn:log V 269 - Eliminate the laregest source of linux incompatibilities in drivers by supplying a compatible iounmap and ioremap. A hash of addresses and lenghts was necessary to remember the length for pmap_unmapdev. Sponsored by: Isilon Systems, iX Systems, and Panasas. END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-12-27T12:06:38.585697Z K 7 svn:log V 44 Teach ddb "show mount" about MNTK_SUJ flag. END K 10 svn:author V 7 attilio K 8 svn:date V 27 2010-12-27T12:39:24.736857Z K 7 svn:log V 318 MFC r215679: Add the ability for GDB to printout the thread name along with other thread specific informations. In order to achieve that, for both on-line debugging and core analysis, a new member to PT_LWPINFO ptrace(2) interface is added and a new ELF note (NT_THRMISC) as well. Sponsored by: Sandvine Incorporated END K 10 svn:author V 7 attilio K 8 svn:date V 27 2010-12-27T12:52:35.661071Z K 7 svn:log V 302 MFC r215868, 215918, 216266, 216298: - Advertise when the reboot came from a watchdog-induced reset - Fix a bug where TCO_BOOT_STS was supposed to be cleared after TCO_SECOND_TO_STS - Use macros for max and min value capping when re-arming the watchdog timeout Sponsored by: Sandvine Incorporated END K 10 svn:author V 7 attilio K 8 svn:date V 27 2010-12-27T12:57:38.903371Z K 7 svn:log V 75 MFC r216513: Add Exar octal PCI UART. Sponsored by: Sandvine Incorporated END K 10 svn:author V 2 ed K 8 svn:date V 27 2010-12-27T15:05:15.047024Z K 7 svn:log V 111 Fix style bug introduced in r216696. Additional indentation caused the line to become longer than 80 columns. END K 10 svn:author V 6 emaste K 8 svn:date V 27 2010-12-27T15:57:41.638915Z K 7 svn:log V 143 Restore two commented-out tests from plus-minus1.0 to a new file. These two cases pass on -CURRENT but fail on stable/8. Reviewed by: jilles END K 10 svn:author V 3 hrs K 8 svn:date V 27 2010-12-27T16:01:39.909409Z K 7 svn:log V 186 - route(8) manual page update: no longer supports RTF_CLONING and RTF_LLINFO (MFC from r196833) - Remove -cloning flag from network.subr[*] PR: conf/144842 [*] Approved by: re (bz) END K 10 svn:author V 3 hrs K 8 svn:date V 27 2010-12-27T16:02:14.132439Z K 7 svn:log V 186 - route(8) manual page update: no longer supports RTF_CLONING and RTF_LLINFO (MFC from r196833) - Remove -cloning flag from network.subr[*] PR: conf/144842 [*] Approved by: re (bz) END K 10 svn:author V 4 oleg K 8 svn:date V 27 2010-12-27T18:55:16.017496Z K 7 svn:log V 170 MFC r203548: Propagate the vlan events to the underlying interfaces/members so they can do initialization of hw related features. PR: kern/141646 Approved by: re (bz) END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2010-12-27T19:38:25.907075Z K 7 svn:log V 172 Remove comment bemoaning the lack of an INP_INHASHLIST above in_pcbdrop(); I fixed this in r189657 in early 2009, so the comment is OBE. Reviewed by: bz MFC after: 3 days END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-12-27T22:18:27.070236Z K 7 svn:log V 291 sh: Simplify "stack string" code slightly. Maintain a pointer to the end of the stack string area instead of how much space is left. This simplifies the macros in memalloc.h. The places where the new variable must be updated are only where the memory area is created, destroyed or resized. END K 10 svn:author V 5 dougb K 8 svn:date V 27 2010-12-27T22:52:47.933505Z K 7 svn:log V 172 Add pidfile [1] While I'm here, don't run the sysctl frob unconditionally, and s/sysctl/$SYSCTL/ PR: conf/153460 [1] Submitted by: Grigory Rechistov END K 10 svn:author V 7 wollman K 8 svn:date V 27 2010-12-27T23:46:47.754969Z K 7 svn:log V 1728 Merge three revisions from head: r214583 | wollman | 2010-10-30 22:36:05 -0400 (Sat, 30 Oct 2010) | 6 lines Changed paths: M /head/usr.bin/locate/locate/locate.rc M /head/usr.bin/locate/locate/updatedb.sh Make it possible to exclude directories by name no matter where they are in the filesystem from the locate database. By default, exclude ".zfs" directories, as users who who have set snapdir=visible and are taking frequent snapshots most likely do not want the snapshots included in the locate database. ------------------------------------------------------------------------ r214613 | wollman | 2010-10-31 21:51:47 -0400 (Sun, 31 Oct 2010) | 7 lines Changed paths: M /head/usr.bin/locate/locate/updatedb.sh jilles@ pointed out that using ${PRUNEDIRS:=".zfs"} in updatedb.sh made it impossible to override PRUNEDIRS to make it empty. Use the non-colon form to only set PRUNEDIRS if it is completely unset. (For parallelism, the other configuration defaults here could be done the same way, but that could be more obviously accomplished by disabling updatedb in periodic.conf, so leave them alone for now.) ------------------------------------------------------------------------ r214615 | wollman | 2010-10-31 22:20:18 -0400 (Sun, 31 Oct 2010) | 6 lines Changed paths: M /head/usr.bin/locate/locate/updatedb.sh Style cleanup: make this look more like a 21st-century shell script and not something out of the early 1980s. Make sure all error messages go to stderr, not stdout. Since there's error-handling code to handle empty SEARCHPATHS and FILESYSTEMS, use the initialization form that allows this error to be diagnosed. (hat tip: jilles@) END K 10 svn:author V 8 cperciva K 8 svn:date V 27 2010-12-27T23:52:40.368292Z K 7 svn:log V 88 Make it possible to specify WITHOUT_MODULES in a kernel config file. MFC after: 1 week END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-12-27T23:56:03.356316Z K 7 svn:log V 315 sh: Add a testcase for cmdsubst errors that already works properly. If a command substitution consists of one special builtin and there is a redirection error, this should not abort the outer shell. It was fixed in r201366 by ignoring special builtin properties for command substitutions consisting of one builtin. END K 10 svn:author V 8 cperciva K 8 svn:date V 27 2010-12-27T23:59:27.183747Z K 7 svn:log V 378 Build the modules which can be built. The excluded modules fall into two categories: Those which can't build with PAE because they attempt to cast a pointer to a bus_addr_t (mostly scsi drivers); and those which can't be built with XEN because they conflict with something in xen-os.h (e.g., in cxgb there is a conflicting definition of test_and_clear_bit). MFC after: 1 week END K 10 svn:author V 8 lstewart K 8 svn:date V 27 2010-12-28T01:38:52.104832Z K 7 svn:log V 132 Fix a whitespace nit introduced in r215166. Sponsored by: FreeBSD Foundation Spotted by: bz MFC after: 5 weeks X-MFC with: r215166 END K 10 svn:author V 5 kevlo K 8 svn:date V 27 2010-12-28T02:25:32.275057Z K 7 svn:log V 123 MFC r216106: Don't error out while searching for empty directories. Submitted by: Bakul Shah END K 10 svn:author V 5 kevlo K 8 svn:date V 27 2010-12-28T02:43:28.903898Z K 7 svn:log V 68 MFC r216431: Check return value of malloc(). Reviewed by: hselasky END K 10 svn:author V 5 kevlo K 8 svn:date V 27 2010-12-28T02:45:24.744196Z K 7 svn:log V 75 MFC r216432: Fix a memory leak on the error condition Reviewed by: rpaulo END K 10 svn:author V 8 lstewart K 8 svn:date V 27 2010-12-28T03:27:20.444296Z K 7 svn:log V 302 Add a new sack hint to track the most recent and highest sacked sequence number. This will be used by the incoming Enhanced RTT Khelp module. Sponsored by: FreeBSD Foundation Submitted by: David Hayes Reviewed by: bz and others (as part of a larger patch) MFC after: 3 months END K 10 svn:author V 2 ae K 8 svn:date V 27 2010-12-28T08:36:44.920734Z K 7 svn:log V 432 Make EBR probe method less strictly to be able detect EBRs with small non fatal inconsistency. EBR may contain boot loader and sometimes it just has some garbage data. Now this does not prevent FreeBSD to use extended partitions. But since we do not support bootcode for EBR we mark tables which have non empty boot area as corrupt. This does make them readonly and we can not damage this data. PR: kern/141235 MFC after: 1 month END K 10 svn:author V 2 ae K 8 svn:date V 27 2010-12-28T08:42:12.648936Z K 7 svn:log V 66 Allow destroying EBR in COMPAT (default) mode. MFC after: 2 week END K 10 svn:author V 3 uqs K 8 svn:date V 27 2010-12-28T10:08:50.669688Z K 7 svn:log V 117 Revert most of r210764, now that mdocml does the right thing with empty quotation macros. Requested by: Alex Kozlov END K 10 svn:author V 4 oleg K 8 svn:date V 27 2010-12-28T11:34:59.403907Z K 7 svn:log V 222 MFC r213265: Fix handling of initial credit for an idle pipe. This fixes the bug where setting bw > 1 MTU/tick resulted in infinite bandwidth if io_fast=1 PR: kern/147245, kern/148429 Obtained from: Riccardo Panicucci END K 10 svn:author V 8 lstewart K 8 svn:date V 27 2010-12-28T12:13:30.014537Z K 7 svn:log V 918 - Add some helper hook points to the TCP stack. The hooks allow Khelp modules to access inbound/outbound events and associated data for established TCP connections. The hooks only run if at least one hook function is registered for the hook point, ensuring the impact on the stack is effectively nil when no TCP Khelp modules are loaded. struct tcp_hhook_data is passed as contextual data to any registered Khelp module hook functions. - Add an OSD (Object Specific Data) pointer to struct tcpcb to allow Khelp modules to associate per-connection data with the TCP control block. - Bump __FreeBSD_version and add a note to UPDATING regarding to ABI changes introduced by this commit and r216753. In collaboration with: David Hayes and Grenville Armitage Sponsored by: FreeBSD Foundation Reviewed by: bz, others along the way MFC after: 3 months END K 10 svn:author V 4 oleg K 8 svn:date V 27 2010-12-28T12:18:46.579530Z K 7 svn:log V 243 MFC r213265: Fix handling of initial credit for an idle pipe. This fixes the bug where setting bw > 1 MTU/tick resulted in infinite bandwidth if io_fast=1 PR: kern/147245, kern/148429 Obtained from: Riccardo Panicucci Approved by: re (bz) END K 10 svn:author V 8 lstewart K 8 svn:date V 27 2010-12-28T12:37:57.134522Z K 7 svn:log V 123 Add a comment for the ccv member of struct tcpcb. Sponsored by: FreeBSD Foundation MFC after: 5 weeks X-MFC with: r215166 END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-12-28T13:28:24.217008Z K 7 svn:log V 263 sh: Make expansion errors in optimized command substitution non-fatal. Command substitutions consisting of a single simple command are executed in the main shell process but this should be invisible apart from performance and very few exceptions such as $(trap). END K 10 svn:author V 8 cperciva K 8 svn:date V 27 2010-12-28T14:36:32.760269Z K 7 svn:log V 139 Remove a "not strictly correct" (and panic-inducing) workaround for a bug which doesn't seem to exist. PR: kern/141328 MFC after: 3 days END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-12-28T14:58:08.699675Z K 7 svn:log V 322 sh: Add test for optimized command substitution. This test verifies that certain expansions without side effects do not cause the command substitution to be executed in a child process. This is not a correctness requirement, but it involves a nontrivial amount of code and it would be unfortunate if it stopped working. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2010-12-28T16:57:29.915175Z K 7 svn:log V 50 Use bus_alloc_resource_any(). MFC after: 2 weeks END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2010-12-28T17:02:15.045164Z K 7 svn:log V 265 Only keep track of PTE validity statistics for pages not locked in the table. The 'locked' attribute is used to circumvent the regular page table locking for some special pages, with the result that including locked pages here causes races when updating the stats. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-12-28T17:45:43.908444Z K 7 svn:log V 78 Add device id for RDC M3010 which is found on Vortex86 SoC. Reviewed by: mav END K 10 svn:author V 3 jhb K 8 svn:date V 27 2010-12-28T18:37:10.369688Z K 7 svn:log V 89 MFC 208587: Add support for reporting the NOCOREDUMP flag from sysctl_kern_proc_vmmap(). END K 10 svn:author V 3 jhb K 8 svn:date V 27 2010-12-28T18:56:55.383142Z K 7 svn:log V 73 MFC 203532: Fix gcore so that it can have the '-s' flag without hanging. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2010-12-28T18:58:15.953197Z K 7 svn:log V 115 Start sentences on a new line to ease life for translators. Tweak the wording in a few places. MFC after: 1 week END K 10 svn:author V 5 dougb K 8 svn:date V 27 2010-12-28T19:22:53.276644Z K 7 svn:log V 75 Fix the discovery of WRKDIRPREFIX so that it works with multiport() and -a END K 10 svn:author V 3 jhb K 8 svn:date V 27 2010-12-28T19:26:57.679018Z K 7 svn:log V 1264 MFC 199805,203532,204329,210063,210065: - Change gcore in order to get rid of the procfs accesses and use FreeBSD's specific sysctls and ptrace interfaces. This change switches a bit gcore POLA that is summarized here: - now gcore can recognize threads within the process and handle dumps on thread-scope - the process to be analyzed will be stopped during its gcore run - gcore may not work with processes which are actively being analyzed by gdb or truss - the ptrace interface may cause syscalls to return EINTR, thus interferring with signals handling within the process - Fix gcore so that it can have the '-s' flag without hanging. - Fix the way the segments are included in the gcore outputs (with the default invokation): - Right now if segments are not writable are not included. Remove this. - Right now if a segment is mapped with NOCORE the check is not honoured. Change this by checking the newly added flag, from libutil, KVME_FLAG_NOCOREDUMP. Besides that, add a new flag (-f) that forces a 'full' dump of all the segments excluding just the malformed ones. This might be used very carefully as, among the reported segments, there could be memory mapped areas that could be vital to program execution. END K 10 svn:author V 3 alc K 8 svn:date V 27 2010-12-28T20:02:30.701061Z K 7 svn:log V 74 Correct a typo in vm_fault_quick_hold_pages(). Reported by: Bartosz Stec END K 10 svn:author V 8 jmallett K 8 svn:date V 27 2010-12-28T20:11:54.368422Z K 7 svn:log V 618 When allocating memory from bootmem for the kernel to use, try to leave about 2MB of memory in the bootmem allocator for the SDK to use internally at a later point. It'd be nice if there were some functions we could call before allocating memory to let various facilities reserve some memory, but for now this seems sufficient. Previously some unfortunate systems could give up all (or at least most) of their memory to the kernel from bootmem, and then allocating command queues for packet output and the like would fail later in the boot process (which in turn would lead to crashes even later.) Reported by: kan END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-12-28T21:12:15.301366Z K 7 svn:log V 430 ZFS might not return monotonically increasing directory offset cookies, so turn off UFS-specific hack that assumes so in ZFS case. Before the change we can miss returning some directory entries to a NFS client. I believe that the hack should be moved to ufs_readdir(), but until we find somebody who will do it, turn it off for ZFS in NFS server code. Submitted by: rmacklem Discussed with: rmacklem, mckusick MFC after: 3 days END K 10 svn:author V 3 imp K 8 svn:date V 27 2010-12-28T21:18:58.239896Z K 7 svn:log V 244 Due to the automatic inclusion of DEFAULTS everywhere, and since it has device mem in it almost everywhere, we get warnings about duplicated device almost everywhere. Comment it out, with a note about why, so that we don't get those warnings. END K 10 svn:author V 3 imp K 8 svn:date V 27 2010-12-28T21:20:58.436113Z K 7 svn:log V 130 Remove mem, io, isa and npx since they are duplicative of the entries in DEFAULTS. Saves 8 lines of warnings when we build XBOX. END K 10 svn:author V 3 imp K 8 svn:date V 27 2010-12-28T21:22:08.112586Z K 7 svn:log V 104 Comment out npx and isa from NOTES file. We don't need them here since DEFAULTS already pulls them in. END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-12-28T21:27:08.103405Z K 7 svn:log V 1188 sh: Don't do optimized command substitution if expansions have side effects. Before considering to execute a command substitution in the same process, check if any of the expansions may have a side effect; if so, execute it in a new process just like happens if it is not a single simple command. Although the check happens at run time, it is a static check that does not depend on current state. It is triggered by: - expanding $! (which may cause the job to be remembered) - ${var=value} default value assignment - assignment operators in arithmetic - parameter substitutions in arithmetic except ${#param}, $$, $# and $? - command substitutions in arithmetic This means that $((v+1)) does not prevent optimized command substitution, whereas $(($v+1)) does, because $v might expand to something containing assignment operators. Scripts should not depend on these exact details for correctness. It is also imaginable to have the shell fork if and when a side effect is encountered or to create a new temporary namespace for variables. Due to the $! change, the construct $(jobs $!) no longer works. The value of $! should be stored in a variable outside command substitution first. END K 10 svn:author V 6 marcel K 8 svn:date V 27 2010-12-28T21:40:19.892590Z K 7 svn:log V 70 Fix a misalignment trap under EFI caused by accessing the linker set. END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2010-12-28T22:31:59.334691Z K 7 svn:log V 439 Fix an error in the ABI in rtld_bind_start(). When passing arguments to a C function, the caller's stack frame must have room to store all of the arguments to that function. While here, fix stack frame alignment issues. Without this change, the compiler will save r3 and r4 into the caller's stack frame before calling setjmp() in _rtld_bind(). These would then overwrite arguments to the newly-bound function, causing eventual failures. END K 10 svn:author V 3 imp K 8 svn:date V 27 2010-12-28T22:44:32.284596Z K 7 svn:log V 25 Revert r216775, per jhb@ END K 10 svn:author V 3 imp K 8 svn:date V 27 2010-12-28T22:45:29.905355Z K 7 svn:log V 25 Revert r216777, per jhb@ END K 10 svn:author V 3 imp K 8 svn:date V 27 2010-12-28T22:49:28.332160Z K 7 svn:log V 33 MIPS has lots of flavors as well END K 10 svn:author V 8 rmacklem K 8 svn:date V 27 2010-12-28T23:50:13.520367Z K 7 svn:log V 136 Delete the nfsvno_localconflict() function in the experimental NFS server since it is no longer used and is broken. MFC after: 2 weeks END K 10 svn:author V 4 jeff K 8 svn:date V 27 2010-12-29T02:24:43.525767Z K 7 svn:log V 463 - Eliminate file descriptor ifdefs related to get_unused_fd() and alloc_file() by providing compatible wrappers for these functions. - Add support for SIGIO based async file IO and the fasync() file operation entry. - Document a few cases that are missing compatibility shims and still require work. - Also document those ifdefs which do not require compatibility shims for various reasons. Sponsored by: Isilon Systems, iX Systems, and Panasas. END K 10 svn:author V 8 rmacklem K 8 svn:date V 27 2010-12-29T02:54:41.329659Z K 7 svn:log V 636 MFC: r216691 Since VOP_READDIR() for ZFS does not return monotonically increasing directory offset cookies, disable the UFS related loop that skips over directory entries at the beginning of the block for the experimental NFS server. This loop is required for UFS since it always returns directory entries starting at the beginning of the block that the requested directory offset is in. In discussion with pjd@ and mckusick@ it seems that this behaviour of UFS should maybe change, with this fix being an interim patch until then. This patch only fixes the experimental server, since pjd@ is working on a patch for the regular server. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2010-12-29T04:14:24.719227Z K 7 svn:log V 164 - Add a wait argument to taskqueue_cancel() so it can be used for blocking and non-blocking operations. Sponsored by: Isilon Systems, iX Systems, and Panasas. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2010-12-29T04:16:12.184847Z K 7 svn:log V 228 - cancel_delayed_work() is not expected to be perfect and may be called with locks held. Use the non-blocking callout_stop() and a non-blocking workqueue_cancel(). Sponsored by: Isilon Systems, iX Systems, and Panasas. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2010-12-29T04:17:50.004319Z K 7 svn:log V 194 - Solve a bug in addr.c where ifp could end up NULL. Reported/Tested by: gnn - Add support for Linux netevents via BSD eventhandlers. Sponsored by: Isilon Systems, iX Systems, and Panasas. END K 10 svn:author V 8 cperciva K 8 svn:date V 27 2010-12-29T05:13:21.166114Z K 7 svn:log V 215 A lack of console input is not the same thing as a byte of \0 input. Correctly return -1 from cngetc when no input is available to be read. This fixes the '(CTRL-C to abort)' spam while dumping. MFC after: 3 days END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2010-12-29T09:26:46.865937Z K 7 svn:log V 334 - Follow r216313, the sched_unlend_user_prio is no longer needed, always use sched_lend_user_prio to set lent priority. - Improve pthread priority-inherit mutex, when a contender's priority is lowered, repropagete priorities, this may cause mutex owner's priority to be lowerd, in old code, mutex owner's priority is rise-only. END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-12-29T11:19:39.688666Z K 7 svn:log V 254 Use a proper type for the variable holding the summary size of the inode data. Otherwise, on 32bit systems, unlinked inode which size is the multiple of 4GB was not truncated, causing corruption. Reported by: brucec Reviewed by: mckusick Tested by: pho END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-12-29T11:39:15.902806Z K 7 svn:log V 363 Add sysctl vm.md_malloc_wait, non-zero value of which switches malloc-backed md(4) to using M_WAITOK malloc calls. M_NOWAITOK allocations may fail when enough memory could be freed, but not immediately. E.g. SU UFS becomes quite unhappy when metadata write return error, that would happen for failed malloc() call. Reported and tested by: pho MFC after: 1 week END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-12-29T12:11:07.318965Z K 7 svn:log V 205 Add reporting of GEOM::candelete BIO_GETATTR for md(4) and geom_disk(4). Non-zero value of attribute means that device supports BIO_DELETE. Suggested and reviewed by: pjd Tested by: pho MFC after: 1 week END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-12-29T12:16:06.615235Z K 7 svn:log V 96 Move the definition of mkdirlisthd from header to C file. Reviewed by: mckusick Tested by: pho END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-12-29T12:25:28.404444Z K 7 svn:log V 556 Add kernel side support for BIO_DELETE/TRIM on UFS. The FS_TRIM fs flag indicates that administrator requested issuing of TRIM commands for the volume. UFS will only send the command to disk if the disk reports GEOM::candelete attribute. Since disk queue is reordered, data block is marked as free in the bitmap only after TRIM command completed. Due to need to sleep waiting for i/o to finish, TRIM bio_done routine schedules taskqueue to set the bitmap bit. Based on the patch by: mckusick Reviewed by: mckusick, pjd Tested by: pho MFC after: 1 month END K 10 svn:author V 5 simon K 8 svn:date V 27 2010-12-29T12:25:45.333508Z K 7 svn:log V 76 MFC r216725: Fix deprecated warning about -L which said -i was deprecated. END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-12-29T12:31:18.347468Z K 7 svn:log V 119 Add support for FS_TRIM to user-mode UFS utilities. Reviewed by: mckusick, pjd, pho Tested by: pho MFC after: 1 month END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-12-29T12:53:53.750450Z K 7 svn:log V 816 Move the increment of vm object generation count into vm_object_set_writeable_dirty(). Fix an issue where restart of the scan in vm_object_page_clean() did not removed write permissions for newly added pages or, if the mapping for some already scanned page changed to writeable due to fault. Merge the two loops in vm_object_page_clean(), doing the remove of write permission and cleaning in the same loop. The restart of the loop then correctly downgrade writeable mappings. Fix an issue where a second caller to msync() might actually return before the first caller had actually completed flushing the pages. Clear the OBJ_MIGHTBEDIRTY flag after the cleaning loop, not before. Calls to pmap_is_modified() are not needed after pmap_remove_write() there. Proposed, reviewed and tested by: alc MFC after: 1 week END K 10 svn:author V 5 simon K 8 svn:date V 27 2010-12-29T14:06:20.297919Z K 7 svn:log V 99 MFS r216725: Fix deprecated warning about -L which said -i was deprecated. Approved by: re (kib) END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-12-29T14:11:46.871907Z K 7 svn:log V 103 Rename the "xor" parameter to "xorval" as the former is a reserved keyword in C++. Submitted by: gahr END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-12-29T14:14:50.228433Z K 7 svn:log V 211 - Move the macros for generating load and store instructions to asmacros.h so they can be shared by different source files and extend them by a variant for atomic compare and swap. - Consistently use EMPTY. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-12-29T16:59:33.417956Z K 7 svn:log V 1834 On UltraSPARC-III+ and greater take advantage of ASI_ATOMIC_QUAD_LDD_PHYS, which takes an physical address instead of an virtual one, for loading TTEs of the kernel TSB so we no longer need to lock the kernel TSB into the dTLB, which only has a very limited number of lockable dTLB slots. The net result is that we now basically can handle a kernel TSB of any size and no longer need to limit the kernel address space based on the number of dTLB slots available for locked entries. Consequently, other parts of the trap handlers now also only access the the kernel TSB via its physical address in order to avoid nested traps, as does the PMAP bootstrap code as we haven't taken over the trap table at that point, yet. Apart from that the kernel TSB now is accessed via a direct mapping when we are otherwise taking advantage of ASI_ATOMIC_QUAD_LDD_PHYS so no further code changes are needed. Most of this is implemented by extending the patching of the TSB addresses and mask as well as the ASIs used to load it into the trap table so the runtime overhead of this change is rather low. Currently the use of ASI_ATOMIC_QUAD_LDD_PHYS is not yet enabled on SPARC64 CPUs due to lack of testing and due to the fact it might require minor adjustments there. Theoretically it should be possible to use the same approach also for the user TSB, which already is not locked into the dTLB, avoiding nested traps. However, for reasons I don't understand yet OpenSolaris only does that with SPARC64 CPUs. On the other hand I think that also addressing the user TSB physically and thus avoiding nested traps would get us closer to sharing this code with sun4v, which only supports trap level 0 and 1, so eventually we could have a single kernel which runs on both sun4u and sun4v (as does Linux and OpenBSD). Developed at and committed from: 27C3 END K 10 svn:author V 3 kan K 8 svn:date V 27 2010-12-29T17:12:05.682427Z K 7 svn:log V 186 Switch mips architectures back to libgcc. MIPS64 n64 binaries are broken with libcompiler_rt at this time. Switch mips back to libgcc until the cause of breakage is analyzed and fixed. END K 10 svn:author V 7 attilio K 8 svn:date V 27 2010-12-29T18:17:36.640669Z K 7 svn:log V 4491 Fix several callout migration races: - Problem1: Hypothesis: thread1 is doing a callout_reset_on(), within his callout handler, willing to implicitly or explicitly migrate the callout. thread2 is draining the callout. Thesys: * thread1 calls callout_lock() and locks the old callout cpu * thread1 performs the checks in the first path of the callout_reset_on() * thread1 hits this codepiece: /* * If the lock must migrate we have to check the state again as * we can't hold both the new and old locks simultaneously. */ if (c->c_cpu != cpu) { c->c_cpu = cpu; CC_UNLOCK(cc); goto retry; } which means it will drop the lock and 'retry' * thread2 will callout_lock() and locks the new callout cpu. thread1 spins on the new lock and will not keep going for the moment. * thread2 checks that the callout is not pending (as callout is currently running) and that it is not on cc->cc_curr (because cc now refers to the new callout and the callout is running on the old callout cpu) thus it thinks it is done and returns. * thread1 will now acquire the lock and then adds the callout to the new callout cpu queue That seems an obvious race as callout_stop() falsely reports the callout stopped or worse, callout_drain() falsely returns while the callout is still in use. - Solution1: Fixing this problem would require, in general, to lock both callout cpus at once while switching the c_cpu field and avoid cyclic deadlocks between callout cpus locks. The concept of CPUBLOCK is then introduced (working more or less like the blocked_lock for thread_lock() function) meaning: "in callout_lock(), spin until the c->c_cpu is not different from CPUBLOCK". That way the "original" callout cpu, referred to the above mentioned code snippet, will remain blocked until the lock handover is over critical path will remain covered. - Problem2: Having the callout currently executed on a specific callout cpu and contemporary pending on another callout cpu (as it can happen with current code) breaks, at least, the assumption callout_drain() returns just once the callout cannot be referenced anymore. - Solution2: Callout migration is deferred if the current callout is already under execution. The best place to do that is in softclock() and new members are added to the callout cpu structure in order to specify a pending migration is requested. That is necessary because the callout cannot be trusted (not freed) the 100% of times after the execution of the callout handler. CPUBLOCK will prevent, in the "deferred migration" case, that the callout gets freed in this case, stopping any callout_stop() and callout_drain() possible activity until the migration is actually performed. - Problem3: There is a further race in callout_drain(). In order to avoid a race between sleepqueue lock and callout cpu spinlock, in _callout_stop_safe(), the callout cpu lock is dropped, the sleepqueue lock is acquired and a new callout cpu lookup is performed. Note that the channel used for locking the sleepqueue is obtained from the "current" callout cpu (&cc->cc_waiting). If the callout migrated in the meanwhile, callout_drain() will end up using the wrong wchan for the sleepqueue (the locked one will be the older, while the new one will not really be locked) leading to a lock leak and a race access to sleepqueue. - Solution3: It is enough to check if a migration happened between the operation of acquiring the sleepqueue lock and the new callout cpu lock and eventually unwind all those and try again. This problems can lead to deathly races on moderate (4-ways) SMP environment, leading to easy panic or deadlocks. The 24-ways of the reporter, could easilly panic, with completely normal workload, almost daily. gianni@ kindly wrote the following prof-of-concept which can panic a FreeBSD machine in less than one hour, in smaller SMP: http://www.freebsd.org/~attilio/callout/test.c Reported by: Nicholas Esborn , DesertNet In collabouration with: gianni, pho, Nicholas Esborn Reviewed by: jhb MFC after: 1 week (*) * Usually, I would aim for a larger MFC timeout, but I really want this in before 8.2-RELEASE, thus re@ accepted a shorter timeout as a special case for this patch END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-12-29T19:39:51.988569Z K 7 svn:log V 422 sh: Properly restore exception handler in fc. If SIGINT arrived at exactly the right moment (unlikely), an exception handler in a no longer active stack frame would be called. Because the old handler was not used in the normal path, clang thought it was a dead value and if an exception happened it would longjmp() to garbage. This caused builtins/fc1.0 to fail if histedit.c was compiled with clang. MFC after: 1 week END K 10 svn:author V 3 alc K 8 svn:date V 27 2010-12-29T20:35:36.051243Z K 7 svn:log V 379 There is no point in vm_contig_launder{,_page}() flushing held pages, instead skip over them. As long as a page is held, it can't be reclaimed by contigmalloc(M_WAITOK). Moreover, a held page may be undergoing modification, e.g., vmapbuf(), so even if the hold were released before the completion of contigmalloc(), the page might have to be flushed again. MFC after: 3 weeks END K 10 svn:author V 8 rmacklem K 8 svn:date V 27 2010-12-29T21:04:10.190254Z K 7 svn:log V 659 MFC: r216691 Since VOP_READDIR() for ZFS does not return monotonically increasing directory offset cookies, disable the UFS related loop that skips over directory entries at the beginning of the block for the experimental NFS server. This loop is required for UFS since it always returns directory entries starting at the beginning of the block that the requested directory offset is in. In discussion with pjd@ and mckusick@ it seems that this behaviour of UFS should maybe change, with this fix being an interim patch until then. This patch only fixes the experimental server, since pjd@ is working on a patch for the regular server. Approved by: re (kib) END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-12-29T21:38:00.457510Z K 7 svn:log V 253 printf: Do not use sh memory functions in sh builtin. These functions throw exceptions if they fail, possibly causing memory leaks. The normal out-of-memory handling suffices. The INTOFF around almost all of printf prevents memory leaks due to SIGINT. END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-12-29T22:26:49.995646Z K 7 svn:log V 499 Remove OBJ_CLEANING flag. The vfs_setdirty_locked_object() is the only consumer of the flag, and it used the flag because OBJ_MIGHTBEDIRTY was cleared early in vm_object_page_clean, before the cleaning pass was done. This is no longer true after r216799. Moreover, since OBJ_CLEANING is a flag, and not the counter, it could be reset too prematurely when parallel vm_object_page_clean() are performed. Reviewed by: alc (as a part of the bigger patch) MFC after: 1 month (after r216799 is merged) END K 10 svn:author V 8 cperciva K 8 svn:date V 27 2010-12-30T01:13:42.427335Z K 7 svn:log V 223 Remove INDEX-6 from the default portsnap configuration file; the 6.x index bits haven't been built since December 1st, although the mirrors are still distributing the bits as they were at the EoL. Reminded by: Alex Kozlov END K 10 svn:author V 8 cperciva K 8 svn:date V 27 2010-12-30T01:28:56.049987Z K 7 svn:log V 648 Add xenpic_dynirq_disable_intr and set it as the .pic_disable_intr method for xenpic_dynirq_template. This fixes a panic when a virtual disk is removed, since that results in an interrupt channel being disabled and NULL isn't very good function for disabling interrupts. We should probably have a xenpic_pirq_disable_intr as well; I'm not adding that here because (a) I'm not sure what uses pirqs so I don't have a test case, and (b) the xenpic_pirq_enable_intr code is significantly more complex than the xenpic_dynirq_enable_intr code, so I'm not sure what should go into a xenpic_pirq_disable_intr routine. PR: kern/153511 MFC after: 3 days END K 10 svn:author V 3 scf K 8 svn:date V 27 2010-12-30T02:18:04.634618Z K 7 svn:log V 358 Fix the LINUX_SOUND_MIXER_INFO ioctl to return success after the information is set to FreeBSD. It had been falling through to the end of linux_ioctl_sound() and returning ENOIOCTL. Noticed when running the Linux ALSA amixer tool. Add a LINUX_SOUND_MIXER_READ_CAPS ioctl which is used by the Skype v2.1.0.81 binary. Reviewed by: gavin MFC after: 2 weeks END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-12-30T09:32:39.650672Z K 7 svn:log V 113 MFC r203802: - Implement -q option for pgrep(1). - Add regression test to test -q option. END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-12-30T09:45:26.719559Z K 7 svn:log V 1306 MFC r216565,r216631,r216632,r216633,r216774: r216565: Reduce lock scope a little. r216631: On error, unbusy file system and jump to the end, so we won't try to unlock NULL *vpp. Reviewed by: kib r216632: - Move pubflag and lockflag handling from nfsrv_fhtovp() to nfs_namei() - this is the only place that is different from all the other nfsrv_fhtovp() consumers. This simplifies nfsrv_fhtovp() a bit and also eliminates one vn_lock/VOP_UNLOCK() cycle in case of NFSv3. - Implement NFSRV_FLAG_BUSY flag for nfsrv_fhtovp() that tells it to leave mount point busy. Reviewed by: kib r216633: Use newly added NFSRV_FLAG_BUSY flag for nfsrv_fhtovp() to keep mount point busy. This fixes a race where we can pass invalid mount point to VFS_VGET() via vp->v_mount when exported file system was forcibly unmounted between nfsrv_fhtovp() and VFS_VGET(). Reviewed by: kib r216774: ZFS might not return monotonically increasing directory offset cookies, so turn off UFS-specific hack that assumes so in ZFS case. Before the change we can miss returning some directory entries to a NFS client. I believe that the hack should be moved to ufs_readdir(), but until we find somebody who will do it, turn it off for ZFS in NFS server code. Submitted by: rmacklem Discussed with: rmacklem, mckusick END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-12-30T09:46:45.904345Z K 7 svn:log V 737 MFC r216477,r216478,r216479,r216494,r216721,r216722: r216477: Log the fact of launching and include protocol version number. r216478: Don't ignore errors from remote requests. r216479: Improve problems logging. r216494: The 'ret' variable is of type ssize_t and we use proper format for it (%zd), so no (bogus) cast is needed. r216721: When node-specific configuration is missing in resource section, provide more useful information. Instead of: hastd: remote address not configured for resource foo Print the following: No resource foo configuration for this node (acceptable node names: freefall, freefall.freebsd.org, 44333332-4c44-4e31-4a30-313920202020). r216722: Detect when resource is configured more than once. END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-12-30T10:41:17.367345Z K 7 svn:log V 257 In indir_trunc(), when processing jnewblk entries that are not written to the disk, recurse to handle indirect blocks of next level that are hidden by the corresponding entry. In collaboration with: pho Reviewed by: jeff, mckusick Tested by: mckusick, pho END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-12-30T10:52:07.570065Z K 7 svn:log V 745 Handle missing jremrefs when a directory is renamed overtop of another, deleting it. If the directory is removed, UFS always need to remove the .. ref, even if the ultimate ref on the parent would not change. The new directory must have a new journal entry for that ref. Otherwise journal processing would not properly account for the parent's reference since it will belong to a removed directory entry. Change ufs_rename()'s dotdot rename section to always setup_dotdot_link(). In the tip != NULL case SUJ needs the newref dependency allocated via setup_dotdot_link(). Stop setting isrmdir to 2 for newdirrem() in softdep_setup_remove(). Remove the isdirrem > 1 checks from newdirrem(). Reported by: many Submitted by: jeff Tested by: pho END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-12-30T15:04:59.114571Z K 7 svn:log V 91 sh: Add two tests for special cases in command substitution that already work in stable/8. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-12-30T15:58:23.874597Z K 7 svn:log V 482 - Add CPUTYPE support for sparc64. The net result is that it's now possible to let the compiler optimize for the famility of UltraSPARC-III CPUs as the default already was to optimize for UltraSPARC-I/II and generating generic 64-bit V9 is mainly for reference purposes. At least for SPARC64-V CPUs code optimized for UltraSPARC-I/II still is the most performant one. Thanks go to Michael Moll for testing SPARC64-V. - Move a booke MACHINE_CPU bit into the right section. END K 10 svn:author V 6 tuexen K 8 svn:date V 27 2010-12-30T16:23:13.906469Z K 7 svn:log V 147 Fix three bugs related to the sequence number wrap-around affecting the processing of ECNE and ASCONF chunks. Reviewed by: rrs MFC after: 3 days. END K 10 svn:author V 6 tuexen K 8 svn:date V 27 2010-12-30T16:56:20.008637Z K 7 svn:log V 162 Code cleanup: Use LIST_FOREACH, LIST_FOREACH_SAFE, TAILQ_FOREACH, TAILQ_FOREACH_SAFE where appropriate. No functional change. MFC after: 3 months. END