summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add missing function trace for debug prints.njl2007-01-231-0/+2
|
* Merge mount_nfs4.c and mount_nfs.c into one program.rodrigc2007-01-232-7/+248
| | | | | | | | | | | If argv[0] == "mount_nfs4", then default to mounting NFSv4, otherwise if argv[0] == "mount_nfs", default to the old mount_nfs behavior. - Add a -4 option. - Add the University of Michigan copyright from mount_nfs4.c, for the code merged from mount_nfs4.c. Reviewed by: rees
* When exiting vfs_export(), delete the "export" option fromrodrigc2007-01-231-11/+31
| | | | | | | | | | | | | | | | | | the mount options list with vfs_deleteopt(). At this point, the export information is saved in mp->mnt_export, so we can delete the "export" mount option from mp->mnt_optnew and mp->mnt_opt. This fixes read-write/read-only update mounts (mount -u -o rw, mount -u -o ro) of NFS exported directories. For some reason, I could only reproduce the problem with a configuration supplied by Andre: - "options QUOTA" enabled in kernel config - "/ -maproot=root 10.0.1.105" in /etc/exports Reported by: kris, Andre Guibert de Bruet <andy siliconlandmark com>, Andrzej Tobola <ato iem pw edu pl> Tested by: Andre Guibert de Bruet
* Remove a PCI ID entry that conflicts with the AMR driver.scottl2007-01-231-1/+0
|
* Use fseeko to seek in the file, instead of fseek to prevent seekmpp2007-01-231-2/+2
| | | | errors for extremely large uids (e.g. in the billions range).
* Make sure that unknown uids/gids that now have non-zero usage andmpp2007-01-231-7/+24
| | | | | had a previously recorded usage of zero are correctly displayed in verbose mode. Generalize the print routine a little too.
* It seems that enabling Tx and Rx before setting descriptor DMAyongari2007-01-231-15/+17
| | | | | | | | | | | | | addresses shall access invalid descriptor DMA addresses on PCIe hardwares and then panicked the system. To fix it set descriptor DMA addresses before enabling Tx and Rx such that hardware can see valid descriptor DMA addresses. Also set RL_EARLY_TX_THRESH before starting Tx and Rx. Reported by: steve.tell AT crashmail DOT de Tested by: steve.tell AT crashmail DOT de Obtained from: NetBSD MFC after: 1 week
* Clean up some of the various platform and release specific dma tagmjacob2007-01-233-47/+36
| | | | | | | stuff so it is centralized in isp_freebsd.h. Take out PCI posting flushed in qla2100/2200 register reads except for 2100s.
* Expand the MSI/MSI-X API to address some deficiencies in the MSI-X support.jhb2007-01-2219-27/+281
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - First off, device drivers really do need to know if they are allocating MSI or MSI-X messages. MSI requires allocating powerof2() messages for example where MSI-X does not. To address this, split out the MSI-X support from pci_msi_count() and pci_alloc_msi() into new driver-visible functions pci_msix_count() and pci_alloc_msix(). As a result, pci_msi_count() now just returns a count of the max supported MSI messages for the device, and pci_alloc_msi() only tries to allocate MSI messages. To get a count of the max supported MSI-X messages, use pci_msix_count(). To allocate MSI-X messages, use pci_alloc_msix(). pci_release_msi() still handles both MSI and MSI-X messages, however. As a result of this change, drivers using the existing API will only use MSI messages and will no longer try to use MSI-X messages. - Because MSI-X allows for each message to have its own data and address values (and thus does not require all of the messages to have their MD vectors allocated as a group), some devices allow for "sparse" use of MSI-X message slots. For example, if a device supports 8 messages but the OS is only able to allocate 2 messages, the device may make the best use of 2 IRQs if it enables the messages at slots 1 and 4 rather than default of using the first N slots (or indicies) at 1 and 2. To support this, add a new pci_remap_msix() function that a driver may call after a successful pci_alloc_msix() (but before allocating any of the SYS_RES_IRQ resources) to allow the allocated IRQ resources to be assigned to different message indices. For example, from the earlier example, after pci_alloc_msix() returned a value of 2, the driver would call pci_remap_msix() passing in array of integers { 1, 4 } as the new message indices to use. The rid's for the SYS_RES_IRQ resources will always match the message indices. Thus, after the call to pci_remap_msix() the driver would be able to access the first message in slot 1 at SYS_RES_IRQ rid 1, and the second message at slot 4 at SYS_RES_IRQ rid 4. Note that the message slots/indices are 1-based rather than 0-based so that they will always correspond to the rid values (SYS_RES_IRQ rid 0 is reserved for the legacy INTx interrupt). To support this API, a new PCIB_REMAP_MSIX() method was added to the pcib interface to change the message index for a single IRQ. Tested by: scottl
* Unbreak writes of 0 bytes. Zero byte writes happen when only ancillaryandre2007-01-222-2/+15
| | | | | | | | | | | control data but no payload data is passed. Change m_uiotombuf() to return at least one empty mbuf if the requested length was zero. Add comment to sosend_dgram and sosend_generic(). Diagnoses by: jhb Regression test by: rwatson Pointy hat to. andre
* Document the existence of the TCP_INFO socket option.bms2007-01-221-1/+24
| | | | Approved by: rwatson
* Actually fully emulate NetBSD and print the media instance numbermarius2007-01-221-2/+3
| | | | | | | only for non-zero instances so the typical output for IFM_IEEE80211 type media doesn't overflow 80 columns. Requested by: sam
* Docuemnt exactly which functions access which NSS databases.bms2007-01-222-6/+58
| | | | | | | | Point out that FreeBSD libc has compat stubs for GNU glibc NSS modules which access NSDB_PASSWD/NSDB_GROUP, but not NSDB_HOSTS; based on painful experience porting nss_mdns. Reviewed by: ru
* Below is slightly edited description of the LOR by Tor Egge:kib2007-01-222-5/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -------------------------- [Deadlock] is caused by a lock order reversal in vfs_lookup(), where [some] process is trying to lock a directory vnode, that is the parent directory of covered vnode) while holding an exclusive vnode lock on covering vnode. A simplified scenario: root fs var fs / A / (/var) D /var B /log (/var/log) E vfs lock C vfs lock F Within each file system, the lock order is clear: C->A->B and F->D->E When traversing across mounts, the system can choose between two lock orders, but everything must then follow that lock order: L1: C->A->B | +->F->D->E L2: F->D->E | +->C->A->B The lookup() process for namei("/var") mixes those two lock orders: VOP_LOOKUP() obtains B while A is held vfs_busy() obtains a shared lock on F while A and B are held (follows L1, violates L2) vput() releases lock on B VOP_UNLOCK() releases lock on A VFS_ROOT() obtains lock on D while shared lock on F is held vfs_unbusy() releases shared lock on F vn_lock() obtains lock on A while D is held (violates L1, follows L2) dounmount() follows L1 (B is locked while F is drained). Without unmount activity, vfs_busy() will always succeed without blocking and the deadlock isn't triggered (the system behaves as if L2 is followed). With unmount, you can get 4 processes in a deadlock: p1: holds D, want A (in lookup()) p2: holds shared lock on F, want D (in VFS_ROOT()) p3: holds B, want drain lock on F (in dounmount()) p4: holds A, want B (in VOP_LOOKUP()) You can have more than one instance of p2. The reversal was introduced in revision 1.81 of src/sys/kern/vfs_lookup.c and MFCed to revision 1.80.2.1, probably to avoid a cascade of vnode locks when nfs servers are dead (VFS_ROOT() just hangs) spreading to the root fs root vnode. - Tor Egge To fix the LOR, ups@ noted that when crossing the mount point, ni_dvp is actually not used by the callers of namei. Thus, placeholder deadfs vnode vp_crossmp is introduced that is filled into ni_dvp. Idea by: ups Reviewed by: tegge, ups, jeff, rwatson (mac interaction) Tested by: Peter Holm MFC after: 2 weeks
* Add quirk for EasyMP3 EM732X usb 2.0 flash mp3 player.imp2007-01-221-0/+8
| | | | | | | (It appears that the quirk proceedures link has disappeared and that this PR complied with it, if there's a problem, please contact me). PR: usb/96546
* Change the remainder of the drivers for DMA'ing devices enabled in themarius2007-01-2115-40/+57
| | | | | | | | sparc64 GENERIC and the sound device drivers known working on sparc64 to use bus_get_dma_tag() to obtain the parent DMA tag so we can get rid of the sparc64_root_dma_tag kludge eventually. Except for ath(4), sk(4), stge(4) and ti(4) these changes are runtime tested (unless I booted up the wrong kernels again...).
* Correct a logic bug in the previous change.marius2007-01-211-1/+1
|
* Use a printf-modifier which doesn't need a cast.netchild2007-01-211-2/+2
| | | | Submitted by: scottl
* Decrease to WARNS=3.rodrigc2007-01-201-1/+1
|
* Clean up compilation warnings. Set WARNS=6 in Makefile.rodrigc2007-01-2010-89/+35
| | | | | PR: 71659 Submitted by: Dan Lukes <dan obluda cz>
* - Disable the long-term load balancer. I believe that steal_busy worksjeff2007-01-201-1/+1
| | | | better and gives more predictable results.
* Fix tinderbox build on amd64.netchild2007-01-201-2/+2
|
* Quiet GCC4 warnings regarding the width of printf()-arguments notmarius2007-01-201-2/+3
| | | | | matching the format. While at it limit the format to unsigned int as we're only interested in the 11 least significant bits anyway.
* The multicast hash table has 8 slots in the BCE hardware, not 4 slots likescottl2007-01-201-4/+4
| | | | | | | the BGE hardware. Adapt the driver for this. Submitted by: Mike Karels MFC After: 3 days
* - We do need to IPI the idlethread on some systems. It may be stuck injeff2007-01-201-7/+1
| | | | | | | a power saving mode otherwise. - If the thread is already bound in sched_bind() unbind it before re-binding it to a new cpu. I don't like these semantics but they are expected by some code in the tree. Patch by jkoshy.
* MFp4 (113077, 113083, 113103, 113124, 113097):netchild2007-01-203-17/+83
| | | | | | | | | | | | | | | | | | | | | | | | | Dont expose em->shared to the outside world before its properly initialized. Might not affect anything but its at least a better coding style. Dont expose em via p->p_emuldata until its properly initialized. This also enables us to get rid of some locking and simplify the code because we are workin on a local copy. In linux_fork and linux_vfork create the process in stopped state to be sure that the new process runs with fully initialized emuldata structure [1]. Also fix the vfork (both in linux_clone and linux_vfork) race that could result in never woken up process [2]. Reported by: Scot Hetzel [1] Suggested by: jhb [2] Reviewed by: jhb (at least some important parts) Submitted by: rdivacky Tested by: Scot Hetzel (on amd64) Change 2 comments (in the new code) to comply to style(9). Suggested by: jhb
* Add macros for the individual divisor bits as some MC146818A-compatiblemarius2007-01-201-4/+7
| | | | chips also use them for different purposes.
* Remove BUS_DMA_WAITOK from bus_dma_tag_create() invocations as it'smarius2007-01-204-7/+7
| | | | no valid flag there.
* - Use bus_get_dma_tag() to obtain the parent DMA tag so dma(4) willmarius2007-01-201-6/+6
| | | | | | | | | work when we start requiring this. - Don't specify an alignment when creating our own parent DMA tag; the supported DMA engines require no alignment constraint (f.e. the LANCE child does though) and it's no inherited by the child DMA tags anyway (which probably is a bug though). - Fix whitespace nits.
* Fix build. chkdquot() should not return anything.delphij2007-01-201-1/+1
|
* - For the sake of completeness mention back-end support for the ILACCmarius2007-01-201-29/+57
| | | | | | | | | | and add a list of known-working PCI devices. - For consistency throughout this man page also talk about C-Bus and ISA adapters rather than cards. - Add missing .Tn. - Mention ifconfig(8) along with listing selectable media types. - Add/un-comment hardware notes for the newly supported 'lebuffer' variants (the transition from P/N 501-1860 to 501-1869 isn't a typo).
* Add front-ends for the 'lebuffer' variants found on some SBus cards.marius2007-01-204-2/+714
| | | | | | | | | These are shared-memory variants based on Am79C90-compatible chips that apart from the missing DMA engine are similar to the 'ledma' variant including using a (pseudo-)bus/device for the buffer that the actual LANCE device hangs off from. The performance of these is close to that of the 'ledma' one, like expected at a few times the CPU load though.
* Quota system cleanup.mpp2007-01-201-29/+137
| | | | | | | | | | | | | | | | | | | | | | | 1) Do not account for uids/gids that appear negative to prevent the creation of 131GB+ quota files. This is the same as the kernel now determines which files to provide quota accounting for. Related to PR kern/38156. This should also prevent boots from hanging if a negative uid appears in the file systems. 2) Do not count system files in the usage counts. These currently are file system snapshot and quota data files. This is how the kernel now handles those files. 3) Correctly generate new quota data files if the current files do not exist or are zero length in size. PR kern/30958. It should now be possible to newfs / mount / touch quota.{user,group} and quotaon a file system and have everything work. 4) Change some diagnostics to report the file system and type of id (uid or gid) that is being reported. 5) Truncate the quota data files if possible, instead of letting them grow to a big enough size to hold the largest UID/GID on the system (typically "nobody"). The kernel should now be able to grow the files as needed without deadlocking the system. PR: kern/30958, kern/38156
* Quota system cleanup.mpp2007-01-204-30/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Do not do quota accounting for the actual quota data files or for file system snapshot files ("system" files). This prevents a deadlock descibed in PR kern/30958 if the kernel ever has to grow the quota file. Snapshot files were already exempt from the quota checks, but this change generalized the check. 2) Fix a cast that caused extremely large uids/gids to incorrectly write the quota information to the data file at a truncated value for a uint_t32 id value. The incorrect cast caused quota files in this case to be around 4GB in size, with the correct cast they can now be 131GB in size. Also related to PR kern/30958. 3) Check for what appear to be negative UIDs/GIDs and not account for them. This prevents the quota files from becoming 131GB in size and causing quotacheck to run forever at bootup. This could also cause the kernel to try and expand the quota file, which might deadlock due to the issue in #1. kern/30958 and kern/38156 (and some much older closed PR's). 4) With the deadlock problems gone, the kernel can now expand the size of the quota database files if it needs to. 5) Pass in the i-node count change value to chkiq and chkiqchg as an int, like it used to be before the common routine was split up into 2 different routines to increase / decrease the i-node in-use count. Prevents an underflow on the i-node count. Related to PR kern/89247. 6) Prevent the block usage from growing slowly if a file system is full and the write was denied due to that fact. PR kern/89247. Some of these changes require an updated quotacheck to prevent the creation of huge (131GB) quota data files (item #3). #1/#4 probably fixes a lot of the random hangs when quotas are enabled, possibly some of the jail hangs.
* Ooops, fix the ratelimit.netchild2007-01-201-1/+3
|
* Convert a KASSERT into a runtime warning (rate limited) + failsafe fallback.netchild2007-01-201-4/+12
| | | | | | | Because of a stupid bug (also fixed with this commit) the KASSERT was triggered when runnung the linux top. Pointy hat to: netchild
* For setting the port PCnet chips must be powered down or stopped andmarius2007-01-201-7/+15
| | | | | | | | | | unlike documented may not take effect without an initialization. So don't invoke (*sc_mediachange) directly in lance_mediachange() but go through lance_init_locked(). It's suboptimal to impose this for all chips but given that besides the affected PCI bus front-end the only other front-end which supports media selection is and likely ever will be the 'ledma' front-end I see not enough reason to break the in-driver API for this (though one could argue both ways here).
* Use bus_get_dma_tag() to obtain the parent DMA tag so le(4) works onmarius2007-01-203-3/+3
| | | | platforms requiring this.
* - In tdq_transfer() always set NEEDRESCHED when necessary regardless ofjeff2007-01-201-15/+25
| | | | | | | | | | the ipi settings. If NEEDRESCHED is set and an ipi is later delivered it will clear it rather than cause extra context switches. However, if we miss setting it we can have terrible latency. - In sched_bind() correctly implement bind. Also be slightly more tolerant of code which calls bind multiple times. However, we don't change binding if another call is made with a different cpu. This does not presently work with hwpmc which I believe should be changed.
* Send not only Access Request, but also Access Challenge with definedpjd2007-01-201-5/+7
| | | | | | | NAS-Identifier and NAS-IP-Address. Reviewed by: bz MFC after: 1 month
* Add instructions for future update.rafan2007-01-202-0/+62
| | | | Approved by: delphij
* o Remove duplicate includes.maxim2007-01-207-7/+0
| | | | Obtained from: Slava Semushin via NetBSD
* Retire old ncurses build gluerafan2007-01-207-1248/+0
| | | | Approved by: delphij
* Switch to new ncurses build gluerafan2007-01-202-8/+8
| | | | Approved by: delphij
* Introduce new ncurses build glues which are part of ncurses 5.6 update.rafan2007-01-209-626/+1086
| | | | | Approved by: delphij Inspired by: DragonFly's and lib/bind
* Force commit to note the following repocopies:rafan2007-01-200-0/+0
| | | | | | | | | | | | | lib/libform/Makefile -> lib/ncurses/form/Makefile lib/libmenu/Makefile -> lib/ncurses/menu/Makefile lib/libncurses/Makefile -> lib/ncurses/ncurses/Makefile lib/libncurses/ncurses_cfg.h -> lib/ncurses/ncurses/ncurses_cfg.h lib/libncurses/pathnames.h -> lib/ncurses/ncurses/pathnames.h lib/libncurses/termcap.c -> lib/ncurses/ncurses/termcap.c lib/libpanel/Makefile -> lib/ncurses/panel/Makefile Approved by: delphij Repocopied by: kuriyama
* - Resolve conflictsrafan2007-01-2068-23851/+537
| | | | | | - Remove files that are removed in vender branch Approved by: delphij
* Grumble- let a linux-ism slip in and had an llx whichmjacob2007-01-201-9/+12
| | | | then choked on a 64 bit platforms. Oops.
* This commit was generated by cvs2svn to compensate for changes in r166124,rafan2007-01-20483-31726/+68333
|\ | | | | | | which included commits to RCS files with non-trunk default branches.
| * Import ncurses 5.6-20061217 onto the vender branchrafan2007-01-20486-32151/+68870
| | | | | | | | Approved by: delphij
OpenPOWER on IntegriCloud