summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Manage asynchronous vnode release just like Solaris.pjd2009-08-177-132/+50
| | | | | Discussed with: kmacy Approved by: re (kib)
* Fix receive when dataset has no / in its name.pjd2009-08-171-4/+5
| | | | | Submitted by: James R. Van Artsdalen <james-freebsd-current@jrv.org> Approved by: re (kib)
* - Reduce z_teardown_lock lock scope a bit.pjd2009-08-171-7/+7
| | | | | | | - The error variable is int, not bool. - Convert spaces to tabs where needed. Approved by: re (kib)
* If z_buf is NULL, we should free znode immediately.pjd2009-08-171-7/+9
| | | | | Noticed by: avg Approved by: re (kib)
* - We need to recycle vnode instead of freeing znode.pjd2009-08-171-3/+2
| | | | | | | | | Submitted by: avg - Add missing vnode interlock unlock. - Remove redundant znode locking. Approved by: re (kib)
* Fix panic in zfs recv code. The last vnode (mountpoint's vnode) can havepjd2009-08-171-1/+1
| | | | | | | 0 usecount. Reported by: Thomas Backman <serenity@exscape.org> Approved by: re (kib)
* Remove OpenSolaris taskq port (it performs very poorly in our kernel) andpjd2009-08-179-1190/+188
| | | | | | | | replace it with wrappers around our taskqueue(9). To make it possible implement taskqueue_member() function which returns 1 if the given thread was created by the given taskqueue. Approved by: re (kib)
* Because taskqueue_run() can drop tq_mutex, we need to check if thepjd2009-08-171-0/+7
| | | | | | | TQ_FLAGS_ACTIVE flag wasn't removed in the meantime, which means we missed a wakeup. Approved by: re (kib)
* - Fix a race where /dev/zfs control device is created before ZFS is fullypjd2009-08-171-25/+21
| | | | | | | | | | initialized. Also destroy /dev/zfs before doing other deinitializations. - Initialization through taskq is no longer needed and there is a race where one of the zpool/zfs command loads zfs.ko and tries to do some work immediately, but /dev/zfs is not there yet. Reported by: pav Approved by: re (kib)
* Remove files that are no longer used.pjd2009-08-176-1688/+1
| | | | | Discussed with: kmacy Approved by: re (kib)
* Be more precise how to get fsids - 'mount -v' doesn't show fsids unless is runpjd2009-08-171-1/+2
| | | | | | by root. Approved by: re (kib)
* Update the mptutil man page for FreeBSD 8.0scottl2009-08-171-3/+6
| | | | Approved by: re
* Update the man page for manual section 8scottl2009-08-171-1/+1
| | | | Approved by: re
* Update the man page for FreeBSD 8.0scottl2009-08-171-14/+6
| | | | Approved by: re
* Move mfiutil.1 to mfiutil.8 for consistency. Remove superfulous README.scottl2009-08-173-104/+1
| | | | Approved by: re
* Emit a proper error message instead of dumping core when 1)marcel2009-08-161-2/+14
| | | | | | | | | | | GEOM_PART does not exist in the kernel, and 2) the GEOM in question does not exist. Additionally abort in case of programming errors that result in neither the class nor geom not being present in the gctl request. Submitted by: "Andrey V. Elsukov" <bu7cher@yandex.ru> Approved by: re (kib)
* Fix small style regression introduced by the MPSAFE newbus code.ed2009-08-161-1/+1
| | | | Approved by: re (rwatson)
* Change the usb workers from kernel processes to threads, this is mostly athompsa2009-08-162-5/+11
| | | | | | | | | cosmetic change to reduce cruft in the proc table. Also change the idle wait message to `-` like how taskqueues are. Reviewed by: julian Approved by: re (kib)
* Prevent sysinstall from needlessly waiting for confirmation when using an USBrink2009-08-161-1/+2
| | | | | | | | | | | | | device in non-interactive mode. If there are no USB devices, sysinstall gives an error messages, and if there is >1, it'll ask which one is to be used. This change allows a non-interactive install from USB media to succeed without any user interaction if there is exactly one USB disk device in the system it can use. Submitted by: Daniel O'Connor < doconnorat gsoft dot com dot au > Reviewed by: randi Approved by: re (rwatson)
* Fix misalignment in nvpair_native_embedded() caused by the compilermarcel2009-08-161-2/+3
| | | | | | | replacing the bzero(). See also revision 195627, which fixed the misalignment in nvpair_native_embedded_array(). Approved by: re (kensmith)
* Decouple ACPI CPU Ids from FreeBSD's cpuid. The ACPI Ids can bemarcel2009-08-163-20/+19
| | | | | | sparse, which causes a kernel assert. Approved by: re (kensmith)
* Rather than fix questionable ifnet list locking in the implementation ofrwatson2009-08-152-58/+10
| | | | | | | | the kern.polling.enable sysctl, remove the sysctl. It has been deprecated since FreeBSD 6 in favour of per-ifnet polling flags. Reviewed by: luigi Approved by: re (kib)
* Remove unused if_rawoutput() macro; it has been unused since at leastrwatson2009-08-151-1/+0
| | | | | | FreeBSD 2. Approved by: re (kib)
* * Fix a bug where PR-SCTP settings are ignore when using implicittuexen2009-08-157-99/+176
| | | | | | | | | | | | | | | association setup. * Fix a bug where message with illegal stream ids are not deleted. * Fix a crash when reporting back unsent messages from the send_queue. * Fix a bug related to INIT retransmission when the socket is already closed. * Fix a bug where associations were stalled when partial delivery API was enabled. * Fix a bug where the receive buffer size was smaller than the partial_delivery_point. Approved by: re, rrs (mentor) MFC after: One day.
* Port recent IPI enhachements to en:attilio2009-08-151-0/+38
| | | | | | | * Introduce the ipi_nmi_handler() function for the Xen infrastructure * Fixup adeguately the ipi sender functions Approved by: re (kib)
* iostat: add a bit of space between tty in/out columnskeramida2009-08-151-6/+6
| | | | | | | | | The columns for tty input and output may bump against each other if the tty output needs more than 5 columns. Add a bit of space that pushes everything 1 column to the right, but also avoids the problem. Approved by: re (rwatson)
* Add my birthdayfluffy2009-08-151-0/+1
| | | | Approved by: re (rwatson) miwi (mentor)
* - Proprely intialize UART parameters at probe stage, so uart(4)stas2009-08-151-4/+4
| | | | | | | | | will initialize the FIFO memory correctly on attach. Before that this values was intialized in only in at91_usart_bus_attach which is called after the uart(4) memory allocation happens. Approved by: re (kib) MFC after: 1 week
* - Avoid overflowing the swap size counters in human-readable modestas2009-08-151-2/+3
| | | | | | | | | | by introducing the new CONVERT_BLOCKS macro which operates on sizes already converted to number of blocks. With this macro it is not longer needed to perform needless multiplication by blocksize just to divide on it later in CONVERT macro. Approved by: re (kib) MFC after: 1 week
* Add mptutil(8) and mfiutil(1) to 'SEE ALSO' sections in mpt(4) and mfi(4).trasz2009-08-152-2/+4
| | | | Approved by: re (rwatson)
* In function ip_output(), the cached route is flushed when there is aqingli2009-08-141-1/+5
| | | | | | | | | | mismatch between the cached entry and the intended destination. The cached rtentry{} is flushed but the associated llentry{} is not. This causes the wrong destination MAC address being used in the output packets. The fix is to flush the llentry{} when rtentry{} is cleared. Reviewed by: kmacy, rwatson Approved by: re
* Appease VNET_DEBUG - in if_vmove we temporarily switch i.e.zec2009-08-141-1/+1
| | | | | | | recurse from one vnet to another which is OK, so no need to flood the console with warnings here. Approved by: re (rwatson), julian (mentor)
* SCTP is not yet compatible with options VIMAGE kernels although it compileszec2009-08-141-0/+4
| | | | | | | with VIMAGE defined, so explicitly disallow building such kernels. Reviewed by: rrs Approved by: re (rwatson), julian (mentor)
* Make VNET_DEBUG a standalone compile-time option, i.e. decouple it fromzec2009-08-142-4/+2
| | | | | | | INVARIANTS. Reviewed by: bz Approved by: re (rwatson), julian (mentor)
* Add a new macro to test that a variable could be loaded atomically.bz2009-08-144-0/+10
| | | | | | | | | | | | | | | | | | | Check that the given variable is at most uintptr_t in size and that it is aligned. Note: ASSERT_ATOMIC_LOAD() uses ALIGN() to check for adequate alignment -- however, the function of ALIGN() is to guarantee alignment, and therefore may lead to stronger alignment enforcement than necessary for types that are smaller than sizeof(uintptr_t). Add checks to mtx, rw and sx locks init functions to detect possible breakage. This was used during debugging of the problem fixed with r196118 where a pointer was on an un-aligned address in the dpcpu area. In collaboration with: rwatson Reviewed by: rwatson Approved by: re (kib)
* Adjust the handling of the local APIC PMC interrupt vector:jhb2009-08-1410-28/+191
| | | | | | | | | | | | | | | | - Provide lapic_disable_pmc(), lapic_enable_pmc(), and lapic_reenable_pmc() routines in the local APIC code that the hwpmc(4) driver can use to manage the local APIC PMC interrupt vector. - Do not enable the local APIC PMC interrupt vector by default when HWPMC_HOOKS is enabled. Instead, the hwpmc(4) driver explicitly enables the interrupt when it is succesfully initialized and disables the interrupt when it is unloaded. This avoids enabling the interrupt on unsupported CPUs which may result in spurious NMIs. Reported by: rnoland Reviewed by: jkoshy Approved by: re (kib) MFC after: 2 weeks
* Add the ability to build a release from an SVN checkout instead of a CVSjhb2009-08-142-5/+78
| | | | | | | | | | | | | | | | checkout. If SVNROOT is specified, then the source tree will be checked out from that SVN repository instead of using CVS. ports and docs still use CVS. If SVNROOT is not specified, then the source tree will be checked out using CVS. An explicit SVN branch can be specified using SVNBRANCH (e.g. SVNBRANCH=stable/8). If SVNBRANCH is not set but RELEASETAG is set to a CVS branch (such as RELENG_8) the appropriate SVN branch will be inferred from the CVS branch using svnbranch.awk. Note that there are still several open questions about using SVN instead of CVS in the release process. However, this does enable one to build a release from an SVN repository if needed. Approved by: re (kensmith)
* Purge mergeinfo from files that were temporarily renamed while USB2 wasjhb2009-08-140-0/+0
| | | | | | imported into the tree alongside USB. Approved by: re (mergeinfo blanket)
* Remove bogus char cast.remko2009-08-141-1/+1
| | | | | | | PR: 118014 Submitted by: Gardner Bell <gbell72 at rogers dot com> Approved by: re (rwatson), imp (mentor, implicit) MFC after: immediate
* Make sysinstall recognize /dev/ada* disk devices. The description stringcperciva2009-08-141-0/+1
| | | | | | | | | "SATA disk device" reflects the current state of /dev/ada*; this may be changed in the future if other drive types start appearing as /dev/ada*. Submitted by: randi Details about what disks can appear as /dev/ada* supplied by: scottl Approved by: re (rwatson)
* Add mptutil, a basic utility for managing MPT SCSI/SATA/SAS controllers.scottl2009-08-1412-0/+4429
| | | | | | | | Drive and controller status can be reported, basic attributes changed, and arrays and spares can be created and deleted. Approved by: re Obtained from: Yahoo! Inc.
* Fix is 32bit bug missed in testing.scottl2009-08-141-7/+8
| | | | Approved by: re
* When a UFS node is truncated to the zero length, e.g. by explicitkib2009-08-141-1/+8
| | | | | | | | | | | | | | | | | truncate(2) call, or by being removed or truncated on open, either new softupdate freeblks structure is allocated to track the freed blocks of the node, or truncation is done syncronously when too many SU dependencies are accumulated. The decision does not take into account the allocated freeblks dependencies, allowing workloads that do huge amount of truncations to exhaust the kernel memory. Take the number of allocated freeblks into consideration for softdep_slowdown(). Reported by: pluknet gmail com Diagnosed and tested by: pho Approved by: re (rwatson) MFC after: 1 month
* In nfs_upgrade_vnlock(), assert that the vnode is locked. It is for allkib2009-08-141-15/+12
| | | | | | | | | | | | | pathes, as far as I see and testing seems to confirm it. Comparision of old_lock with LK_SHARED make sense only if vnode is locked by current thread. When downgrading, pass LK_RETRY to the vn_lock(), since otherwise vn_lock() unlocks the doomed vnode, causing extra unlock. Reported and tested by: pho Approved by: re (rwatson) MFC after: 3 weeks
* Add the address of the lock to the KTR_LOCK trace.kib2009-08-141-4/+4
| | | | | Tested by: pho Approved by: re (rwatson)
* Correctly handle unlock for !MAKEENTRY case, after successfull attempt ofkib2009-08-141-1/+2
| | | | | | | | lock upgrade cache shall be unlocked from write. Reported by: Lucius Windschuh <lwindschuh googlemail com> Reviewed by: kan Approved by: re (rwatson)
* Fix ipfw crash on uid or gid check.julian2009-08-141-1/+1
| | | | | | | | | | | | | | | Receiving any ip packet for which there is no existing socket will crash if ipfw has a uid or gid test rule, as the uid/gid of the non existent owner of said non existent socket is tested. Brooks introduced this error as part of his >16 gids patch. It appears to be a cut-n-paste error from similar code a few lines before. The old code used the 'pcb' variable here, but in the new code that switched the 'inp' variable, which is often NULL and what is tested in the code further up. The rest of the multi-gid patch for ipfw seems solid (and cleaner than previous code). Reviewed by: brooks Approved by: re (rwatson)
* ntroduce mfiutil, a basic utility for managing LSI SAS-RAID & Dell PERC5/6scottl2009-08-1318-38/+5446
| | | | | | | | | | | | | | controllers. Controller, array, and drive status can be checked, basic attributes can be changed, and arrays and spares can be created and deleted. Controller firmware can also be flashed. This does not replace MegaCLI, found in ports, as that is officially sanctioned and supported by LSI and includes vastly more functionality. However, mfiutil is open source and guaranteed to provide basic functionality, which can be especially useful if you have a problem and can't get MegaCLI to work. Approved by: re Obtained from: Yahoo! Inc.
* * Completely Remove the option STOP_NMI from the kernel. This optionattilio2009-08-1333-194/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | has proven to have a good effect when entering KDB by using a NMI, but it completely violates all the good rules about interrupts disabled while holding a spinlock in other occasions. This can be the cause of deadlocks on events where a normal IPI_STOP is expected. * Adds an new IPI called IPI_STOP_HARD on all the supported architectures. This IPI is responsible for sending a stop message among CPUs using a privileged channel when disponible. In other cases it just does match a normal IPI_STOP. Right now the IPI_STOP_HARD functionality uses a NMI on ia32 and amd64 architectures, while on the other has a normal IPI_STOP effect. It is responsibility of maintainers to eventually implement an hard stop when necessary and possible. * Use the new IPI facility in order to implement a new userend SMP kernel function called stop_cpus_hard(). That is specular to stop_cpu() but it does use the privileged channel for the stopping facility. * Let KDB use the newly introduced function stop_cpus_hard() and leave stop_cpus() for all the other cases * Disable interrupts on CPU0 when starting the process of APs suspension. * Style cleanup and comments adding This patch should fix the reboot/shutdown deadlocks many users are constantly reporting on mailing lists. Please don't forget to update your config file with the STOP_NMI option removal Reviewed by: jhb Tested by: pho, bz, rink Approved by: re (kib)
* Use correct wbinv operation in pmap_l2cache_wbinv_range().raj2009-08-131-1/+1
| | | | | | | Submitted by: Michal Hajduk Reviewed by: stas Approved by: re (kib) Obtained from: Semihalf
OpenPOWER on IntegriCloud