History log of /src/sys/nfs/nfs_subs.c |
Revision | | Date | Author | Comments |
1.242 |
| 09-Feb-2022 |
andvar | s/ony/only/
|
1.241 |
| 05-Sep-2020 |
riastradh | Round of uvm.h cleanup.
The poorly named uvm.h is generally supposed to be for uvm-internal users only.
- Narrow it to files that actually need it -- mostly files that need to query whether curlwp is the pagedaemon, which should maybe be exposed by an external header.
- Use uvm_extern.h where feasible and uvm_*.h for things not exposed by it. We should split up uvm_extern.h but this will serve for now to reduce the uvm.h dependencies.
- Use uvm_stat.h and #ifdef UVMHIST uvm.h for files that use UVMHIST(ubchist), since ubchist is declared in uvm.h but the reference evaporates if UVMHIST is not defined, so we reduce header file dependencies.
- Make uvm_device.h and uvm_swap.h independently includable while here.
ok chs@
|
1.240 |
| 25-May-2020 |
ad | - Alter the convention for uvm_page_array slightly, so the basic search parameters can't change part way through a search: move the "uobj" and "flags" arguments over to uvm_page_array_init() and store those with the array.
- With that, detect when it's not possible to find any more pages in the tree with the given search parameters, and avoid repeated tree lookups if the caller loops over uvm_page_array_fill_and_peek().
|
1.239 |
| 04-Apr-2020 |
mlelstv | NFSv2 is limited to use only 32bit in metadata. Prevent that larger metadata values are simply truncated.
-> clamp filesystem block counts to signed 32bit. -> clamp file sizes to signed 32bit (*)
Some NFSv2 clients also have problems to handle buffer sizes larger than (signed) 16bit. -> clamp buffer sizes to signed 16bit for better compatibility.
(*) This can lead to erroneous behaviour for files larger than 2GB that NFSv2 cannot handle but it is still better than before. An alternative would be to (partially) reject operations on files larger than 2GB, but which causes other problems.
|
1.238 |
| 08-Mar-2020 |
mgorny | Update NFS errno mapping and add assert for correctness
Add the mapping for errno values missing in nfsrv_v2errmap[]. While at it, add a compile-time assert to make sure that the array does not become out-of-date again.
|
1.237 |
| 24-Feb-2020 |
ad | v_interlock -> vmobjlock
|
1.236 |
| 15-Dec-2019 |
ad | branches: 1.236.2; Merge from yamt-pagecache:
- do gang lookup of pages using radixtree. - remove now unused uvm_object::uo_memq and vm_page::listq.queue.
|
1.235 |
| 22-Dec-2018 |
maxv | Replace M_ALIGN and MH_ALIGN by m_align.
|
1.234 |
| 22-Dec-2018 |
maxv | Replace: M_MOVE_PKTHDR -> m_move_pkthdr. No functional change, since the former is a macro to the latter.
|
1.233 |
| 03-Sep-2018 |
riastradh | Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
1.232 |
| 08-May-2018 |
maxv | branches: 1.232.2; Use M_MOVE_PKTHDR.
|
1.231 |
| 26-Apr-2018 |
maxv | Hum. This should be M_READONLY, not M_ROMAP.
M_ROMAP tells us whether the mbuf storage is mapped on a read-only page. But an mbuf can still be read-only in the sense that the storage is shared with other mbufs.
|
1.230 |
| 21-Jan-2018 |
christos | branches: 1.230.2; PR/40491: From Tobias Ulmer in tech-kern@: 1. Protect the nfs request queue with its own mutex 2. make the nfs_receive queue check for signals so that intr mounts can be interrupted. XXX: pullup-8
|
1.229 |
| 01-Apr-2017 |
riastradh | branches: 1.229.6; KASSERT(mutex_owned(vp->v_interlock)) in vnode iterator selector.
|
1.228 |
| 10-Jun-2016 |
ozaki-r | branches: 1.228.2; 1.228.4; Introduce m_set_rcvif and m_reset_rcvif
The API is used to set (or reset) a received interface of a mbuf. They are counterpart of m_get_rcvif, which will come in another commit, hide internal of rcvif operation, and reduce the diff of the upcoming change.
No functional change.
|
1.227 |
| 10-Aug-2014 |
tls | branches: 1.227.4; Merge tls-earlyentropy branch into HEAD.
|
1.226 |
| 24-May-2014 |
christos | Introduce a selector function to the vfs vnode iterator so that we don't need to vget() vnodes that we are not interested at, and optimize locking a bit. Iterator changes reviewed by Hannken (thanks), the rest of the bugs are mine.
|
1.225 |
| 17-Mar-2014 |
hannken | branches: 1.225.2; Change nfs_clearcommit() to use vfs_vnode_iterator.
|
1.224 |
| 18-Sep-2013 |
pgoyette | knf (blank line even if there are no local declarations)
|
1.223 |
| 18-Sep-2013 |
christos | Use reference counting to keep track of construction and destruction of the structures used by both the nfs server and client code. Tested by pgoyette@
1. mount remote fs via nfs (my /home directory), which autoloads nfs module 2. manually modload nfsserver 3. wait a bit 4. manually modunload nfsserver 5. wait a couple minutes 6. verify that client access still works (/bin/ls ~paul home dir) 7. manually modload nfsserver again 8. start an nfsd process 9. wait a bit 10. kill nfsd process 11. wait 12. manually modunload nfsserver again 13. verify continued client access
XXX: Note that nfs_vfs_init() calls nfs_init(), but nfs_vfs_done() does not call nfs_fini(). Also note that the destruction order is wrong in it, but probably does not matter. "someone" (!= me) should fix it :-) and run the above tests.
|
1.222 |
| 19-Nov-2011 |
tls | branches: 1.222.8; 1.222.12; First step of random number subsystem rework described in <20111022023242.BA26F14A158@mail.netbsd.org>. This change includes the following:
An initial cleanup and minor reorganization of the entropy pool code in sys/dev/rnd.c and sys/dev/rndpool.c. Several bugs are fixed. Some effort is made to accumulate entropy more quickly at boot time.
A generic interface, "rndsink", is added, for stream generators to request that they be re-keyed with good quality entropy from the pool as soon as it is available.
The arc4random()/arc4randbytes() implementation in libkern is adjusted to use the rndsink interface for rekeying, which helps address the problem of low-quality keys at boot time.
An implementation of the FIPS 140-2 statistical tests for random number generator quality is provided (libkern/rngtest.c). This is based on Greg Rose's implementation from Qualcomm.
A new random stream generator, nist_ctr_drbg, is provided. It is based on an implementation of the NIST SP800-90 CTR_DRBG by Henric Jungheim. This generator users AES in a modified counter mode to generate a backtracking-resistant random stream.
An abstraction layer, "cprng", is provided for in-kernel consumers of randomness. The arc4random/arc4randbytes API is deprecated for in-kernel use. It is replaced by "cprng_strong". The current cprng_fast implementation wraps the existing arc4random implementation. The current cprng_strong implementation wraps the new CTR_DRBG implementation. Both interfaces are rekeyed from the entropy pool automatically at intervals justifiable from best current cryptographic practice.
In some quick tests, cprng_fast() is about the same speed as the old arc4randbytes(), and cprng_strong() is about 20% faster than rnd_extract_data(). Performance is expected to improve.
The AES code in src/crypto/rijndael is no longer an optional kernel component, as it is required by cprng_strong, which is not an optional kernel component.
The entropy pool output is subjected to the rngtest tests at startup time; if it fails, the system will reboot. There is approximately a 3/10000 chance of a false positive from these tests. Entropy pool _input_ from hardware random numbers is subjected to the rngtest tests at attach time, as well as the FIPS continuous-output test, to detect bad or stuck hardware RNGs; if any are detected, they are detached, but the system continues to run.
A problem with rndctl(8) is fixed -- datastructures with pointers in arrays are no longer passed to userspace (this was not a security problem, but rather a major issue for compat32). A new kernel will require a new rndctl.
The sysctl kern.arandom() and kern.urandom() nodes are hooked up to the new generators, but the /dev/*random pseudodevices are not, yet.
Manual pages for the new kernel interfaces are forthcoming.
|
1.221 |
| 12-Jun-2011 |
rmind | branches: 1.221.2; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
1.220 |
| 06-Nov-2010 |
uebayasi | branches: 1.220.6; Include uvm/uvm.h to use UVM internal type (struct vm_page).
|
1.219 |
| 02-Mar-2010 |
pooka | branches: 1.219.2; Get rid of dependency on fs_nfs.h, i.e. source modules with conditional content depending on if the NFS client is wanted or not. The server can now be made an independent module not depending on the nfs client.
Tested with rump_nfs (standalone client), rump_nfsd (standalone nfsd) and a qemu installation with both the client and the server.
|
1.218 |
| 31-Dec-2009 |
christos | branches: 1.218.2; put nuidhash_max in a file that is shared between server and client code.
|
1.217 |
| 14-May-2009 |
yamt | nfs_clearcommit: fix a race with vnode cleaning.
|
1.216 |
| 15-Mar-2009 |
cegger | ansify function definitions
|
1.215 |
| 14-Mar-2009 |
dsl | ANSIfy another 1261 function definitions. The only ones left in sys are beyond by sed script! (or in sys/dist or sys/external) Mostly they have function pointer parameters.
|
1.214 |
| 14-Mar-2009 |
dsl | Change about 4500 of the K&R function definitions to ANSI ones. There are still about 1600 left, but they have ',' or /* ... */ in the actual variable definitions - which my awk script doesn't handle. There are also many that need () -> (void). (The script does handle misordered arguments.)
|
1.213 |
| 14-Mar-2009 |
dsl | Remove all the __P() from sys (excluding sys/dist) Diff checked with grep and MK1 eyeball. i386 and amd64 GENERIC and sys still build.
|
1.212 |
| 17-Dec-2008 |
cegger | branches: 1.212.2; kill MALLOC and FREE macros.
|
1.211 |
| 28-Nov-2008 |
pooka | g/c unused malloc types
|
1.210 |
| 19-Nov-2008 |
ad | Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
1.209 |
| 22-Oct-2008 |
matt | branches: 1.209.2; Don't need nfs_vfs_reinit anymore since we don't resize tables anymore. Move reinit code to init case.
|
1.208 |
| 22-Oct-2008 |
matt | Change NFS to use a RB-tree for its FH->nfsnode lookups.
|
1.207 |
| 09-Oct-2008 |
pooka | Use atomic op to get next xid. Initialize value with arc4random() at nfs init time instead system time based trickery intermingled with the runtime code.
le bouef: kills last simple_lock from nfs
|
1.206 |
| 30-Sep-2008 |
pooka | Initialize nfsnode pools and malloc type dynamically in the constructor instead of depending on link sets. Consequently, rename nfs_nh{init,reinit,done} to nfs_node_{init,reinit,done}, respectively, to better convey the function.
|
1.205 |
| 15-Jul-2008 |
christos | explicitly set birthtime to VNOVAL, since there is no such thing in nfsv{2,3}
|
1.204 |
| 04-Jun-2008 |
ad | branches: 1.204.2; 1.204.4; vm_page: put TAILQ_ENTRY into a union with LIST_ENTRY, so we can use both.
|
1.203 |
| 10-May-2008 |
rumble | Convert file systems to dynamically attach with the new module interface. Make VFS hooks dynamic while we're here and say farewell to VFS_ATTACH and VFS_HOOKS_ATTACH linksets.
As a consequence, most of the file systems can now be loaded as new style modules.
Quick sanity check by ad@.
|
1.202 |
| 05-May-2008 |
ad | branches: 1.202.2; - Convert hashinit() to use kmem_alloc(). The hash tables can be large and it's better to not have them in kmem_map. - Convert a couple of minor items along the way to kmem_alloc(). - Fix some memory leaks.
|
1.201 |
| 24-Mar-2008 |
yamt | branches: 1.201.2; 1.201.4; merge yamt-lazymbuf branch.
|
1.200 |
| 05-Mar-2008 |
elad | Nuke a KAUTH_GENERIC_ISSUSER, this time in favor of an euid == 0, as the traditional NFS maproot functionality goes.
Put in a note explaining why and who, also mark for future greps.
Okay yamt@.
|
1.199 |
| 13-Feb-2008 |
yamt | branches: 1.199.2; 1.199.6; reject files larger than nm_maxfilesize.
|
1.198 |
| 28-Jan-2008 |
yamt | nfs_check_wccdata: unifdef wcc kludge messages.
|
1.197 |
| 24-Jan-2008 |
ad | specfs changes for PR kern/37717 (raidclose() is no longer called on shutdown). There are still problems with device access and a PR will be filed.
- Kill checkalias(). Allow multiple vnodes to reference a single device.
- Don't play dangerous tricks with block vnodes to ensure that only one vnode can describe a block device. Instead, prohibit concurrent opens of block devices. As a bonus remove the unreliable code that prevents multiple file system mounts on the same device. It's no longer needed.
- Track opens by vnode and by device. Issue cdev_close() when the last open goes away, instead of abusing vnode::v_usecount to tell if the device is open.
|
1.196 |
| 02-Jan-2008 |
yamt | use kmem_alloc instead of malloc.
|
1.195 |
| 02-Jan-2008 |
ad | Merge vmlocking2 to head.
|
1.194 |
| 08-Dec-2007 |
pooka | branches: 1.194.4; Remove cn_lwp from struct componentname. curlwp should be used from on. The NDINIT() macro no longer takes the lwp parameter and associates the credentials of the calling thread with the namei structure.
|
1.193 |
| 26-Nov-2007 |
pooka | branches: 1.193.2; Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
1.192 |
| 28-Oct-2007 |
yamt | branches: 1.192.2; make NFS_ATTRTIMEO a function.
|
1.191 |
| 27-Jul-2007 |
yamt | branches: 1.191.4; 1.191.6; 1.191.10; 1.191.12; stop nfs tick when we have nothing to do.
|
1.190 |
| 09-Jul-2007 |
ad | branches: 1.190.2; Fix build when not !NFSSERVER.
|
1.189 |
| 09-Jul-2007 |
ad | Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes - select()/poll() improvements - miscellaneous MT safety improvements
|
1.188 |
| 06-Jun-2007 |
yamt | nfs_getattrcache: simplify. no functional changes.
|
1.187 |
| 28-May-2007 |
yamt | - remove nfs_exit exit hook. ok'ed by christos@. - as far as i understand the code, it shouldn't be necessary because nfs_request can't return without removing its request and r->r_lwp is either curlwp or NULL. - even if it's necessary, leaking requests is not the correct way to recover from the condition. - nfs_request: add a related assertion.
|
1.186 |
| 29-Apr-2007 |
yamt | use mutex and condver.
|
1.185 |
| 22-Apr-2007 |
dsl | Change the way that emulations locate files within the emulation root to avoid having to allocate space in the 'stackgap' - which is very LWP unfriendly. The additional code for non-emulation namei() is trivial, the reduction for the emulations is massive. The vnode for a processes emulation root is saved in the cwdi structure during process exec. If the emulation root the TRYEMULROOT flag are set, namei() will do an initial search for absolute pathnames in the emulation root, if that fails it will retry from the normal root. ".." at the emulation root will always go to the real root, even in the middle of paths and when expanding symlinks. Absolute symlinks found using absolute paths in the emulation root will be relative to the emulation root (so /usr/lib/xxx.so -> /lib/xxx.so links inside the emulation root don't need changing). If the root of the emulation would be returned (for an emulation lookup), then the real root is returned instead (matching the behaviour of emul_lookup, but being a cheap comparison here) so that programs that scan "../.." looking for the root dircetory don't loop forever. The target for symbolic links is no longer mangled (it used to get the CHECK_ALT_xxx() treatment, so could get /emul/xxx prepended). CHECK_ALT_xxx() are no more. Most of the change is deleting them, and adding TRYEMULROOT to the flags to NDINIT(). A lot of the emulation system call stubs could now be deleted.
|
1.184 |
| 09-Mar-2007 |
yamt | branches: 1.184.2; 1.184.4; nfs_check_wccdata: print timestamps.
|
1.183 |
| 04-Mar-2007 |
christos | Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.182 |
| 22-Feb-2007 |
thorpej | TRUE -> true, FALSE -> false
|
1.181 |
| 21-Feb-2007 |
thorpej | Replace the Mach-derived boolean_t type with the C99 bool type. A future commit will replace use of TRUE and FALSE with true and false.
|
1.180 |
| 15-Feb-2007 |
yamt | branches: 1.180.2; use mutex and rwlock rather than lockmgr.
|
1.179 |
| 27-Dec-2006 |
yamt | remove nqnfs.
|
1.178 |
| 09-Dec-2006 |
chs | a smorgasbord of improvements to vnode locking and path lookup: - LOCKPARENT is no longer relevant for lookup(), relookup() or VOP_LOOKUP(). these now always return the parent vnode locked. namei() works as before. lookup() and various other paths no longer acquire vnode locks in the wrong order via vrele(). fixes PR 32535. as a nice side effect, path lookup is also up to 25% faster. - the above allows us to get rid of PDIRUNLOCK. - also get rid of WANTPARENT (just use LOCKPARENT and unlock it). - remove an assumption in layer_node_find() that all file systems implement a recursive VOP_LOCK() (unionfs doesn't). - require that all file systems supply vfs_vptofh and vfs_fhtovp routines. fill in eopnotsupp() for file systems that don't support being exported and remove the checks for NULL. (layerfs calls these without checking.) - in union_lookup1(), don't change refcounts in the ISDOTDOT case, just adjust which vnode is locked. fixes PR 33374. - apply fixes for ufs_rename() from ufs_vnops.c rev. 1.61 to ext2fs_rename().
|
1.177 |
| 09-Nov-2006 |
yamt | branches: 1.177.2; remove some __unused in function parameters.
|
1.176 |
| 20-Oct-2006 |
reinoud | Replace the LIST structure mp->mnt_vnodelist to a TAILQ structure since all vnodes were synced and processed backwards. This meant that the last accessed node was processed first and the earlierst last.
An extra benefit is the removal of the ugly hack from the Berkly days on LFS.
In the proces, i've also replaced the various variations hand written loops by the TAILQ_FOREACH() macro's.
|
1.175 |
| 17-Oct-2006 |
dogcow | now that we have -Wno-unused-parameter, back out all the tremendously ugly code to gratuitously access said parameters.
|
1.174 |
| 14-Oct-2006 |
yamt | grab glock when calling uvm_unp_setsize, so that it doesn't interfere mmap'ed accesses. this fixes an assertion failure in in nfs_doio_read. ("vp->v_size >= uiop->uio_offset + uiop->uio_resid")
|
1.173 |
| 13-Oct-2006 |
christos | more __unused
|
1.172 |
| 13-Oct-2006 |
dogcow | more unused variable fallout.
|
1.171 |
| 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.170 |
| 04-Sep-2006 |
yamt | branches: 1.170.2; 1.170.4; nfs_ispublicfh: fix another instance of cast-qual.
|
1.169 |
| 04-Sep-2006 |
yamt | remove (void *) cast from NFSRVFH_DATA as it sometimes discards const qualifier. pointed out by Havard Eidnes. (it wasn't detected by in-tree gcc4. seems like a compiler bug.)
|
1.168 |
| 02-Sep-2006 |
yamt | nfsd: deal with variable-sized filehandles.
|
1.167 |
| 02-Sep-2006 |
christos | fix default type decls fix incomplete initializer
|
1.166 |
| 13-Jul-2006 |
martin | Fix alignement problems for fhandle_t, exposed by gcc4.1.
While touching all vptofh/fhtovp functions, get rid of VFS_MAXFIDSIZ, version the getfh(2) syscall and explicitly pass the size available in the filehandle from userland.
Discussed on tech-kern, with lots of help from yamt (thanks!).
|
1.165 |
| 07-Jun-2006 |
kardel | branches: 1.165.2; merge FreeBSD timecounters from branch simonb-timecounters - struct timeval time is gone time.tv_sec -> time_second - struct timeval mono_time is gone mono_time.tv_sec -> time_uptime - access to time via {get,}{micro,nano,bin}time() get* versions are fast but less precise - support NTP nanokernel implementation (NTP API 4) - further reading: Timecounter Paper: http://phk.freebsd.dk/pubs/timecounter.pdf NTP Nanokernel: http://www.eecis.udel.edu/~mills/ntp/html/kern.html
|
1.164 |
| 19-May-2006 |
yamt | branches: 1.164.2; - fix compilation problem for !NFSSERVER && NFS. pointed by Tom Spindler on source-changes@. - make nfs_srvdesc_pool static.
|
1.163 |
| 18-May-2006 |
yamt | - fix some leaks in nfsd, introduced by kauth changes. - simplify code. - add some assertions. - wrap some long lines. - remove an unnecessary ";".
|
1.162 |
| 14-May-2006 |
elad | integrate kauth.
|
1.161 |
| 14-May-2006 |
christos | XXX: GCC uninitialized
|
1.160 |
| 15-Apr-2006 |
christos | Coverity CID 1141: Add a KASSERT before deref.
|
1.159 |
| 15-Apr-2006 |
christos | Coverity CID 1142: Add a KASSERT before deref.
|
1.158 |
| 01-Mar-2006 |
yamt | branches: 1.158.2; 1.158.4; 1.158.6; merge yamt-uio_vmspace branch.
- use vmspace rather than proc or lwp where appropriate. the latter is more natural to specify an address space. (and less likely to be abused for random purposes.) - fix a swdmover race.
|
1.157 |
| 16-Jan-2006 |
yamt | branches: 1.157.2; 1.157.4; - tweak RUN_ONCE api to allow init_func returns an error. - physio: handle failure of workqueue_create.
|
1.156 |
| 11-Dec-2005 |
christos | branches: 1.156.2; merge ktrace-lwp.
|
1.155 |
| 25-Nov-2005 |
thorpej | Use a once control to initialize the NFS server / client shared data from nfs_vfs_init() or sys_nfssvc(). Remove the nfs_init() call from main().
|
1.154 |
| 22-Nov-2005 |
yamt | - reduce number of linear search per rpc. - coalesce mount_netexport_pair into netexport.
|
1.153 |
| 23-Sep-2005 |
jmmv | branches: 1.153.6; Apply the NFS exports list rototill patch:
- Remove all NFS related stuff from file system specific code. - Drop the vfs_checkexp hook and generalize it in the new nfs_check_export function, thus removing redundancy from all file systems. - Move all NFS export-related stuff from kern/vfs_subr.c to the new file sys/nfs/nfs_export.c. The former was becoming large and its code is always compiled, regardless of the build options. Using the latter, the code is only compiled in when NFSSERVER is enabled. While doing this, also make some functions in nfs_subs.c conditional to NFSSERVER. - Add a new command in nfssvc(2), called NFSSVC_SETEXPORTSLIST, that takes a path and a set of export entries. At the moment it can only clear the exports list or append entries, one by one, but it is done in a way that allows setting the whole set of entries atomically in the future (see the comment in mountd_set_exports_list or in doc/TODO). - Change mountd(8) to use the nfssvc(2) system call instead of mount(2) so that it becomes file system agnostic. In fact, all this whole thing was done to remove a 'XXX' block from this utility! - Change the mount*, newfs and fsck* userland utilities to not deal with NFS exports initialization; done internally by the kernel when initializing the NFS support for each file system. - Implement an interface for VFS (called VFS hooks) so that several kernel subsystems can run arbitrary code upon receipt of specific VFS events. At the moment, this only provides support for unmount and is used to destroy NFS exports lists from the file systems being unmounted, though it has room for extension.
Thanks go to yamt@, chs@, thorpej@, wrstuden@ and others for their comments and advice in the development of this patch.
|
1.152 |
| 19-Sep-2005 |
christos | ATTRTIMEO takes 2 args.
|
1.151 |
| 19-Aug-2005 |
yamt | as we now have 64bit ino_t, no need to truncate nfsv3 fileids.
|
1.150 |
| 07-Jul-2005 |
christos | 1. use p = uio->uio_procp consistently and eliminate suspicious uses of curproc (where uio->uio_procp should be used?). Don't do this for nfs_commit(), because yamt says it is possibly wrong. 2. nfs_doio() does not use struct proc; remove it and the code to compute it. 3. use copyin_proc() and copyout_proc() instead of copyin() and copyout(). 4. check return of copyout_proc(). and mark return from copyin_proc() XXX 5. Eliminate check p == curproc assertion check from nfs_write; nfs_read does not have it and we might be called in a different process context anyway (PR 20138).
|
1.149 |
| 29-May-2005 |
christos | branches: 1.149.2; - sprinkle const - avoid shadowed variables - mark bad const use with XXXUNCONST
|
1.148 |
| 26-Feb-2005 |
perry | branches: 1.148.2; nuke trailing whitespace
|
1.147 |
| 28-Jan-2005 |
yamt | nfs_namei: return EACCES for empty filenames as rfc1813 says.
|
1.146 |
| 28-Jan-2005 |
yamt | nfs_clearcommit: don't attempt to clear commit info (n_pushlo, etc) unless the vnode is of VREG. union members used to keep commit info are used for other purposes in the case of !VREG.
|
1.145 |
| 27-Jan-2005 |
yamt | keep directory eof cache when inactivating vnode because there's no reason to throw it away. (fix an unintended side effect of nfs_subs.c rev.1.144.)
|
1.144 |
| 26-Jan-2005 |
yamt | handle a really empty directory, which doesn't have even the dot entry.
|
1.143 |
| 25-Jan-2005 |
yamt | branches: 1.143.2; nfs_check_wccdata: comment.
|
1.142 |
| 21-Jan-2005 |
yamt | s/time/mono_time/ for n_attrstamp and n_accstamp. (parts of) PR/25641.
|
1.141 |
| 19-Jan-2005 |
yamt | implement inaccurate mtime/ctime detection. namely, if mtime or ctime are same between pre_op_attr and post_op_attr when we expected them to be changed, don't trust the server.
|
1.140 |
| 09-Jan-2005 |
yamt | branches: 1.140.2; invalidate cache if filesize is changed besides our activity because it means that we're out of sync with the server.
|
1.139 |
| 06-Jan-2005 |
yamt | nfs_loadattrcache: invalidate access cache when ctime is changed.
|
1.138 |
| 26-Oct-2004 |
yamt | since daddr_t is 64-bit these days, simply use nfs directory cookies as buffer cache indexes. regress/sys/fs/getdents is now supposed to work. fix PR/27112.
|
1.137 |
| 03-Oct-2004 |
yamt | nfs_enterdircache: initialize dc_flags of a newly allocated dircache entry. provided by Greg Oster.
|
1.136 |
| 17-Sep-2004 |
skrll | There's no need to pass a proc value when using UIO_SYSSPACE with vn_rdwr(9) and uiomove(9).
OK'd by Jason Thorpe
|
1.135 |
| 15-Sep-2004 |
yamt | fix access-after-free bugs in dircache code by refcounting nfsdircache. PR/26864.
|
1.134 |
| 14-Jun-2004 |
yamt | nfs_searchdircache: fix a null dereference in the case that offset!=0 and dircache hasn't been initialized yet.
|
1.133 |
| 21-Apr-2004 |
christos | Replace the statfs() family of system calls with statvfs(). Retain binary compatibility.
|
1.132 |
| 19-Mar-2004 |
yamt | branches: 1.132.2; nfs_getattrcache: deal with timer wraparound.
|
1.131 |
| 12-Mar-2004 |
yamt | shrink sizeof struct nfsnode by putting exclusive members into union.
|
1.130 |
| 29-Nov-2003 |
yamt | nfs_zeropad: remove an unneeded substitution (and clean up a little.)
|
1.129 |
| 02-Oct-2003 |
itojun | plug mbuf leak due to manual mbuf handling. PR kern/13807. (martti confirmed that it stabilizes the situation described in kren/13807)
|
1.128 |
| 26-Sep-2003 |
yamt | change n_mtime from time_t to timespec in order to improve cache consistency. (1 second granularity is too loose these days.)
|
1.127 |
| 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
|
1.126 |
| 23-Jul-2003 |
yamt | when rexmitting a request due to NFSERR_JUKEBOX, use a new xid as RFC1813 says.
|
1.125 |
| 29-Jun-2003 |
fvdl | branches: 1.125.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
1.124 |
| 29-Jun-2003 |
thorpej | Undo part of the ktrace/lwp changes. In particular: * Remove the "lwp *" argument that was added to vget(). Turns out that nothing actually used it! * Remove the "lwp *" arguments that were added to VFS_ROOT(), VFS_VGET(), and VFS_FHTOVP(); all they did was pass it to vget() (which, as noted above, didn't use it). * Remove all of the "lwp *" arguments to internal functions that were added just to appease the above.
|
1.123 |
| 28-Jun-2003 |
darrenr | Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
1.122 |
| 09-Jun-2003 |
yamt | rework zero padding of rpc reply. - for READ procedure, don't send back more bytes than requested. - don't have doubtful assumptions on mbuf chain structure. - rename a function (nfsm_adj -> nfs_zeropad) to avoid confusion as the semantics of the function was changed.
|
1.121 |
| 22-May-2003 |
yamt | poolify nfsrv_descript.
|
1.120 |
| 22-May-2003 |
yamt | avoid double free with xlatecookie.
|
1.119 |
| 07-May-2003 |
yamt | simple lock for nfs iod.
|
1.118 |
| 03-May-2003 |
yamt | tweak nfsm_adj to pay attention to read only mbufs.
|
1.117 |
| 03-May-2003 |
yamt | more comment.
|
1.116 |
| 03-May-2003 |
yamt | better handling of write verifier change.
|
1.115 |
| 24-Apr-2003 |
drochner | Change some subordinate functions to take a "struct nfsnode" argument instead of "struct vnode". This saves a number of pointer dereferences; it sums up to about half a kB for me. And it paves the way for future fixes. While cleaning up, eliminate a write-only member of "struct nfsreq" and a pointless assignment in the NFS_V2_ONLY case.
|
1.114 |
| 16-Apr-2003 |
yamt | sync a comment with reality.
|
1.113 |
| 02-Apr-2003 |
yamt | use queue manipulation macros.
|
1.112 |
| 01-Apr-2003 |
yamt | add an assertion.
|
1.111 |
| 31-Mar-2003 |
yamt | rename fvdl_debug to NFS_DEBUG_COMMIT.
ok'ed by fvdl.
|
1.110 |
| 28-Mar-2003 |
yamt | reply ENAMETOOLONG properly instead of discarding request as BADRPC. my own PR20791.
|
1.109 |
| 26-Feb-2003 |
matt | Add MBUFTRACE kernel option. Do a little mbuf rework while here. Change all uses of MGET*(*, M_WAIT, *) to m_get*(M_WAIT, *). These are not performance critical and making them call m_get saves considerable space. Add m_clget analogue of MCLGET and make corresponding change for M_WAIT uses. Modify netinet, gem, fxp, tulip, nfs to support MBUFTRACE. Begin to change netstat to use sysctl.
|
1.108 |
| 10-Feb-2003 |
christos | move the MALLOC decl for DIROFFS to nfs_subs.c
|
1.107 |
| 01-Dec-2002 |
matt | Make sure these all agree on the same definitons of various variables.
|
1.106 |
| 23-Oct-2002 |
jdolecek | merge kqueue branch into -current
kqueue provides a stateful and efficient event notification framework currently supported events include socket, file, directory, fifo, pipe, tty and device changes, and monitoring of processes and signals
kqueue is supported by all writable filesystems in NetBSD tree (with exception of Coda) and all device drivers supporting poll(2)
based on work done by Jonathan Lemon for FreeBSD initial NetBSD port done by Luke Mewburn and Jason Thorpe
|
1.105 |
| 21-Oct-2002 |
yamt | fix a page locking deadlock problem for nfs.
add a flag that specify if the file can be truncated safely or not to nfsm_loadattr and friends. when it isn't safe, just mark the nfsnode as "should be truncated later".
ok'ed by Frank van der Linden and Chuck Silvers. close kern/18036.
|
1.104 |
| 23-Aug-2002 |
enami | s/FREE/PNBUF_PUT/
|
1.103 |
| 17-Mar-2002 |
christos | branches: 1.103.4; 1.103.6; use the exithook mechanism to remove the exiting process from the list of processes to be signalled in a soft mount.
|
1.102 |
| 11-Mar-2002 |
jdolecek | Cosmetic change for nfs_enterdircache() - since 'blkno' is last arg, define it's type last, too. Noted in kern/14742 by John Franklin.
|
1.101 |
| 28-Feb-2002 |
fvdl | Invalidate the access cache when loading a new set of attributes into the atribute cache. Fixes access cache problem seen by Nathan Funk of the UofS, relayed by Greg Oster.
|
1.100 |
| 26-Jan-2002 |
chs | re-enable NFSv3 commit RPCs by abandoning my new approach in favor of frank's scheme, with one new twist: don't wait until we've totally run out of free pages before committing, but instead notice when we've built up a largish range of uncommitted pages and commit only the older half of the range, which is likely to already be on disk on the server.
|
1.99 |
| 10-Nov-2001 |
lukem | add RCSIDs
|
1.98 |
| 27-Sep-2001 |
fvdl | branches: 1.98.2; Always initialize ni_rootdir in nfs_namei. From Andrei Petrov.
|
1.97 |
| 15-Sep-2001 |
chs | a whole bunch of changes to improve performance and robustness under load:
- remove special treatment of pager_map mappings in pmaps. this is required now, since I've removed the globals that expose the address range. pager_map now uses pmap_kenter_pa() instead of pmap_enter(), so there's no longer any need to special-case it. - eliminate struct uvm_vnode by moving its fields into struct vnode. - rewrite the pageout path. the pager is now responsible for handling the high-level requests instead of only getting control after a bunch of work has already been done on its behalf. this will allow us to UBCify LFS, which needs tighter control over its pages than other filesystems do. writing a page to disk no longer requires making it read-only, which allows us to write wired pages without causing all kinds of havoc. - use a new PG_PAGEOUT flag to indicate that a page should be freed on behalf of the pagedaemon when it's unlocked. this flag is very similar to PG_RELEASED, but unlike PG_RELEASED, PG_PAGEOUT can be cleared if the pageout fails due to eg. an indirect-block buffer being locked. this allows us to remove the "version" field from struct vm_page, and together with shrinking "loan_count" from 32 bits to 16, struct vm_page is now 4 bytes smaller. - no longer use PG_RELEASED for swap-backed pages. if the page is busy because it's being paged out, we can't release the swap slot to be reallocated until that write is complete, but unlike with vnodes we don't keep a count of in-progress writes so there's no good way to know when the write is done. instead, when we need to free a busy swap-backed page, just sleep until we can get it busy ourselves. - implement a fast-path for extending writes which allows us to avoid zeroing new pages. this substantially reduces cpu usage. - encapsulate the data used by the genfs code in a struct genfs_node, which must be the first element of the filesystem-specific vnode data for filesystems which use genfs_{get,put}pages(). - eliminate many of the UVM pagerops, since they aren't needed anymore now that the pager "put" operation is a higher-level operation. - enhance the genfs code to allow NFS to use the genfs_{get,put}pages instead of a modified copy. - clean up struct vnode by removing all the fields that used to be used by the vfs_cluster.c code (which we don't use anymore with UBC). - remove kmem_object and mb_object since they were useless. instead of allocating pages to these objects, we now just allocate pages with no object. such pages are mapped in the kernel until they are freed, so we can use the mapping to find the page to free it. this allows us to remove splvm() protection in several places.
The sum of all these changes improves write throughput on my decstation 5000/200 to within 1% of the rate of NetBSD 1.5 and reduces the elapsed time for "make release" of a NetBSD 1.5 source tree on my 128MB pc to 10% less than a 1.5 kernel took.
|
1.96 |
| 15-Sep-2001 |
chs | add a new VFS op, vfs_reinit, which is called when desiredvnodes is adjusted via sysctl. file systems that have hash tables which are sized based on the value of this variable now resize those hash tables using the new value. the max number of FFS softdeps is also recalculated.
convert various file systems to use the <sys/queue.h> macros for their hash tables.
|
1.95 |
| 07-Jun-2001 |
lukem | branches: 1.95.2; 1.95.4; delint lvalue cast abuse
|
1.94 |
| 21-Apr-2001 |
bjh21 | In nfs_loadattrcache(), if checkalias() gives us a new vnode, lock it. This prevents us losing the locked state of the old vnode.
fvdl thinks the old vnode is certain to be locked at this point. I've put in a KASSERT to be on the safe side.
This seems to fix PR kern/12661.
|
1.93 |
| 23-Mar-2001 |
fvdl | Same change as in the UFS code: unlock vnode before setting v_op to spec_vnode_ops. From Bill Studenmund.
|
1.92 |
| 21-Feb-2001 |
jdolecek | branches: 1.92.2; make some more constant arrays 'const'
|
1.91 |
| 14-Feb-2001 |
fvdl | Fix some possible locking errors in nfs_namei (XXX this function should die)
|
1.90 |
| 18-Jan-2001 |
jdolecek | constify
|
1.89 |
| 27-Nov-2000 |
chs | Initial integration of the Unified Buffer Cache project.
|
1.88 |
| 08-Nov-2000 |
ad | Update for hashinit() change.
|
1.87 |
| 24-Oct-2000 |
fvdl | Do not accept vnode type changes to an active node. This may wreak havoc if the server erroneously uses the same filehandle for different files. This changes back revision 1.28; the PR that that revision fixed doesn't apply anymore, it has been verified not to be a problem with this change.
|
1.86 |
| 27-Sep-2000 |
fvdl | Avoid unused variables for V2_ONLY case.
|
1.85 |
| 24-Sep-2000 |
enami | Don't bother to clear commit information for the vnode of type VNON. It is not necessary since it is a vnode being initialized and it shouldn't be done since filesystem private data may not be assigned yet.
|
1.84 |
| 19-Sep-2000 |
bjh21 | Extend NFS_V2_ONLY to remove NQNFS lease support as well. Saves another 10k.
|
1.83 |
| 19-Sep-2000 |
fvdl | Add functions to deal with keeping track of commit ranges.
|
1.82 |
| 19-Sep-2000 |
bjh21 | New kernel option, NFS_V2_ONLY, which aims to reduce the NFS client to just that required to support NFSv2 mounts. Not finished yet, but already provides some 44k of saving in code size on arm26. More savings, and some documentation, are still to come.
|
1.81 |
| 03-Aug-2000 |
thorpej | Convert namei pathname buffer allocation to use the pool allocator.
|
1.80 |
| 03-Aug-2000 |
thorpej | MALLOC()/FREE() are not to be used for variable size allocations.
|
1.79 |
| 28-Jun-2000 |
mrg | remove include of <vm/vm.h>
|
1.78 |
| 27-Jun-2000 |
mrg | remove include of <vm/vm.h>
|
1.77 |
| 20-Jun-2000 |
mrg | branches: 1.77.2; disable the bloated NFS structure check on 64bit sparc64.
|
1.76 |
| 09-Jun-2000 |
fvdl | Some tweaks to enable NFS over IPv6. The special-casing of AF_INET should really be removed.
|
1.75 |
| 30-Mar-2000 |
augustss | branches: 1.75.2; Remove register declarations.
|
1.74 |
| 30-Mar-2000 |
simonb | Delete redundant decl of nfs_pub - it's in <sys/mount.h>. Delete redundant decls of nfsv{2,3}_type - they're in <nfs/nfsproto.h>.
|
1.73 |
| 16-Mar-2000 |
jdolecek | Add new VFS op routine - vfs_done and call it on filesystem detach in vfs_detach(). vfs_done may free global filesystem's resources, typically those allocated in respective filesystem's init function. Needed so those filesystems which went in via LKM have a chance to clean after themselves before unloading. This fixes random panics when LKM for filesystem using pools was loaded and unloaded several times.
For each leaf filesystem, add appropriate vfs_done routine.
|
1.72 |
| 01-Nov-1999 |
fvdl | Stuff values in va_blocksize that are closer to reality.
|
1.71 |
| 06-Sep-1999 |
is | branches: 1.71.2; 1.71.4; 1.71.6; Don't truncate minor numbers >= 256. Problem reported by Saitoh Masanobu, fix by Frank van der Linden.
|
1.70 |
| 08-Jul-1999 |
wrstuden | Modify file systems to deal with struct lock in struct vnode. All leaf fs's other than nfs use genfs_lock() for locking.
Modify lookup routines to set PDIRUNLOCK when they unlock the parrent.
|
1.69 |
| 24-Mar-1999 |
mrg | branches: 1.69.2; 1.69.4; completely remove Mach VM support. all that is left is the all the header files as UVM still uses (most of) these.
|
1.68 |
| 16-Mar-1999 |
fvdl | ..JUKEBOX can happen on writes too.
|
1.67 |
| 16-Mar-1999 |
fvdl | The JUKEBOX error may be returned by the read operation, so don't filter it out.
|
1.66 |
| 06-Mar-1999 |
fair | Snatch a patch from OpenBSD to fix PRs 6529 and 7074. Adjust fxdr_hyper() and txdr_hyper() macros.
|
1.65 |
| 27-Feb-1999 |
wrstuden | Rationalize the vfs_checkexp macro to be VFS_CHECKEXP.
|
1.64 |
| 26-Feb-1999 |
wrstuden | Modify vfsops to seperate vfs_fhtovp() into two routines. vfs_fhtovp() now only handles the file handle to vnode conversion, and a new call, vfs_checkexp(), performs the export verification.
|
1.63 |
| 09-Aug-1998 |
perry | bzero->memset, bcopy->memcpy, bcmp->memcmp
|
1.62 |
| 05-Jul-1998 |
jonathan | defopt ISO TPIP.
|
1.61 |
| 25-Jun-1998 |
thorpej | defopt NFSSERVER
|
1.60 |
| 24-Jun-1998 |
sommerfe | Always include fifos; "not an option any more".
|
1.59 |
| 22-Jun-1998 |
sommerfe | defopt for options FIFO
|
1.58 |
| 08-May-1998 |
kleink | Fix some arithmetics lossage on typeless pointers.
|
1.57 |
| 03-Mar-1998 |
fvdl | Only free cookies on error when they were actually allocated by the readdir vop.
|
1.56 |
| 01-Mar-1998 |
fvdl | Merge with Lite2 + local changes
|
1.55 |
| 19-Feb-1998 |
thorpej | Include the NFS option header.
|
1.54 |
| 10-Feb-1998 |
mrg | - add defopt's for UVM, UVMHIST and PMAP_NEW. - remove unnecessary UVMHIST_DECL's.
|
1.53 |
| 07-Feb-1998 |
chs | add flags arg to hashinit(), to pass to malloc().
|
1.52 |
| 06-Feb-1998 |
mikel | ELAST incremented, update nfsrv_v2errmap[] initialization
|
1.51 |
| 05-Feb-1998 |
mrg | initial import of the new virtual memory system, UVM, into -current.
UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some minor portions derived from the old Mach code. i provided some help getting swap and paging working, and other bug fixes/ideas. chuck silvers <chuq@chuq.com> also provided some other fixes.
this is the rest of the MI portion changes.
this will be KNF'd shortly. :-)
|
1.50 |
| 22-Jan-1998 |
fvdl | Refuse to create entries in the dir cache for offset 0. This is a special case anyway, and amd(8) erroneously returns some entries with cookie 0. Fixes PR 4844
|
1.49 |
| 19-Oct-1997 |
fvdl | branches: 1.49.2; * Implement optional 32 <-> 64 bit directory cookie translation. This uses the directory cache as translation table. See nfs_subs.c for comments. Makes the code a bit more complex to look at than I would have liked, but doesn't affect the speed of the default behavior. * Optimize caching behavior a bit when buffers are invalidated. * Save some RPCs in readdir operations by not bothering if there is a small amount left to do to fill the buffer. It'll be done in the next RPC with a larger chunk anyway. Wastes a bit of buffer space but is faster. * Make n_vattr an allocated vattr struct. This avoids nfsnode bloat, and is friendlier to the malloc routines.
|
1.48 |
| 11-Oct-1997 |
fvdl | Move cookie heuristic function inside ifdef NFS, to make a kernel with server code but without client code link again. From Erik Bertelsen, PR 4259
|
1.47 |
| 10-Oct-1997 |
fvdl | Fix unitialized var warning (did not appear on i386, but did on sparc).
|
1.46 |
| 10-Oct-1997 |
fvdl | * New directory entry caching system. Provides full caching of any directory cookie that may be thrown back at us from userspace, up to a size limit. Fixes double entry problem. * Split flags for internal and external use in the NFS mount structure. * Fix some buffer structure fields that weren're being used correctly. * Fix missing directory cache inval call in nfs_open. * Limit on NFS_DIRBLKSIZ no longer needed, bumped to the more reasonable value of 8k. * Various other things that I forget, all related to the dir caching somehow, though.
|
1.45 |
| 14-Jul-1997 |
fvdl | branches: 1.45.2; Don't assume that pointers into mbuf data remain valid across nfsm_dissect. In readdirplus, don't keep such pointers but store the file attributes in a variable instead until they are needed. Change nfsm_loadattr* a bit so it can accept a direct pointer to an nfs_fattr structure.
|
1.44 |
| 04-Jul-1997 |
drochner | Don't cast 64bit (off_t) file sizes to vm_offset_t (32bit on many architectures), truncate them intelligently instead. The truncation is done centralized in vnode_pager.c. This prevents from wrap-over effects when parts of large (>2^32 byte) files are mmapped. Don't allow to mmap above the numerical range of vm_offset_t. This is considered a temporary solution until the vm system handles the object sizes/offsets more cleanly.
|
1.43 |
| 24-Jun-1997 |
fvdl | Extend lookup handling for WebNFS. This means that nfs_namei deals with full pathname lookups if a public filehandle is used, and that it translates the '%' escapes (URL-style) in the same case. Also, make nfsrv_fhtovp convert the public filehandle to the vp of the publicly exported filesystem, as stored in the nfs_pub structure.
|
1.42 |
| 08-May-1997 |
mycroft | Pass the vnode type to vaccess(), and use it when checking VEXEC. Make sure that the mode bits passed to vaccess() and returned by foo_getattr() contain only permission bits.
|
1.41 |
| 27-Mar-1997 |
thorpej | Update for new mbuf code.
|
1.40 |
| 23-Mar-1997 |
fvdl | Check for the use of reserved ports on a per-request basis, unless MNT_EXNORESPORT is specified. The check is cheap and doesn't impose any extra overhead.
|
1.39 |
| 22-Feb-1997 |
fvdl | Fixes from BSDI (thanks go to Keith Bostic). Original RCS messages:
date: 1997/02/10 18:41:14; author: cp; state: Exp; lines: +110 -46 Make nfs_realign go away on sparc and add functionality to nfsm_disct.
|
1.38 |
| 31-Jan-1997 |
thorpej | branches: 1.38.2; NFSCLIENT -> NFS.
|
1.37 |
| 09-Dec-1996 |
fvdl | branches: 1.37.2; Comment change in previous made for some bad english..
|
1.36 |
| 09-Dec-1996 |
fvdl | Move '#ifdef NFSSERVER' back to the right spot; NQNFS datastructures need to be initialized on both the client and the server side. Remove misleading comment about this being just server stuff.
|
1.35 |
| 03-Dec-1996 |
thorpej | Make NFSSERVER work without NFSCLIENT. This is achieved by splitting the client and server/shared data initialization into separate functions, and calling the server/shared initialization directly from main(). Problem noted in PR #1308 (Kenneth Stailey) and PR #1780 (Chris Demetriou). Fix suggested in PR #1780 by Chris Demetriou, and munged a bit by me, and OK'd by Frank van der Linden <fvdl@netbsd.org>.
|
1.34 |
| 02-Dec-1996 |
thorpej | NFS performance improvement from Doug Rabson/FreeBSD:
Improve the queuing algorithms used by NFS' asynchronous i/o. The existing mechanism uses a global queue for some buffers and the vp->b_dirtyblkhd queue for others. This turns sequential writes into randomly ordered writes to the server, affecting both read and write performance. The existing mechanism also copes badly with hung servers, tending to block accesses to other servers when all the iods are waiting for a hung server.
The new mechanism uses a queue for each mount point. All asynchronous i/o goes through this queue which preserves the ordering of requests. A simple mechanism ensures that the iods are shared out fairly between active mount points.
Reviewed/integrated/approved by Frank van der Linden <fvdl@netbsd.org>
|
1.33 |
| 25-Oct-1996 |
cgd | make the namei struct members ni_dirp and ni_next, and the componentname struct member cn_nameptr 'const', since they should never be used to modify the path name. (Only the pathname buffer, cn_pnbuf, should be modified.) Propagate the const poisoning to code that uses the namei and componentname structs.
|
1.32 |
| 13-Oct-1996 |
christos | revert kprintf changes
|
1.31 |
| 10-Oct-1996 |
christos | printf -> kprintf, sprintf -> ksprintf
|
1.30 |
| 07-Jul-1996 |
fvdl | Start XIDs at a value based on the current time, not 0. This avoids nasty XID confusions with servers that cache them over a long period and with clients that reboot quickly.
Problems: because of the sanity check that is done by comparing the system time with filesystem time, XIDs will start at 0 until root is mounted, which means it isn't completely safe for diskless setups. But it's clearly better than it was. It would also be cleaner if all XID handling (more generally, all RPC handling) within the kernel went through the same functions.
|
1.29 |
| 01-Jul-1996 |
fvdl | We're only handling uio with iovcnt == 1, so don't ever attempt to increment uio_iov, this will get us into nasty trouble. (Thanks to Matthias Drochner for tracking this down).
|
1.28 |
| 23-May-1996 |
fvdl | * Make mounts with symlinks work (needed for direct mounts with amd). PR #1917 * Never change the NQNFS flag and/or version when just doing an update mount. Fixes a problem that made diskless booting impossible under some circumstances.
|
1.27 |
| 03-Apr-1996 |
thorpej | branches: 1.27.4; Make these link in the absense of "options FIFO".
|
1.26 |
| 13-Mar-1996 |
fvdl | Disable invalidating of directory offsets cookies. Should fix one or two directory problems.
XXX There is no clean solution to the cookie/cookieverifier validity mess. Together with the disabled strict cookie check, this puts us back at what v2 did in this case. Slightly better solution possible by consequently storing 64bit cookies in other places too.
|
1.25 |
| 18-Feb-1996 |
fvdl | Bring in a merge of Rick Macklem's NFSv3 code from Lite2
|
1.24 |
| 09-Feb-1996 |
christos | nfs prototype changes
|
1.23 |
| 01-Feb-1996 |
jtc | Rename struct timespec fields to conform to POSIX.1b
|
1.22 |
| 19-Dec-1995 |
cgd | changes to make this work on systems where pointers & longs are 64 bits. This is mostly just changes to make the stuff that goes over the wire use fixed-size types.
|
1.21 |
| 08-Sep-1995 |
ws | No point in computing cn_hash here, as it gets immediately recomputed in lookup
|
1.20 |
| 02-Jun-1995 |
mycroft | Exported group list now starts at offset 0, not 1.
|
1.19 |
| 01-Jun-1995 |
jtc | Moved egid credential from cr_groups[0] to new field cr_gid. POSIX.1 requires that sgid executables and the setuid() syscall *not* change the supplemental group list.
|
1.18 |
| 18-Aug-1994 |
mycroft | More LIST/CIRCLEQ migration.
|
1.17 |
| 17-Aug-1994 |
mycroft | Convert some more lists and queues.
|
1.16 |
| 17-Aug-1994 |
mycroft | Change the reply list to a TAILQ.
|
1.15 |
| 22-Jul-1994 |
mycroft | Set the group list length when copying credentials.
|
1.14 |
| 29-Jun-1994 |
cgd | branches: 1.14.2; New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
|
1.13 |
| 13-Jun-1994 |
mycroft | Move a misplaced #endif.
|
1.12 |
| 08-Jun-1994 |
mycroft | Update to 4.4-Lite fs code, with local changes.
|
1.11 |
| 09-Mar-1994 |
ws | Make FFS optional
|
1.10 |
| 06-Feb-1994 |
mycroft | Eliminate some more uses of b_actl.
|
1.9 |
| 18-Dec-1993 |
mycroft | Canonicalize all #includes.
|
1.8 |
| 07-Sep-1993 |
ws | branches: 1.8.2; Changes to VFS readdir semantics NFS changes for better cookie support ISOFS changes for better Rockridge support and support for generation numbers
|
1.7 |
| 02-Aug-1993 |
mycroft | Make bpos arg to nfsm_reqh a caddr_t*, not a caddr_t**, as that's what it is actually passed.
|
1.6 |
| 13-Jul-1993 |
cgd | bpos is really a caddr_t **. doesn't really make a diff to the code generated...
|
1.5 |
| 13-Jul-1993 |
cgd | diskless changes made last time were hosed; were using NULL for "no credentials" rather than NOCRED.
|
1.4 |
| 07-Jul-1993 |
cgd | changes from ws to support diskless booting... these are "OK" on inspection and after testing... (actually, currently, none of the changed code is even used...)
|
1.3 |
| 21-May-1993 |
cgd | add rcsid again; fix RCS+crash fuckup
|
1.2 |
| 10-Apr-1993 |
glass | migrated code to make split possible
|
1.1 |
| 21-Mar-1993 |
cgd | branches: 1.1.1; Initial revision
|
1.1.1.3 |
| 01-Mar-1998 |
fvdl | Import 4.4BSD-Lite2
|
1.1.1.2 |
| 01-Mar-1998 |
fvdl | Import 4.4BSD-Lite for reference
|
1.1.1.1 |
| 21-Mar-1993 |
cgd | initial import of 386bsd-0.1 sources
|
1.8.2.2 |
| 14-Nov-1993 |
mycroft | Canonicalize all #includes.
|
1.8.2.1 |
| 24-Sep-1993 |
mycroft | Make all files using spl*() #include cpu.h. Changes from trunk. nfs_vfsops.c, nfsmount.h: Make nfs_quotactl() take an int rather than a uid_t, as it might be -1. nfs_vnops.c: va_size and va_bytes are now quads.
|
1.14.2.2 |
| 19-Aug-1994 |
mycroft | update from trunk
|
1.14.2.1 |
| 24-Jul-1994 |
cgd | from trunk.
|
1.27.4.3 |
| 08-Jul-1996 |
jtc | Pulled up from rev 1.30 by request from Frank van der Linden
|
1.27.4.2 |
| 02-Jul-1996 |
jtc | Pulled up from rev 1.29 by request from fvdl
|
1.27.4.1 |
| 25-May-1996 |
fvdl | Pull in bugfixes from main branch.
|
1.37.2.1 |
| 14-Jan-1997 |
thorpej | Snapshot of work-in-progress, committed to private branch.
These changes implement machine-independent root device and file system selection. Notable features:
- All ports behave in a consistent manner regarding root device selection. - No more "options GENERIC"; all kernels have the ability to boot with RB_ASKNAME to select root device and file system type. - Root file system type can be wildcarded; a machine-independent function will try all possible file systems for the selected root device until one succeeds. - If the root file system fails to mount, the operator will be given the chance to select a new root device and file system type, rather than having the machine simply panic. - nfs_mountroot() no longer panics if any part of the NFS mount process fails; it now returns an error, giving the operator a chance to recover. - New, more consistent, config(8) grammar. The constructs:
config netbsd swap generic config netbsd root on nfs
have been replaced with:
config netbsd root on ? type ? config netbsd root on ? type nfs
Additionally, the operator may select or wildcard root file system type in the kernel configuration file:
config netbsd root on cd0a type cd9660
config(8) now requires that a "root" specification be made. "root" may be wired down or wildcarded. "swap" and "dump" specifications are optional, and follow previous semantics.
- config(8) has a new "file-system" keyword, used to configure file systems into the kernel. Eventually, this will be used to generate the default vfssw[].
- "options NFSCLIENT" is obsolete, and is replaced by "file-system NFS". "options NFSSERVER" still exists, since NFS server support is independent of the NFS file system client.
- sys/arch/<foo>/<foo>/swapgeneric.c is no longer used, and will be removed; all information is now generated by config(8).
As of this commit, all ports except arm32 have been updated to use the new setroot(). Only SPARC, i386, and Alpha ports have been tested at this time. Port masters should test these changes on their ports, and report any problems back to me.
More changes are on their way, including RB_ASKNAME support in nfs_mountroot() (to prompt for server address and path) and, potentially, the ability to select rarp/bootparam or bootp in nfs_mountroot().
|
1.38.2.1 |
| 12-Mar-1997 |
is | Merge in changes from Trunk
|
1.45.2.1 |
| 14-Oct-1997 |
thorpej | Update marc-pcmcia branch from trunk.
|
1.49.2.1 |
| 29-Jan-1998 |
mellon | Pull up 1.50 (fvdl)
|
1.69.4.1 |
| 02-Aug-1999 |
thorpej | Update from trunk.
|
1.69.2.1 |
| 10-Sep-1999 |
he | Pull up revision 1.71: Don't truncate minor numbers > 255 on a NFS client. (is)
|
1.71.6.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.71.4.1 |
| 15-Nov-1999 |
fvdl | Sync with -current
|
1.71.2.7 |
| 23-Apr-2001 |
bouyer | Sync with HEAD.
|
1.71.2.6 |
| 27-Mar-2001 |
bouyer | Sync with HEAD.
|
1.71.2.5 |
| 12-Mar-2001 |
bouyer | Sync with HEAD.
|
1.71.2.4 |
| 11-Feb-2001 |
bouyer | Sync with HEAD.
|
1.71.2.3 |
| 08-Dec-2000 |
bouyer | Sync with HEAD.
|
1.71.2.2 |
| 22-Nov-2000 |
bouyer | Sync with HEAD.
|
1.71.2.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago
|
1.75.2.1 |
| 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.77.2.5 |
| 15-Nov-2001 |
he | Pull up revision 1.98 (requested by fvdl): Always initialize ni_rootdir in nfs_namei(). This fixes a problem where use of ``..'' would instead use the information for ``.'', when using NetBSD/alpha NFS servers, and fixes PR#11618 ands PR#12953.
|
1.77.2.4 |
| 06-Apr-2001 |
he | Pull up revision 1.93 (requested by wrstuden): Explicitly VOP_UNLOCK before setting v_op to spec_vnode_ops_p. Works around a lock leak and eventual kernel panic.
|
1.77.2.3 |
| 14-Dec-2000 |
he | Pull up revisions 1.85,1.87 (requested by fvdl): Improve NFS performance, possibly with as much as 100% in throughput. Please note: this implies a kernel interface change, VOP_FSYNC gains two arguments.
|
1.77.2.2 |
| 30-Oct-2000 |
tv | Pullup 1.87 [fvdl]: Do not accept vnode type changes to an active node. This may wreak havoc if the server erroneously uses the same filehandle for different files. This changes back revision 1.28; the PR that that revision fixed doesn't apply anymore, it has been verified not to be a problem with this change.
|
1.77.2.1 |
| 20-Jun-2000 |
tv | file nfs_subs.c was added on branch netbsd-1-5 on 2000-10-30 22:22:58 +0000
|
1.92.2.11 |
| 11-Dec-2002 |
thorpej | Sync with HEAD.
|
1.92.2.10 |
| 11-Nov-2002 |
nathanw | Catch up to -current
|
1.92.2.9 |
| 22-Oct-2002 |
thorpej | Sync with HEAD.
|
1.92.2.8 |
| 27-Aug-2002 |
nathanw | Catch up to -current.
|
1.92.2.7 |
| 01-Apr-2002 |
nathanw | Catch up to -current. (CVS: It's not just a program. It's an adventure!)
|
1.92.2.6 |
| 28-Feb-2002 |
nathanw | Catch up to -current.
|
1.92.2.5 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.92.2.4 |
| 08-Oct-2001 |
nathanw | Catch up to -current.
|
1.92.2.3 |
| 21-Sep-2001 |
nathanw | Catch up to -current.
|
1.92.2.2 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.92.2.1 |
| 09-Apr-2001 |
nathanw | Catch up with -current.
|
1.95.4.1 |
| 01-Oct-2001 |
fvdl | Catch up with -current.
|
1.95.2.6 |
| 30-Sep-2002 |
jdolecek | add support for kevents to NFS to detect file changes on server by other NFS clients, polling kernel thread is used to periodically check for attribute changes of watched files; the NFS server is only contacted when the vnode expires from local attrcache (which takes 5-60 seconds currently), to keep network&CPU overhead low
the routine checking for remote changes is quite simplistic, but hopefully doing it's job well enough
|
1.95.2.5 |
| 06-Sep-2002 |
jdolecek | sync kqueue branch with HEAD
|
1.95.2.4 |
| 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.95.2.3 |
| 16-Mar-2002 |
jdolecek | Catch up with -current.
|
1.95.2.2 |
| 11-Feb-2002 |
jdolecek | Sync w/ -current.
|
1.95.2.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.98.2.1 |
| 12-Nov-2001 |
thorpej | Sync the thorpej-mips-cache branch with -current.
|
1.103.6.1 |
| 04-Oct-2003 |
tron | Pull up revision 1.129 (requested by martti in ticket #1506): plug mbuf leak due to manual mbuf handling. PR kern/13807. (martti confirmed that it stabilizes the situation described in kren/13807)
|
1.103.4.1 |
| 29-Aug-2002 |
gehenna | catch up with -current.
|
1.125.2.13 |
| 11-Dec-2005 |
christos | Sync with head.
|
1.125.2.12 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.125.2.11 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.125.2.10 |
| 04-Feb-2005 |
skrll | Sync with HEAD.
|
1.125.2.9 |
| 24-Jan-2005 |
skrll | Sync with HEAD.
|
1.125.2.8 |
| 17-Jan-2005 |
skrll | Sync with HEAD.
|
1.125.2.7 |
| 02-Nov-2004 |
skrll | Sync with HEAD.
|
1.125.2.6 |
| 19-Oct-2004 |
skrll | Sync with HEAD
|
1.125.2.5 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.125.2.4 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.125.2.3 |
| 24-Aug-2004 |
skrll | Undo part of the ktrace/lwp changes. In particular: * Remove the "lwp *" argument that was added to vget(). Turns out that nothing actually used it! * Remove the "lwp *" arguments that were added to VFS_ROOT(), VFS_VGET(), and VFS_FHTOVP(); all they did was pass it to vget() (which, as noted above, didn't use it). * Remove all of the "lwp *" arguments to internal functions that were added just to appease the above.
|
1.125.2.2 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.125.2.1 |
| 02-Jul-2003 |
darrenr | Apply the aborted ktrace-lwp changes to a specific branch. This is just for others to review, I'm concerned that patch fuziness may have resulted in some errant code being generated but I'll look at that later by comparing the diff from the base to the branch with the file I attempt to apply to it. This will, at the very least, put the changes in a better context for others to review them and attempt to tinker with removing passing of 'struct lwp' through the kernel.
|
1.132.2.5 |
| 16-Mar-2005 |
tron | Pull up revision 1.146 (requested by yamt in ticket #1148): nfs_clearcommit: don't attempt to clear commit info (n_pushlo, etc) unless the vnode is of VREG. union members used to keep commit info are used for other purposes in the case of !VREG.
|
1.132.2.4 |
| 11-Jan-2005 |
jmc | Pullup rev 1.140 (requested by yamt in ticket #1079)
Invalidate cache if filesize is changed besides our activity because it means that were out of sync with the server.
|
1.132.2.3 |
| 04-Oct-2004 |
jmc | branches: 1.132.2.3.2; Pullup rev 1.137 (requested by yamt in ticket #889)
nfs_enterdircache: initialize dc_flags of a newly allocated dircache entry.
|
1.132.2.2 |
| 18-Sep-2004 |
he | Pull up revision 1.135 (requested by yamt in ticket #858): Fix access-after-free bugs in dircache code by reference counting nfsdircache. Fixes PR#26864.
|
1.132.2.1 |
| 21-Jun-2004 |
tron | Pull up revision 1.134 (requested by yamt in ticket #515): nfs_searchdircache: fix a null dereference in the case that offset!=0 and dircache hasn't been initialized yet.
|
1.132.2.3.2.4 |
| 27-Oct-2005 |
riz | Pull up following revision(s) (requested by christos in ticket #5863): sys/nfs/nfs_subs.c: revision 1.152 via patch sys/nfs/nfs.h: revision 1.49 sys/nfs/nfs_vfsops.c: revision 1.149 via patch usr.sbin/amd/include/config.h: revision 1.36 sys/nfs/nfs_vnops.c: revision 1.227 via patch sys/nfs/nfsmount.h: revision 1.34 Allow the attribute cache to be turned off, and allow amd to do it.
|
1.132.2.3.2.3 |
| 16-Mar-2005 |
tron | Pull up revision 1.146 (requested by yamt in ticket #1148): nfs_clearcommit: don't attempt to clear commit info (n_pushlo, etc) unless the vnode is of VREG. union members used to keep commit info are used for other purposes in the case of !VREG.
|
1.132.2.3.2.2 |
| 30-Jan-2005 |
he | Pull up revision 1.138 (requested by yamt in ticket #968): Since daddr_t is 64-bit these days, simply use nfs directory cookies as buffer cache indexes. This should make the regress/sys/fs/getdents test work. Fixes PR#27112.
|
1.132.2.3.2.1 |
| 11-Jan-2005 |
jmc | Pullup rev 1.140 (requested by yamt in ticket #1079)
Invalidate cache if filesize is changed besides our activity because it means that were out of sync with the server.
|
1.140.2.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.143.2.3 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.143.2.2 |
| 12-Feb-2005 |
yamt | sync with head.
|
1.143.2.1 |
| 25-Jan-2005 |
yamt | file nfs_subs.c was added on branch yamt-km on 2005-02-12 18:17:55 +0000
|
1.148.2.1 |
| 27-Sep-2005 |
tron | Pull up following revision(s) (requested by christos in ticket #816): sys/nfs/nfs_subs.c: revision 1.152 ATTRTIMEO takes 2 args.
|
1.149.2.13 |
| 17-Mar-2008 |
yamt | sync with head.
|
1.149.2.12 |
| 27-Feb-2008 |
yamt | revert incomplete nfs client locking for now.
|
1.149.2.11 |
| 27-Feb-2008 |
yamt | sync with head.
|
1.149.2.10 |
| 15-Feb-2008 |
yamt | - sprinkle some locks. - disable MNT_UPDATE because it involves too much locking headache. - don't overwrite other bits in v_vflags when setting VV_ROOT.
|
1.149.2.9 |
| 04-Feb-2008 |
yamt | sync with head.
|
1.149.2.8 |
| 21-Jan-2008 |
yamt | sync with head
|
1.149.2.7 |
| 07-Dec-2007 |
yamt | sync with head
|
1.149.2.6 |
| 15-Nov-2007 |
yamt | sync with head.
|
1.149.2.5 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.149.2.4 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.149.2.3 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.149.2.2 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.149.2.1 |
| 07-Jul-2005 |
yamt | adapt to mbuf.h changes.
|
1.153.6.2 |
| 29-Nov-2005 |
yamt | sync with head.
|
1.153.6.1 |
| 22-Nov-2005 |
yamt | sync with head.
|
1.156.2.2 |
| 01-Feb-2006 |
yamt | sync with head.
|
1.156.2.1 |
| 31-Dec-2005 |
yamt | - adapt nfs. - nfs_doio_read: #if 0 out "killproc if text is modified" part of the code as it's broken. (a process reading the modified text is not necessarily a process which is using the file as a text.)
|
1.157.4.3 |
| 01-Jun-2006 |
kardel | Sync with head.
|
1.157.4.2 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.157.4.1 |
| 04-Feb-2006 |
simonb | Adapt for timecounters: mostly use get*time() and use "time_second" instead of "time.tv_sec".
|
1.157.2.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.158.6.1 |
| 24-May-2006 |
tron | Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
|
1.158.4.9 |
| 06-May-2006 |
christos | - Move kauth_cred_t declaration to <sys/types.h> - Cleanup struct ucred; forward declarations that are unused. - Don't include <sys/kauth.h> in any header, but include it in the c files that need it.
Approved by core.
|
1.158.4.8 |
| 19-Apr-2006 |
elad | sync with head.
|
1.158.4.7 |
| 14-Mar-2006 |
elad | Use kauth_cred_clone() where appropriate.
|
1.158.4.6 |
| 13-Mar-2006 |
elad | kauth_cred_clone() takes care of the groups for us, remove redundant code.
|
1.158.4.5 |
| 12-Mar-2006 |
elad | Fix group cleaning loop, as pointed out by yamt@.
While I'm here, add an XXX near the second loop that watches NGROUPS; this should be internal to kauth(9).
|
1.158.4.4 |
| 11-Mar-2006 |
elad | Replace check for euid == 0 with kauth_authorize_generic().
|
1.158.4.3 |
| 10-Mar-2006 |
elad | Cleanup more interface abuse.
Make nfsrv_setcred() take a kauth_cred_t * as outcred. The original code just modified it directly; we can't do that, nor do we want to.
Get rid of another case of kauth_cred_zero() followed by kauth_cred_hold() and use kauth_cred_clone() to make sure we don't leave out important members.
Add another DIAGNOSTIC check for reference count of above one.
Again, this should be tested.
|
1.158.4.2 |
| 10-Mar-2006 |
elad | Remove some more no longer needed calls to kauth_cred_setngroups() and nfsrvw_sort().
|
1.158.4.1 |
| 08-Mar-2006 |
elad | Adapt to kernel authorization KPI.
This could use some testing...
|
1.158.2.5 |
| 14-Sep-2006 |
yamt | sync with head.
|
1.158.2.4 |
| 03-Sep-2006 |
yamt | sync with head.
|
1.158.2.3 |
| 11-Aug-2006 |
yamt | sync with head
|
1.158.2.2 |
| 26-Jun-2006 |
yamt | sync with head.
|
1.158.2.1 |
| 24-May-2006 |
yamt | sync with head.
|
1.164.2.2 |
| 19-Jun-2006 |
chap | Sync with head.
|
1.164.2.1 |
| 19-May-2006 |
chap | file nfs_subs.c was added on branch chap-midi on 2006-06-19 04:10:37 +0000
|
1.165.2.1 |
| 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.170.4.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.170.4.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.170.2.2 |
| 12-Jan-2007 |
ad | Sync with head.
|
1.170.2.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.177.2.1 |
| 17-Feb-2007 |
tron | Apply patch (requested by chs in ticket #422): - Fix various deadlock problems with nullfs and unionfs. - Speed up path lookups by upto 25%.
|
1.180.2.3 |
| 07-May-2007 |
yamt | sync with head.
|
1.180.2.2 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.180.2.1 |
| 28-Feb-2007 |
yamt | sync with head. (somehow missed in the previous)
|
1.184.4.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.184.2.9 |
| 24-Oct-2007 |
ad | Do locking / use marker vnodes when traversing mountpoint vnode lists.
|
1.184.2.8 |
| 16-Sep-2007 |
ad | Checkpoint work in progress on the vnode lifecycle and reference counting stuff. This makes it work properly without kernel_lock and fixes a few quite old bugs. See vfs_subr.c 1.283.2.17 for details.
|
1.184.2.7 |
| 20-Aug-2007 |
ad | Sync with HEAD.
|
1.184.2.6 |
| 15-Jul-2007 |
ad | Sync with head.
|
1.184.2.5 |
| 15-Jul-2007 |
ad | Sync with head.
|
1.184.2.4 |
| 01-Jul-2007 |
ad | Adapt to callout API change.
|
1.184.2.3 |
| 18-Jun-2007 |
yamt | fix a merge botch.
|
1.184.2.2 |
| 09-Jun-2007 |
ad | Sync with head.
|
1.184.2.1 |
| 13-Mar-2007 |
ad | Pull in the initial set of changes for the vmlocking branch.
|
1.190.2.1 |
| 15-Aug-2007 |
skrll | Sync with HEAD.
|
1.191.12.2 |
| 27-Jul-2007 |
yamt | stop nfs tick when we have nothing to do.
|
1.191.12.1 |
| 27-Jul-2007 |
yamt | file nfs_subs.c was added on branch matt-mips64 on 2007-07-27 10:03:59 +0000
|
1.191.10.1 |
| 13-Nov-2007 |
bouyer | Sync with HEAD
|
1.191.6.3 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.191.6.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.191.6.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.191.4.3 |
| 09-Dec-2007 |
jmcneill | Sync with HEAD.
|
1.191.4.2 |
| 27-Nov-2007 |
joerg | Sync with HEAD. amd64 Xen support needs testing.
|
1.191.4.1 |
| 29-Oct-2007 |
joerg | Sync with HEAD.
|
1.192.2.3 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.192.2.2 |
| 27-Dec-2007 |
mjf | Sync with HEAD.
|
1.192.2.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.193.2.2 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.193.2.1 |
| 04-Dec-2007 |
ad | Pull the vmlocking changes into a new branch.
|
1.194.4.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.199.6.6 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.199.6.5 |
| 05-Oct-2008 |
mjf | Sync with HEAD.
|
1.199.6.4 |
| 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.199.6.3 |
| 05-Jun-2008 |
mjf | Sync with HEAD.
Also fix build.
|
1.199.6.2 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.199.6.1 |
| 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.199.2.1 |
| 24-Mar-2008 |
keiichi | sync with head.
|
1.201.4.7 |
| 10-Oct-2010 |
yamt | some locking changes
|
1.201.4.6 |
| 26-Sep-2010 |
yamt | locking changes
|
1.201.4.5 |
| 11-Mar-2010 |
yamt | sync with head
|
1.201.4.4 |
| 16-May-2009 |
yamt | sync with head
|
1.201.4.3 |
| 04-May-2009 |
yamt | sync with head.
|
1.201.4.2 |
| 16-May-2008 |
yamt | sync with head.
|
1.201.4.1 |
| 27-Apr-2008 |
yamt | commit some work-in-progress changes to make nfs client mp-safe to a branch, so that they won't get lost. - sprinkle some locking - mark the filesystem, nfstimer callout, and kq kthread mp-safe - add assertions and comments - disable upgrade mount for now - some unrelated cosmetic changes
|
1.201.2.2 |
| 17-Jun-2008 |
yamt | sync with head.
|
1.201.2.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.202.2.3 |
| 10-Oct-2008 |
skrll | Sync with HEAD.
|
1.202.2.2 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.202.2.1 |
| 23-Jun-2008 |
wrstuden | Sync w/ -current. 34 merge conflicts to follow.
|
1.204.4.2 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
1.204.4.1 |
| 19-Oct-2008 |
haad | Sync with HEAD.
|
1.204.2.1 |
| 18-Jul-2008 |
simonb | Sync with head.
|
1.209.2.2 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.209.2.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.212.2.2 |
| 23-Jul-2009 |
jym | Sync with HEAD.
|
1.212.2.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.218.2.2 |
| 27-May-2010 |
uebayasi | Include uvm/uvm.h, because this touches uvm internal.
|
1.218.2.1 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.219.2.2 |
| 05-Mar-2011 |
rmind | sync with head
|
1.219.2.1 |
| 16-Mar-2010 |
rmind | Change struct uvm_object::vmobjlock to be dynamically allocated with mutex_obj_alloc(). It allows us to share the locks among UVM objects.
|
1.220.6.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.221.2.6 |
| 22-May-2014 |
yamt | fix a merge botch
|
1.221.2.5 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.221.2.4 |
| 17-Apr-2012 |
yamt | sync with head
|
1.221.2.3 |
| 26-Nov-2011 |
yamt | update after radixtree.h api changes
|
1.221.2.2 |
| 06-Nov-2011 |
yamt | remove pg->listq and uobj->memq
|
1.221.2.1 |
| 02-Nov-2011 |
yamt | page cache related changes
- maintain object pages in radix tree rather than rb tree. - reduce unnecessary page scan in putpages. esp. when an object has a ton of pages cached but only a few of them are dirty. - reduce the number of pmap operations by tracking page dirtiness more precisely in uvm layer. - fix nfs commit range tracking. - fix nfs write clustering. XXX hack
|
1.222.12.1 |
| 18-May-2014 |
rmind | sync with head
|
1.222.8.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.222.8.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.225.2.2 |
| 10-Aug-2014 |
tls | Rebase.
|
1.225.2.1 |
| 17-Jul-2014 |
tls | Adjustments to the "earlyentropy" branch in response to the various discussions beginning with my initial proposal http://mail-index.netbsd.org/tech-kern/2014/04/08/msg016876.html and particularly the long discussion of cprng_fast() performance (e.g. https://mail-index.netbsd.org/tech-crypto/2014/04/21/msg000642.html).
In particular:
* Per-CPU, lockless cprng_fast replacement using Dennis Ferguson's "ccrand" implementation of ChaCha8.
* libkern arc4random() is gone, gone, gone.
* Entropy estimator reverted to 32-bit recordkeeping and timestamps per Dennis' comments and analysis.
* LZF entropy estimator removed: it required a great deal of state, and rejected only truly pathological input.
I have not yet reverted the changes that provide LZF in the kernel as generic functionality; I will likely revert those changes prior to any merge of this branch to HEAD.
|
1.227.4.2 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.227.4.1 |
| 09-Jul-2016 |
skrll | Sync with HEAD
|
1.228.4.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.228.2.1 |
| 26-Apr-2017 |
pgoyette | Sync with HEAD
|
1.229.6.1 |
| 08-Jun-2018 |
martin | Pull up following revision(s) (requested by maya in ticket #856):
sys/nfs/nfs.h: revision 1.76 sys/nfs/nfs_subs.c: revision 1.230 sys/nfs/nfs_socket.c: revision 1.199 sys/nfs/nfs_clntsocket.c: revision 1.6
PR/40491: From Tobias Ulmer in tech-kern@: 1. Protect the nfs request queue with its own mutex 2. make the nfs_receive queue check for signals so that intr mounts can be interrupted.
XXX: pullup-8
|
1.230.2.4 |
| 26-Dec-2018 |
pgoyette | Sync with HEAD, resolve a few conflicts
|
1.230.2.3 |
| 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.230.2.2 |
| 21-May-2018 |
pgoyette | Sync with HEAD
|
1.230.2.1 |
| 02-May-2018 |
pgoyette | Synch with HEAD
|
1.232.2.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.232.2.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.236.2.1 |
| 29-Feb-2020 |
ad | Sync with head.
|