summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 2 fixes that improve on the consistency of the NFS client cache.ps2004-12-066-21/+28
| | | | | | | | | | | - Change the cached mtime to a 'struct timespec' from a time_t. Improving the precision of the cached mtime tightens up NFS' "close-to-open" consistency considerably. - Always force an over-the-wire consistency check from nfs_open() (unless the file is marked modified). This further improves NFS' "close-to-open" consistency. Submitted by: Mohan Srinivasan mohans at yahoo-inc dot com
* Convert msdosfs to nmount.phk2004-12-061-75/+121
| | | | | | | | | | | | | Add a vfs_cmount() function which converts omount argument stucture to nmount arguments. Convert vfs_omount() to vfs_mount() and parse nmount arguments. This is 100% compatible with existing userland. Later on, but before userland gets converted to nmount we may want to revisit the names of the mountoptions, for instance it may make sense to use consistent options for charset conversion etc.
* - Make route cacheing optional, configurable via IFF_LINK0 flag.glebius2004-12-061-0/+6
| | | | | | | | | - Turn it off by default. Requested by: many Reviewed by: andre Approved by: julian (mentor) MFC after: 3 days
* Serialize NFS vinvalbuf operations by acquiring/upgrading to theps2004-12-064-31/+24
| | | | | | | | | | | | | vnode EXCLUSIVE lock. This prevents threads from adding pages to the vnode while an invalidation is in progress, closing potential races. In the bioread() path, callers acquire the SHARED vnode lock - so while an invalidate was in progress, it was possible to fault in new pages onto the vnode causing the invalidation to take a while or fail. We saw these races at Yahoo! with very large files+heavy concurrent access. Forcing an upgrade to EXCLUSIVE lock before doing the invalidation closes all these races. Submitted by: Mohan Srinivasan mohans at yahoo-inc dot com
* Due to a significant addition of code, add my copyright to this file. Alsoscottl2004-12-061-0/+1
| | | | | note that the PCIe work was made possible due to hardware donations from the FreeBSD Foundation and Intel. Thanks!
* Add more functions for handling mount arguments in VFS_MOUNT():phk2004-12-062-0/+117
| | | | | | | | | vfs_flagopt() for binary/boolean options. vfs_getopts() for string options vfs_filteropt() to check for unknown options. vfs_scanopt() for scanf() like processing of options. Also add function for setting the stat.f_mntfromname field.
* Add non-blocking versions of nfsm_dissect() and friends, for use fromps2004-12-063-5/+30
| | | | | | | | | socket callbacks or similar callers, from both the NFS client and the server. Instituted nfsm_dissect_nonblock(), nfsm_dissect_xx_nonblock(). And nfsm_disct() now takes an extra M_TRYWAIT/M_DONTWAIT argument. Submitted by: Mohan Srinivasan mohans at yahoo-inc dot com
* Change the first argument of vfs_cmount() to a handy struct mntarg* andphk2004-12-062-15/+22
| | | | | | call it accordingly. (No filesystems implement vfs_cmount() yet, so this is a no-op commit)
* - If all data has been committed to stable storage on the server, itps2004-12-061-3/+7
| | | | | | | | | | is safe to turn off the nfsnode's NMODIFIED flag. - Move the check for signals to the top of the loop where we loop around the dirty buffers on the vnode, scheduling writes. This ensures that we'll break ouf of the flush operation on reception of a signal. Submitted by: Mohan Srinivasan mohans at yahoo-inc dot com
* Correct a typo in a comment.rwatson2004-12-061-1/+1
|
* Correct two bugs that may result in incorrect CBCP response fordelphij2004-12-061-5/+3
| | | | | | | | | | | | | | | | | | administrator specified number. The implementation in our version transmits extra zero byte that is a violation of the Microsoft PPP Callback Control Protocol section 3.2[1]. This can lead to incorrect behavior on certain devices, as reported in bin/50613. Confirmed with: cbcp.c in ppp's cvs, rev. 1.4 and 1.15 [2] Submitted by: Dmitry Pryanishnikov <dmitry at atlantis.dp.ua> PR: bin/50613 [1] http://www.dsl.gr.jp/~manabe/PPxP/doc/Standards/draft-gidwani-ppp-callback-cp-00.txt [2] http://cvs.samba.org/cgi-bin/cvsweb/ppp/pppd/cbcp.c http://www.samba.org/cvs.html
* Fix -t option processing.bland2004-12-061-4/+2
| | | | | | Partially initialized tm structure was passed into mktime(3). Approved by: ru
* Some constification which doesn't require code rewrites.harti2004-12-064-17/+13
|
* This commit was generated by cvs2svn to compensate for changes in r138451,roberto2004-12-061-2/+7
|\ | | | | | | which included commits to RCS files with non-trunk default branches.
| * Merge from the main BK repository for ntp: put two midly annoying messagesroberto2004-12-061-2/+7
| | | | | | | | | | | | | | | | under #ifdef DEBUG. Merge of revision 1.45 by H. Stenn. Done on the vendor branch to minimise future imports. Reminded by: obrien
* | Print a warning if running as !root for aio_md_test rather than failingrwatson2004-12-061-1/+5
| | | | | | | | the test. Privilege is required in order to allocate an md device.
* | Add a few convenient functions in the mount_arg() family and collect thephk2004-12-062-72/+211
| | | | | | | | entire family at the end of the source file.
* | Add a basic aio functionality regression test, which simply writes andrwatson2004-12-062-0/+702
| | | | | | | | | | | | | | | | | | then reads from a fairly broad range of object types: regular file, fifo, UNIX socketpair, pty, UNIX pipe, and an md device. Not a deep test of functionality, just a basic test that aio_write followed by aio_read returns the correct data in a relatively timely manner. Requested by: phk
* | Collapse two almost identical license copies, preserving the rights ofphk2004-12-061-24/+1
| | | | | | | | all listed authors, rightholders and contributors.
* | Remove the kern.rootdev sysctl.phk2004-12-061-24/+0
| | | | | | | | | | | | Root filessytems (like NFS) don't have an associated disk device, and even if they had, the exact semantics would be filesystem dependent and should be implemented there.
* | Make struct vfsopt{list} private to vfs_mount.cphk2004-12-062-7/+10
| |
* | Fix warningphk2004-12-061-1/+1
| |
* | Update prototypes for eventhandler_register() and eventhandler_find_list()jkoshy2004-12-061-3/+3
| | | | | | | | to match the code.
* | Style: fix indentation.harti2004-12-062-643/+660
| |
* | We don't have RAIDFrame anymore and it seems gvinum doesn't use SI_SUB_RAID,pjd2004-12-061-1/+1
| | | | | | | | so correct stale comment. The only SI_SUB_RAID consumer is gmirror right now.
* | Use 'const char *' for a few prototypes.jkoshy2004-12-062-6/+6
| | | | | | | | Reviewed by: ru
* | Unbreak sockstat(1) on systems without the divert protocol.ru2004-12-061-0/+2
| |
* | Remove an unused macro.harti2004-12-061-5/+0
| |
* | Constify arguments to Hash_FindEntry and Hash_CreateEntry.harti2004-12-062-6/+6
| |
* | Remove extra empty lines.harti2004-12-061-2/+0
| |
* | Style: fix indentation, prototypes for functions even in comment.harti2004-12-061-25/+13
| |
* | Make this work under debugging, e.g., "make -dl".ru2004-12-062-2/+2
| |
* | Userland change corresponding to the change in kernel/userland communicationphk2004-12-061-31/+19
| | | | | | | | for NFS locking.
* | For reasons unknown, the nfs locking code used a fifo to send requests tophk2004-12-065-88/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | userland and a dedicated system call to get replies. The vnode-bypass of fifos broke this into a panic. Ditch all the magic and create a device /dev/nfslock instead, and use that for both directions apart from the shorter path, this is also faster because the device driver runs Giant free using the vnode bypass. Noticed by: marcel
* | Add support for the memory-mapped PCI Express configuration mechanism. Thisscottl2004-12-061-8/+211
| | | | | | | | | | | | | | | | | | | | | | | | | | | | actually is a property of the northbridge and applies to all PCI/PCI-X/PCIe devices in the system, though only PCIe devices will respond to registers higher than 256. This uses per-CPU pools of temporary mappings so that the whole 256MB of configuration space doesn't have to be mapped all at once. While the sf_buf API was considered for this, the fact that it requires sleep locks and can return failure made it unsuitable for this use. For now only the Intel Grantsdale and Lindenhurst (925 and 752x) chipsets are supported. Since there doesn't appear to be a compatible way to determine northbridge support, new chipsets will have to be explicitely added in the future.
* | The 'start' command processes loader.conf variables, not loader.rc.imp2004-12-061-1/+1
| | | | | | | | Fix comment to match.
* | This jumbo allocator has been removed from the kernel.alc2004-12-063-161/+2
| |
* | Enable amr(4) - scottl fixed when used with >4GB RAM.obrien2004-12-061-1/+0
| |
* | Update the Tigon 1 and 2 driver to use the sf_buf API for implementingalc2004-12-066-350/+50
| | | | | | | | | | | | | | | | | | | | | | | | zero-copy receive of jumbo frames. This eliminates the need for the jumbo frame allocator implemented in kern/uipc_jumbo.c and sys/jumbo.h. Remove it. Note: Zero-copy receive of jumbo frames did not work without these changes; I believe there was insufficient locking on the jumbo vm object. Tested by: ken@ Discussed with: gallatin@
* | Fix a number of bugs and significantly alter the command execution path toscottl2004-12-054-59/+168
| | | | | | | | | | | | | | | | | | | | properly support bounce buffers and resource shortages. This allows the driver to work properly and reliably with more than 4GB of RAM. Of the three data paths that exist in the driver, (block, CAM, ioctl), the ioctl path has not been well tested with these changes due to difficulty with finding an application that uses it that actually works. Sponsored by: The FreeBSD Foundation and FreeBSD Systems, Inc.
* | Code for automatic name completion in a tcsh(1) environment.hmp2004-12-051-0/+7
| | | | | | | | | | PR: docs/44435 Submitted by: Slaven Rezic slaven dot rezic at berlin dot de
* | Use ng_callout() instead of timeout(9).glebius2004-12-051-7/+7
| | | | | | | | Approved by: julian (mentor)
* | Convert GIANT_REQUIRED; in nfs_mountroot() to NET_ASSERT_GIANT(),rwatson2004-12-051-1/+6
| | | | | | | | | | | | | | | | | | and annotate that nfs_mountroot assumes it is OK to step on the values in the global NFSv3 diskless structure as the mountroot function is called during a serialized part of the boot, before any other NFS client activity occurs. MFC after: 2 weeks
* | Convert a GIANT_REQUIRED; into a NET_ASSERT_GIANT();, as sockets arerwatson2004-12-051-1/+1
| | | | | | | | now only conditionally protected by Giant based on debug.mpsafenet.
* | Make sure to map the whole kernel into 1MB pages. Try to use the remainingcognet2004-12-051-27/+67
| | | | | | | | memory for things such as the kernel stack.
* | Assert the tcptw inpcb lock in tcp_timer_2msl_reset(), as fields inrwatson2004-12-051-0/+1
| | | | | | | | | | | | the tcptw undergo non-atomic read-modify-writes. MFC after: 2 weeks
* | Reactivate the use of the minidata cache.cognet2004-12-051-1/+0
| |
* | Do not change the page directory and do not flush the TLB when switching tocognet2004-12-051-26/+6
| | | | | | | | a kernel thread.
* | Remove an unused field from the struct pv_entry.cognet2004-12-051-4/+3
| | | | | | | | While I'm there, fix style.
* | VFS_STATFS(mp, ...) is mostly called with &mp->mnt_stat, but a few casesphk2004-12-0521-127/+14
| | | | | | | | | | | | | | | | doesn't. Most of the implementations have grown weeds for this so they copy some fields from mnt_stat if the passed argument isn't that. Fix this the cleaner way: Always call the implementation on mnt_stat and copy that in toto to the VFS_STATFS argument if different.
OpenPOWER on IntegriCloud