History log of /src/sys/nfs/nfs_node.c |
Revision | | Date | Author | Comments |
1.126 |
| 01-May-2020 |
hannken | Resolve delayed truncation from nfs_inactive() too.
Should prevent "locking against self" from nfs_unlock().
|
1.125 |
| 24-Feb-2020 |
ad | v_interlock -> vmobjlock
|
1.124 |
| 18-Oct-2019 |
msaitoh | branches: 1.124.2; s/initalize/initialize/ in comment or printf message.
|
1.123 |
| 28-May-2018 |
chs | branches: 1.123.2; add a genfs method to allow a file system to limit the range of pages that are given to a single GOP_WRITE() call. needed by ZFS.
|
1.122 |
| 26-May-2017 |
riastradh | branches: 1.122.8; Eliminate crusty debugging sludge.
We have a mostly sane vnode lifecycle now. If this needs debugging, it should be done once at the call site of VOP_RECLAIM.
|
1.121 |
| 26-May-2017 |
riastradh | Make VOP_RECLAIM do the last unlock of the vnode.
VOP_RECLAIM naturally has exclusive access to the vnode, so having it locked on entry is not strictly necessary -- but it means if there are any final operations that must be done on the vnode, such as ffs_update, requiring exclusive access to it, we can now kassert that the vnode is locked in those operations.
We can't just have the caller release the last lock because some file systems don't use genfs_lock, and require the vnode to remain valid for VOP_UNLOCK to work, notably unionfs.
|
1.120 |
| 11-Apr-2017 |
riastradh | Make VOP_INACTIVE preserve vnode lock on return.
Discussed on tech-kern: https://mail-index.netbsd.org/tech-kern/2017/04/01/msg021751.html
Ride 7.99.68, a bumpy bus of incremental vfs improvements!
|
1.119 |
| 20-Aug-2016 |
hannken | branches: 1.119.2; Remove now obsolete operation vcache_remove().
Welcome to 7.99.36
|
1.118 |
| 30-May-2014 |
hannken | branches: 1.118.4; 1.118.8; Change NFS from rbtree to vcache.
|
1.117 |
| 27-Feb-2014 |
hannken | branches: 1.117.2; The current implementation of vn_lock() is racy. Modification of the vnode operations vector for active vnodes is unsafe because it is not known whether deadfs or the original file system will be called.
- Pass down LK_RETRY to the lock operation (hint for deadfs only).
- Change deadfs lock operation to return ENOENT if LK_RETRY is unset.
- Change all other lock operations to check for dead vnode once the vnode is locked and unlock and return ENOENT in this case.
With these changes in place vnode lock operations will never succeed after vclean() has marked the vnode as VI_XLOCK and before vclean() has changed the operations vector.
Adresses PR kern/37706 (Forced unmount of file systems is unsafe)
Discussed on tech-kern.
Welcome to 6.99.33
|
1.116 |
| 12-Jun-2011 |
rmind | branches: 1.116.2; 1.116.12; 1.116.16; 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.115 |
| 19-May-2011 |
rmind | branches: 1.115.2; Remove cache_purge(9) calls from reclamation routines in the file systems, as vclean(9) performs it for us since Lite2 merge.
|
1.114 |
| 24-Sep-2010 |
rmind | branches: 1.114.2; Fixes/improvements to RB-tree implementation: 1. Fix inverted node order, so that negative value from comparison operator would represent lower (left) node, and positive - higher (right) node. 2. Add an argument (i.e. "context"), passed to comparison operators. 3. Change rb_tree_insert_node() to return a node - either inserted one or already existing one. 4. Amend the interface to manipulate the actual object, instead of the rb_node (in a similar way as Patricia-tree interface does). 5. Update all RB-tree users accordingly.
XXX: Perhaps rename rb.h to rbtree.h, since cleaning-up..
1-3 address the PR/43488 by Jeremy Huddleston.
Passes RB-tree regression tests. Reviewed by: matt@, christos@
|
1.113 |
| 21-Jul-2010 |
hannken | Make holding v_interlock mandatory for callers of vget().
Announced some time ago on tech-kern.
|
1.112 |
| 01-Jul-2010 |
hannken | Remove vlockmgr(). Generic vnode lock operations now use a rwlock located in the vnode. All LK_* flags move from sys/lock.h to sys/vnode.h. Calls to vlockmgr() in file systems get replaced with VOP_LOCK() or VOP_UNLOCK().
Welcome to 5.99.34.
Discussed on tech-kern.
|
1.111 |
| 24-Jun-2010 |
hannken | Clean up vnode lock operations pass 2:
VOP_UNLOCK(vp, flags) -> VOP_UNLOCK(vp): Remove the unneeded flags argument.
Welcome to 5.99.32.
Discussed on tech-kern.
|
1.110 |
| 15-Mar-2009 |
cegger | branches: 1.110.2; 1.110.4; ansify function definitions
|
1.109 |
| 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.108 |
| 02-Jan-2009 |
ad | branches: 1.108.2; - Don't vput() a vnode that we do not hold locked. - Eliminate one of the few remaining uses of LK_CANRECURSE.
|
1.107 |
| 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.106 |
| 22-Oct-2008 |
matt | branches: 1.106.2; 1.106.4; Don't need nfs_vfs_reinit anymore since we don't resize tables anymore. Move reinit code to init case.
|
1.105 |
| 22-Oct-2008 |
matt | Change NFS to use a RB-tree for its FH->nfsnode lookups.
|
1.104 |
| 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.103 |
| 24-May-2008 |
tron | branches: 1.103.4; Make sure that we flush the NFS directory cache in case of an NFS mount using the translate cookie option during unmount. This fixes PR kern/38100. Patch suggested by Michael van Elst during Hackathon 11.
|
1.102 |
| 05-May-2008 |
ad | branches: 1.102.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.101 |
| 30-Jan-2008 |
ad | branches: 1.101.6; 1.101.8; 1.101.10; Replace struct lock on vnodes with a simpler lock object built on krwlock_t. This is a step towards removing lockmgr and simplifying vnode locking. Discussed on tech-kern.
|
1.100 |
| 26-Jan-2008 |
ad | - Make nfsnode hash MPSAFE. - Replace use of lockmgr().
|
1.99 |
| 17-Jan-2008 |
ad | Correct test of v_usecount.
|
1.98 |
| 02-Jan-2008 |
yamt | use kmem_alloc instead of malloc.
|
1.97 |
| 02-Jan-2008 |
ad | Merge vmlocking2 to head.
|
1.96 |
| 26-Nov-2007 |
pooka | branches: 1.96.2; 1.96.6; 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.95 |
| 06-Aug-2007 |
yamt | branches: 1.95.2; 1.95.8; 1.95.10; nfs_inactive: turn a panic into a printf for now, as it isn't critical. PR/36572 from Martin Husemann.
|
1.94 |
| 12-Jun-2007 |
yamt | branches: 1.94.2; 1.94.6; nfs_inactive: don't clear NTRUNCDELAYED erroneously. (fix cache consistency problems like NUL bytes near EOF.)
|
1.93 |
| 12-Mar-2007 |
ad | branches: 1.93.2; Pass an ipl argument to pool_init/POOL_INIT to be used when initializing the pool's lock.
|
1.92 |
| 21-Feb-2007 |
thorpej | branches: 1.92.4; 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.91 |
| 20-Feb-2007 |
ad | Call genfs_node_destroy() where appropriate.
|
1.90 |
| 15-Feb-2007 |
yamt | branches: 1.90.2; use mutex and rwlock rather than lockmgr.
|
1.89 |
| 28-Dec-2006 |
yamt | remove several nqnfs definitions.
|
1.88 |
| 27-Dec-2006 |
yamt | remove nqnfs.
|
1.87 |
| 09-Nov-2006 |
yamt | remove some __unused in function parameters.
|
1.86 |
| 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.85 |
| 23-Jul-2006 |
ad | branches: 1.85.4; 1.85.6; Use the LWP cached credentials where sane.
|
1.84 |
| 14-May-2006 |
elad | integrate kauth.
|
1.83 |
| 30-Mar-2006 |
yamt | some cleanups after the introduction of GOP_SIZE_MEM flag. - remove GOP_SIZE_READ/GOP_SIZE_WRITE flags. they have not been used since the change. - ufs_balloc_range: remove code which has been no-op since the change. thanks Konrad Schroder for explaining the original intention of the code. - ffs_gop_size: don't extend past eof, in the case of GOP_SIZE_MEM. otherwise genfs_getpages end up to allocate pages past eof unnecessarily.
|
1.82 |
| 02-Jan-2006 |
yamt | branches: 1.82.2; 1.82.4; 1.82.6; 1.82.8; 1.82.10; nfs_inactive: - use LK_CANRECURSE instead of LK_RECURSEFAIL. PR/32435 from Valeriy E. Ushakov. - panic explicitly if the parent directory has been revoked. add an XXX comment.
|
1.81 |
| 11-Dec-2005 |
christos | branches: 1.81.2; merge ktrace-lwp.
|
1.80 |
| 28-Jun-2005 |
yamt | branches: 1.80.2; - constify genfs_ops. - use member designators.
|
1.79 |
| 26-Feb-2005 |
perry | branches: 1.79.2; nuke trailing whitespace
|
1.78 |
| 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.77 |
| 25-Apr-2004 |
simonb | branches: 1.77.4; 1.77.6; Initialise (most) pools from a link set instead of explicit calls to pool_init. Untouched pools are ones that either in arch-specific code, or aren't initialiased during initial system startup.
Convert struct session, ucred and lockf to pools.
|
1.76 |
| 20-Apr-2004 |
yamt | nfs_inactive: inactive the vp before doing sillyrename works. vp can be reclaimed soon after it's unlocked.
|
1.75 |
| 05-Apr-2004 |
yamt | nfs_readdirplusrpc: fix a deadlock problem. don't wait for vnode lock to load attributes. otherwise, because READDIRPLUS returns DOTDOT entry as well, we violate locking order.
|
1.74 |
| 05-Apr-2004 |
yamt | don't issue VOP_GETATTR blindly in nfs_nget(). in many cases, GETATTR RPCs here is redundant because the caller has postop_attr. instead, make sure the resulted vnode have a valid attribute in nfs_lookup().
|
1.73 |
| 12-Mar-2004 |
yamt | branches: 1.73.2; shrink sizeof struct nfsnode by putting exclusive members into union.
|
1.72 |
| 23-Jan-2004 |
wrstuden | Adjust sillyrename cleanup code to deal with the parent vnode already being locked by our thread. VOP_INACTIVATE() makes no statement as to the lock state of the parent, yet this code assumed we had it unlocked.
With this change, we let vn_lock() fail with EDEADLK if we already have the parent locked. We then handle the rename cleanup, and on the way out just vrele() the parent vnode, not vput() it.
Fixes a case seen by Steve Woodford at Wasabisystems dot com where we'd panic while running a pkgsrc configure test that verified fork() functionality. I expect the problem is a result of the recent exit() changes and the performance of the machines he tested on.
Specifically we would crash during an nfs_remove(). As best I can tell, when nfs_remove() tested to see if we should rename or we should remove, v_usecount was > 1 and vattr.va_nlink was 1. Thus we did the sillyrename in nfs_remove(). However by the time we got down to the vput(vp), v_usecount had dropped to one and thus vput() triggered the VOP_INACTIVATE() code path. nfs_inactive() tries to lock the parent to undo the sillyrename, and deadlocks as we still have it locked.
|
1.71 |
| 07-Dec-2003 |
fvdl | Unix semantics dictate that access checks for files are done when it is opened. An open file can always be read from and/or written to, depending on how it was opened.
Therefore, the read/write/commit RPCs should never return EACCESS, as they are only performed on files that have been successfully opened already.
This change improves the current situation and works in most cases. It simply always uses the most recently known owner/group of the file, iff the authentication mechanism is AUTH_UNIX (in other cases, the creds for a succesful open are used, but note that no other cases are currently implemented).
A retry mechanism can be used to catch a few more cases, but this is a good improvement for now.
|
1.70 |
| 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.69 |
| 30-Jul-2003 |
yamt | vrecycle removed nfs vnodes. not perfect, but enough for most cases.
|
1.68 |
| 29-Jun-2003 |
fvdl | branches: 1.68.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
1.67 |
| 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.66 |
| 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.65 |
| 22-May-2003 |
yamt | avoid double free with xlatecookie.
|
1.64 |
| 21-May-2003 |
yamt | remove local definitions of TRUE and FALSE.
|
1.63 |
| 07-May-2003 |
yamt | use hashdone to free hashinit'ed memory.
|
1.62 |
| 02-Apr-2003 |
yamt | use queue manipulation macros.
|
1.61 |
| 17-Feb-2003 |
perseant | Add code to UBCify LFS. This is still behind "#ifdef LFS_UBC" for now (there are still some details to work out) but expect that to go away soon. To support these basic changes (creation of lfs_putpages, lfs_gop_write, mods to lfs_balloc) several other changes were made, to wit:
* Create a writer daemon kernel thread whose purpose is to handle page writes for the pagedaemon, but which also takes over some of the functions of lfs_check(). This thread is started the first time an LFS is mounted.
* Add a "flags" parameter to GOP_SIZE. Current values are GOP_SIZE_READ, meaning that the call should return the size of the in-core version of the file, and GOP_SIZE_WRITE, meaning that it should return the on-disk size. One of GOP_SIZE_READ or GOP_SIZE_WRITE must be specified.
* Instead of using malloc(...M_WAITOK) for everything, reserve enough resources to get by and use malloc(...M_NOWAIT), using the reserves if necessary. Use the pool subsystem for structures small enough that this is feasible. This also obsoletes LFS_THROTTLE.
And a few that are not strictly necessary:
* Moves the LFS inode extensions off onto a separately allocated structure; getting closer to LFS as an LKM. "Welcome to 1.6O."
* Unified GOP_ALLOC between FFS and LFS.
* Update LFS copyright headers to correct values.
* Actually cast to unsigned in lfs_shellsort, like the comment says.
* Keep track of which segments were empty before the previous checkpoint; any segments that pass two checkpoints both dirty and empty can be summarily cleaned. Do this. Right now lfs_segclean still works, but this should be turned into an effectless compatibility syscall.
|
1.60 |
| 15-Feb-2003 |
drochner | Don't remove the nfsnode from the hash chain in nfs_inactive. It will never get back... it will not be found in nfs_nget, a new nfsnode+vnode is allocated instead, which causes a node leak, and also makes the mountpointness of the vnode to be forgotten, breaking filesystem crossing lookups through this vnode.
|
1.59 |
| 12-Feb-2003 |
fvdl | Move purging the dircache and removing a vnode from the nqnfs timer queue into nfs_inactive, this is a better place for it.
This doesn't actually solve the actual problem, which appears to be a race condition with unmounting and vnode recycling somewhere, but it fixes it in the sense that nfs_reclaim will not reference a bad v_mount anymore.
|
1.58 |
| 10-Feb-2003 |
christos | move the MALLOC decl for DIROFFS to nfs_subs.c
|
1.57 |
| 01-Feb-2003 |
thorpej | Add extensible malloc types, adapted from FreeBSD. This turns malloc types into a structure, a pointer to which is passed around, instead of an int constant. Allow the limit to be adjusted when the malloc type is defined, or with a function call, as suggested by Jonathan Stone.
|
1.56 |
| 01-Dec-2002 |
matt | Make sure these all agree on the same definitons of various variables.
|
1.55 |
| 01-Oct-2002 |
christos | back out previous. the problem is not the v_mount is null, but it appears corrupted.
|
1.54 |
| 30-Sep-2002 |
christos | deal with v_mount == NULL in nfs_reclaim(). We should not be touching this anyway, but nq-nfs wants us to.
|
1.53 |
| 16-Mar-2002 |
chs | branches: 1.53.6; make sure that if NMODIFIED is clear, all pages attached to the vnode are clean and without writable mappings. if we try to flush dirty pages past EOF to the server when NMODIFIED is clear, we'll update the attrcache before doing the write, which will try to free the pages past EOF and deadlock. to deal with this, we write-protect pages before we send them to the server, and restrict ourselves to creating read-only mappings if NMODIFIED isn't set. score another one for enami.
|
1.52 |
| 08-Mar-2002 |
thorpej | Pool deals fairly well with physical memory shortage, but it doesn't deal with shortages of the VM maps where the backing pages are mapped (usually kmem_map). Try to deal with this:
* Group all information about the backend allocator for a pool in a separate structure. The pool references this structure, rather than the individual fields. * Change the pool_init() API accordingly, and adjust all callers. * Link all pools using the same backend allocator on a list. * The backend allocator is responsible for waiting for physical memory to become available, but will still fail if it cannot callocate KVA space for the pages. If this happens, carefully drain all pools using the same backend allocator, so that some KVA space can be freed. * Change pool_reclaim() to indicate if it actually succeeded in freeing some pages, and use that information to make draining easier and more efficient. * Get rid of PR_URGENT. There was only one use of it, and it could be dealt with by the caller.
From art@openbsd.org.
|
1.51 |
| 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.50 |
| 21-Jan-2002 |
fvdl | VOP_UNLOCK + vgone --> vput, since the vnode will already have a reference.
|
1.49 |
| 18-Jan-2002 |
fvdl | Unlock vnode before calling vgone() in case of getattr failure during nfs_nget. Fixes problem reported by Chuck Cranor.
|
1.48 |
| 06-Dec-2001 |
lukem | Replace nfs_hash() (with its extremely bad hash) with a macro to call hash32_buf() to obtain a 32 bit hash. On some tests I ran I obtained a 30x improvement in hash distribution and a 6x reduction in time spent in nfs_nget().
|
1.47 |
| 10-Nov-2001 |
lukem | add RCSIDs
|
1.46 |
| 15-Sep-2001 |
chs | branches: 1.46.2; 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.45 |
| 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.44 |
| 03-May-2001 |
fvdl | branches: 1.44.2; 1.44.4; Drop vnode lock before removing the sillyrename file, to avoid a lock-o-death.
|
1.43 |
| 20-Apr-2001 |
fvdl | On VOP_GETATTR failure in nfs_nget, call vgone() to get rid of the vnode that was just created. Suggested by Enami.
|
1.42 |
| 20-Apr-2001 |
fvdl | Unlock the hash lock before returning an error in nfs_nget. From IWAMOTO Toshihiro.
|
1.41 |
| 07-Feb-2001 |
tsutsui | branches: 1.41.2; Fix nested extern declaration of prtactive.
|
1.40 |
| 06-Feb-2001 |
fvdl | In nfs_inactive there's no need anymore for an extra refcount around nfs_vinvalbuf, since it has a real lock on the vnode now, so getnewvnode will not hijack it.
|
1.39 |
| 06-Feb-2001 |
fvdl | Do actual vnode locking for NFS.
|
1.38 |
| 27-Nov-2000 |
chs | Initial integration of the Unified Buffer Cache project.
|
1.37 |
| 08-Nov-2000 |
ad | Update for hashinit() change.
|
1.36 |
| 19-Sep-2000 |
fvdl | Initialize the lock needed to serialize commits for one NFS node.
|
1.35 |
| 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.34 |
| 03-Aug-2000 |
thorpej | MALLOC()/FREE() are not to be used for variable size allocations.
|
1.33 |
| 30-Mar-2000 |
augustss | branches: 1.33.4; Remove register declarations.
|
1.32 |
| 30-Mar-2000 |
simonb | Delete redundant decl of nfsv2_vnodeop_p, it's in <nfs/nfsnode.h>.
|
1.31 |
| 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.30 |
| 29-Nov-1999 |
fvdl | Insert an extra VOP_ACCESS check in nfs_lookup, to avoid cached access mishaps for lookup and getattr. Closes PR 8884.
While at it, cache access RPCs.
|
1.29 |
| 08-Jul-1999 |
wrstuden | branches: 1.29.2; 1.29.8; 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.28 |
| 01-Sep-1998 |
thorpej | branches: 1.28.2; 1.28.6; 1.28.8; Use the pool allocator and the "nointr" pool page allocator for NFS nodes and vattr structures.
|
1.27 |
| 09-Aug-1998 |
perry | bzero->memset, bcopy->memcpy, bcmp->memcmp
|
1.26 |
| 01-Mar-1998 |
fvdl | Merge with Lite2 + local changes
|
1.25 |
| 07-Feb-1998 |
chs | add flags arg to hashinit(), to pass to malloc().
|
1.24 |
| 19-Oct-1997 |
fvdl | * 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.23 |
| 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.22 |
| 07-Jul-1997 |
fvdl | branches: 1.22.2; Do locking around nfsnode hashing (perhaps even right this time!)
|
1.21 |
| 07-Jul-1997 |
fvdl | Revert until I have time to fix it today (lock applied wrongly).
|
1.20 |
| 06-Jul-1997 |
fvdl | Put lock around nfs node hashing to avoid race conditions, as MALLOC or getnewvnode may block.
|
1.19 |
| 22-Feb-1997 |
fvdl | Fixes from BSDI (thanks go to Keith Bostic). Original RCS messages:
date: 1996/09/06 03:00:31; author: donn; state: Exp; lines: +1 -2 Because NFS doesn't implement vnode locking, nfs_inactive() doesn't really have the vnode locked and hence it can't reliably access the vnode after it performs a blocking operation. We remove one blocking call and push the no-op VOP_UNLOCK higher so that we don't access the vnode after we delete the sillyrename file. This should prevent crashes we've seen in which the vnode turned into a UFS vnode and caused a panic in ufs_unlock() when we tried to 'unlock' it.
date: 1996/09/25 19:15:21; author: cp; state: Exp; lines: +4 -0 Kirk's change to not corrupt files after a delete.
date: 1996/11/08 19:53:45; author: donn; state: Exp; lines: +16 -4 Krik's change to solve the paradox that vclean() calls nfs_inactive() with VXLOCK set on the vnode, and nfs_inactive() was calling vget() to get a reference on the vnode, which in turn hung on VXLOCK. Nfs_inactive() now checks v_usecount to make sure that the vnode is not coming from vclean() before it does a vget().
|
1.18 |
| 12-Feb-1997 |
fvdl | Don't set sillyrename field to 0 for directories, as it's in a union with the head of the cookie list. Fixes PR 3215, fix supplied by Hiroshi Tezuka <tezuka@trc.rwcp.or.jp>. Should also fix M_NFSDIROFF memory leak.
|
1.17 |
| 01-Sep-1996 |
mycroft | branches: 1.17.4; Add a set of generic file system operations that most file systems use. Also, fix some time stamp bogosities.
|
1.16 |
| 18-Feb-1996 |
fvdl | Bring in a merge of Rick Macklem's NFSv3 code from Lite2
|
1.15 |
| 09-Feb-1996 |
christos | nfs prototype changes
|
1.14 |
| 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.13 |
| 18-Aug-1994 |
mycroft | More LIST/CIRCLEQ migration.
|
1.12 |
| 29-Jun-1994 |
cgd | branches: 1.12.2; New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
|
1.11 |
| 13-Jun-1994 |
mycroft | Undo last change.
|
1.10 |
| 13-Jun-1994 |
gwr | Fix unresolved: prtactive
|
1.9 |
| 08-Jun-1994 |
mycroft | Update to 4.4-Lite fs code, with local changes.
|
1.8 |
| 25-Apr-1994 |
cgd | some prototype cleanup, eliminate/replace bogus types (e.g. quad and u_quad) -> use better types (e.g. quad_t & u_quad_t in inodes), some cleanup.
|
1.7 |
| 21-Apr-1994 |
cgd | blow away all vestiges of nfsnode locking. (1) it's unnecessary (2) it causes machines to hang (yup!) (3) it'd be gone in a few days anyway (it'd been yanked out of 4.4-Lite by macklem long ago) It was only there because macklem couldn't originally decide if things should be locked, or not...
|
1.6 |
| 01-Mar-1994 |
pk | Enable nfs_lock(); useful when IO_APPEND'ing.
|
1.5 |
| 15-Feb-1994 |
pk | Update {a,m}time vnode attributes on special files a la ufs_vnode.c, but make it a non-urgent operation, to leave us some performance.
|
1.4 |
| 18-Dec-1993 |
mycroft | Canonicalize all #includes.
|
1.3 |
| 28-Jul-1993 |
cgd | branches: 1.3.2; incorporate changes from 0-9-base to 0-9-ALPHA
|
1.2 |
| 20-May-1993 |
cgd | branches: 1.2.2; more rcs id adding and header cleanup. i like vi macros!
|
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.2.2.1 |
| 24-Jul-1993 |
cgd | clean the nfsnode's lockf field after getting a new vnode; this probably explains some strange NFS-related lockf crashes on pain, and UFS does it, so it can't hurt.
|
1.3.2.1 |
| 14-Nov-1993 |
mycroft | Canonicalize all #includes.
|
1.12.2.1 |
| 19-Aug-1994 |
mycroft | update from trunk
|
1.17.4.1 |
| 12-Mar-1997 |
is | Merge in changes from Trunk
|
1.22.2.1 |
| 14-Oct-1997 |
thorpej | Update marc-pcmcia branch from trunk.
|
1.28.8.2 |
| 02-Aug-1999 |
thorpej | Update from trunk.
|
1.28.8.1 |
| 07-Jun-1999 |
chs | merge everything from chs-ubc branch.
|
1.28.6.1 |
| 05-Jan-2000 |
he | Pull up revision 1.30 (requested by fvdl): Insert an extra VOP_ACCESS check in nfs_lookup, preventing cached access mishaps for lookup and getattr. Fixes PR#8884.
|
1.28.2.1 |
| 30-May-1999 |
chs | there's a new rule that all vnodes must call uvm_vnp_setsize() before anyone can possibly access them, so do this in nfs_nget().
|
1.29.8.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.29.2.6 |
| 23-Apr-2001 |
bouyer | Sync with HEAD.
|
1.29.2.5 |
| 21-Apr-2001 |
bouyer | Sync with HEAD
|
1.29.2.4 |
| 11-Feb-2001 |
bouyer | Sync with HEAD.
|
1.29.2.3 |
| 08-Dec-2000 |
bouyer | Sync with HEAD.
|
1.29.2.2 |
| 22-Nov-2000 |
bouyer | Sync with HEAD.
|
1.29.2.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago
|
1.33.4.1 |
| 14-Dec-2000 |
he | Pull up revision 1.36 (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.41.2.13 |
| 11-Dec-2002 |
thorpej | Sync with HEAD.
|
1.41.2.12 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.41.2.11 |
| 15-Jul-2002 |
nathanw | Whitespace.
|
1.41.2.10 |
| 12-Jul-2002 |
nathanw | No longer need to pull in lwp.h; proc.h pulls it in for us.
|
1.41.2.9 |
| 24-Jun-2002 |
nathanw | Curproc->curlwp renaming.
Change uses of "curproc->l_proc" back to "curproc", which is more like the original use. Bare uses of "curproc" are now "curlwp".
"curproc" is now #defined in proc.h as ((curlwp) ? (curlwp)->l_proc) : NULL) so that it is always safe to reference curproc (*de*referencing curproc is another story, but that's always been true).
|
1.41.2.8 |
| 01-Apr-2002 |
nathanw | Catch up to -current. (CVS: It's not just a program. It's an adventure!)
|
1.41.2.7 |
| 28-Feb-2002 |
nathanw | Catch up to -current.
|
1.41.2.6 |
| 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.41.2.5 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.41.2.4 |
| 25-Sep-2001 |
nathanw | Fix typo in previous commit.
|
1.41.2.3 |
| 21-Sep-2001 |
nathanw | Catch up to -current.
|
1.41.2.2 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.41.2.1 |
| 05-Mar-2001 |
nathanw | Initial commit of scheduler activations and lightweight process support.
|
1.44.4.1 |
| 01-Oct-2001 |
fvdl | Catch up with -current.
|
1.44.2.5 |
| 10-Oct-2002 |
jdolecek | sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
|
1.44.2.4 |
| 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.44.2.3 |
| 16-Mar-2002 |
jdolecek | Catch up with -current.
|
1.44.2.2 |
| 11-Feb-2002 |
jdolecek | Sync w/ -current.
|
1.44.2.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.46.2.1 |
| 12-Nov-2001 |
thorpej | Sync the thorpej-mips-cache branch with -current.
|
1.53.6.1 |
| 28-Jul-2003 |
he | Apply patch (requested by christos in ticket #1171): Apply a stopgap fix preventing a panic for non-NQNFS when nfs_reclaim is called on a vnode of an unmounted NFS file system.
|
1.68.2.8 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.68.2.7 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.68.2.6 |
| 04-Feb-2005 |
skrll | Sync with HEAD.
|
1.68.2.5 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.68.2.4 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.68.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.68.2.2 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.68.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.73.2.2 |
| 10-Jul-2004 |
tron | Pull up revision 1.75 (requested by tls in ticket #634): nfs_readdirplusrpc: fix a deadlock problem. don't wait for vnode lock to load attributes. otherwise, because READDIRPLUS returns DOTDOT entry as well, we violate locking order.
|
1.73.2.1 |
| 10-Jul-2004 |
tron | Pull up revision 1.74 (requested by tls in ticket #634): don't issue VOP_GETATTR blindly in nfs_nget(). in many cases, GETATTR RPCs here is redundant because the caller has postop_attr. instead, make sure the resulted vnode have a valid attribute in nfs_lookup().
|
1.77.6.2 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.77.6.1 |
| 12-Feb-2005 |
yamt | sync with head.
|
1.77.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.79.2.1 |
| 24-Aug-2005 |
riz | Pull up following revision(s) (requested by yamt in ticket #688): sys/miscfs/genfs/genfs_vnops.c: revision 1.98 via patch sys/ufs/ffs/ffs_vfsops.c: revision 1.165 sys/ufs/lfs/lfs_extern.h: revision 1.69 sys/fs/filecorefs/filecore_vfsops.c: revision 1.20 sys/nfs/nfs_node.c: revision 1.80 sys/fs/smbfs/smbfs_node.c: revision 1.24 sys/fs/cd9660/cd9660_vfsops.c: revision 1.24 sys/fs/msdosfs/msdosfs_denode.c: revision 1.8 sys/miscfs/genfs/genfs_node.h: revision 1.6 sys/ufs/lfs/lfs_vfsops.c: revision 1.183 sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.86 sys/fs/adosfs/advfsops.c: revision 1.23 sys/fs/ntfs/ntfs_vfsops.c: revision 1.31 - constify genfs_ops. - use member designators.
sys/miscfs/genfs/genfs_vnops.c: revision 1.99 via patch genfs_getpages: don't forget to put the vnode onto the syncer's work que ue even in the case of PGO_LOCKED.
sys/uvm/uvm_bio.c: revision 1.40 sys/uvm/uvm_pager.h: revision 1.29 sys/miscfs/genfs/genfs_vnops.c: revision 1.100 via patch sys/ufs/ufs/ufs_inode.c: revision 1.50 - introduce PGO_NOBLOCKALLOC and use it for ubc mapping to prevent unnecessary block allocations in the case that page size > block size. - ufs_balloc_range: use VM_PROT_WRITE+PGO_NOBLOCKALLOC rather than VM_PROT_READ.
sys/uvm/uvm_fault.c: revision 1.96 sys/miscfs/genfs/genfs_vnops.c: revision 1.101 via patch sys/uvm/uvm_object.h: revision 1.19 sys/miscfs/genfs/genfs_node.h: revision 1.7 ensure that vnodes with dirty pages are always on syncer's queue. - genfs_putpages: wait for i/o completion of PG_RELEASED/PG_PAGEOUT pages by setting "wasclean" false when encountering them. suggested by Stephan Uphoff in PR/24596 (1). - genfs_putpages: write protect pages when cleaning out, if we're going to take the vnode off the syncer's queue. uvm_fault: don't write-map pages unless its vnode is already on the syncer's queue. fix PR/24596 (3) but in the different way from the suggested fix. (to keep our current behaviour, ie. not to require explicit msync. discussed on tech-kern@.) - genfs_putpages: don't mistakenly take a vnode off the queue by introducing a generation number in genfs_node. genfs_getpages: increment the generation number. suggested by Stephan Uphoff in PR/24596 (2). - add some assertions.
sys/miscfs/genfs/genfs_vnops.c: revision 1.102 via patch genfs_putpages: don't bother to clean the vnode unless VONWORKLST.
sys/ufs/ffs/ffs_vnops.c: revision 1.71 ffs_full_fsync: because VBLK/VCHR can be mmap'ed, do VOP_PUTPAGES for them as well.
sys/uvm/uvm_fault.c: revision 1.97 uvm_fault: check a correct object in the case of layered filesystems. fix PR/30811 from Jukka Salmi.
sys/uvm/uvm_object.h: revision 1.20 sys/ufs/ffs/ffs_vfsops.c: revision 1.167 sys/uvm/uvm_bio.c: revision 1.41 sys/ufs/ufs/ufs_vnops.c: revision 1.129 sys/uvm/uvm_mmap.c: revision 1.92 sys/uvm/uvm_fault.c: revision 1.98 sys/kern/vfs_subr.c: revision 1.252 sys/fs/msdosfs/denode.h: revision 1.5 sys/miscfs/genfs/genfs_vnops.c: revision 1.103 via patch sys/fs/msdosfs/msdosfs_denode.c: revision 1.9 sys/sys/vnode.h: revision 1.141 sys/ufs/ufs/ufs_inode.c: revision 1.51 sys/ufs/ufs/ufs_extern.h: revision 1.45 via patch sys/miscfs/genfs/genfs_node.h: revision 1.8 sys/ufs/lfs/lfs_vfsops.c: revision 1.184 sys/uvm/uvm_pager.h: revision 1.30 sys/ufs/ext2fs/ext2fs_vfsops.c: revision 1.87 update file timestamps for nfsd loaned-read and mmap. PR/25279. discussed on tech-kern@.
sys/miscfs/genfs/genfs_vnops.c: revision 1.104 via patch don't write-protect wired pages. pointed by Chuck Silvers. for now, leave a vnode on the syncer's queue, as suggested by him.
sys/ufs/ffs/ffs_vnops.c: revision 1.72 revert VCHR part of ffs_vnops.c 1.71. as VCHR uses the device pager, no point to call VOP_PUTPAGES here. pointed by Chuck Silvers.
|
1.80.2.7 |
| 04-Feb-2008 |
yamt | sync with head.
|
1.80.2.6 |
| 21-Jan-2008 |
yamt | sync with head
|
1.80.2.5 |
| 07-Dec-2007 |
yamt | sync with head
|
1.80.2.4 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.80.2.3 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.80.2.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.80.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.81.2.1 |
| 15-Jan-2006 |
yamt | sync with head.
|
1.82.10.2 |
| 24-May-2006 |
tron | Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
|
1.82.10.1 |
| 31-Mar-2006 |
tron | Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
|
1.82.8.3 |
| 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.82.8.2 |
| 19-Apr-2006 |
elad | sync with head.
|
1.82.8.1 |
| 08-Mar-2006 |
elad | Adapt to kernel authorization KPI.
This could use some testing...
|
1.82.6.3 |
| 11-Aug-2006 |
yamt | sync with head
|
1.82.6.2 |
| 24-May-2006 |
yamt | sync with head.
|
1.82.6.1 |
| 01-Apr-2006 |
yamt | sync with head.
|
1.82.4.2 |
| 01-Jun-2006 |
kardel | Sync with head.
|
1.82.4.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.82.2.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.85.6.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.85.6.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.85.4.2 |
| 12-Jan-2007 |
ad | Sync with head.
|
1.85.4.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.90.2.2 |
| 24-Mar-2007 |
yamt | sync with head.
|
1.90.2.1 |
| 28-Feb-2007 |
yamt | sync with head. (somehow missed in the previous)
|
1.92.4.4 |
| 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.92.4.3 |
| 20-Aug-2007 |
ad | Sync with HEAD.
|
1.92.4.2 |
| 15-Jul-2007 |
ad | Sync with head.
|
1.92.4.1 |
| 13-Mar-2007 |
ad | Sync with head.
|
1.93.2.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.94.6.2 |
| 27-Nov-2007 |
joerg | Sync with HEAD. amd64 Xen support needs testing.
|
1.94.6.1 |
| 09-Aug-2007 |
jmcneill | Sync with HEAD.
|
1.94.2.1 |
| 15-Aug-2007 |
skrll | Sync with HEAD.
|
1.95.10.2 |
| 06-Aug-2007 |
yamt | nfs_inactive: turn a panic into a printf for now, as it isn't critical. PR/36572 from Martin Husemann.
|
1.95.10.1 |
| 06-Aug-2007 |
yamt | file nfs_node.c was added on branch matt-mips64 on 2007-08-06 11:55:09 +0000
|
1.95.8.2 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.95.8.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.95.2.2 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.95.2.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.96.6.2 |
| 19-Jan-2008 |
bouyer | Sync with HEAD
|
1.96.6.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.96.2.1 |
| 04-Dec-2007 |
ad | Pull the vmlocking changes into a new branch.
|
1.101.10.6 |
| 10-Oct-2010 |
yamt | some locking changes
|
1.101.10.5 |
| 09-Oct-2010 |
yamt | sync with head
|
1.101.10.4 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.101.10.3 |
| 04-May-2009 |
yamt | sync with head.
|
1.101.10.2 |
| 16-May-2008 |
yamt | sync with head.
|
1.101.10.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.101.8.2 |
| 04-Jun-2008 |
yamt | sync with head
|
1.101.8.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.101.6.3 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.101.6.2 |
| 05-Oct-2008 |
mjf | Sync with HEAD.
|
1.101.6.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.102.2.2 |
| 10-Oct-2008 |
skrll | Sync with HEAD.
|
1.102.2.1 |
| 23-Jun-2008 |
wrstuden | Sync w/ -current. 34 merge conflicts to follow.
|
1.103.4.2 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
1.103.4.1 |
| 19-Oct-2008 |
haad | Sync with HEAD.
|
1.106.4.1 |
| 02-Feb-2009 |
snj | Pull up following revision(s) (requested by ad in ticket #344): sys/nfs/nfs_node.c: revision 1.108 sys/nfs/nfsnode.h: revision 1.69 - Don't vput() a vnode that we do not hold locked. - Eliminate one of the few remaining uses of LK_CANRECURSE.
|
1.106.2.2 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.106.2.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.108.2.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.110.4.6 |
| 31-May-2011 |
rmind | sync with head
|
1.110.4.5 |
| 22-May-2011 |
rmind | nfs_gop_write: acquire the lock for pmap_page_protect() operation.
|
1.110.4.4 |
| 19-May-2011 |
rmind | Implement sharing of vnode_t::v_interlock amongst vnodes: - Lock is shared amongst UVM objects using uvm_obj_setlock() or getnewvnode(). - Adjust vnode cache to handle unsharing, add VI_LOCKSHARE flag for that. - Use sharing in tmpfs and layerfs for underlying object. - Simplify locking in ubc_fault(). - Sprinkle some asserts.
Discussed with ad@.
|
1.110.4.3 |
| 05-Mar-2011 |
rmind | sync with head
|
1.110.4.2 |
| 03-Jul-2010 |
rmind | sync with head
|
1.110.4.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.110.2.2 |
| 22-Oct-2010 |
uebayasi | Sync with HEAD (-D20101022).
|
1.110.2.1 |
| 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.114.2.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.115.2.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.116.16.1 |
| 18-May-2014 |
rmind | sync with head
|
1.116.12.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.116.12.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.116.2.1 |
| 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.117.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.118.8.1 |
| 26-Apr-2017 |
pgoyette | Sync with HEAD
|
1.118.4.2 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.118.4.1 |
| 05-Oct-2016 |
skrll | Sync with HEAD
|
1.119.2.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.122.8.1 |
| 25-Jun-2018 |
pgoyette | Sync with HEAD
|
1.123.2.2 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.123.2.1 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.124.2.1 |
| 29-Feb-2020 |
ad | Sync with head.
|