History log of /src/sys/fs/union/union_subr.c |
Revision | | Date | Author | Comments |
1.82 |
| 18-Jul-2022 |
thorpej | Make kqueue event status for vnodes shareable, and for stacked file systems like nullfs, make the upper vnode share that status with the lower vnode.
And, lo, NetBSD 9.99.99.
Fixes PR kern/56713.
|
1.81 |
| 19-Mar-2022 |
hannken | Remove now unused VV_LOCKSWORK, all file systems support locking.
Remove unused predicates vn_locked() and vn_anylocked().
Welcome to 9.99.95
|
1.80 |
| 19-Mar-2022 |
hannken | As FSTRANS is part of VOP_*LOCK() since June 4, 2017 the vdead_check() from union_lock() is no longer needed.
Adapt union_lock() to the recent addition of upgrade or downgrade.
VV_LOCKSWORK now.
|
1.79 |
| 18-Aug-2020 |
hannken | Operation union_readdirhook() stores the lower directory as un_uppervp. This breaks the assumption that un_uppervp->v_mount is the upper mount.
Fix by storing the directory as un_lowervp and adapt union_readdir().
Should fix PR kern/55552: panic with union mount
|
1.78 |
| 23-Feb-2020 |
ad | UVM locking changes, proposed on tech-kern:
- Change the lock on uvm_object, vm_amap and vm_anon to be a RW lock. - Break v_interlock and vmobjlock apart. v_interlock remains a mutex. - Do partial PV list locking in the x86 pmap. Others to follow later.
|
1.77 |
| 28-Jan-2018 |
christos | branches: 1.77.4; 1.77.8; 1.77.10; CID-1428639: make sure we always initialiaze hash, because if ultimately the file is not found and we end up looping we need them.
|
1.76 |
| 17-Jul-2017 |
hannken | branches: 1.76.2; Make union_newlower() ans union_newupper() local to union_subr.c, expand and remove union_updatevp() and take care to transfer the vnode lock from the union vnode to its new upper vnode without breaking the fstrans state.
Add assertions that un_lowervp and un_uppervp never change from non-NULL to non-NULL.
|
1.75 |
| 01-Jun-2017 |
chs | branches: 1.75.2; remove checks for failure after memory allocation calls that cannot fail:
kmem_alloc() with KM_SLEEP kmem_zalloc() with KM_SLEEP percpu_alloc() pserialize_create() psref_class_create()
all of these paths include an assertion that the allocation has not failed, so callers should not assert that again.
|
1.74 |
| 20-Aug-2016 |
hannken | Remove now obsolete operation vcache_remove().
Welcome to 7.99.36
|
1.73 |
| 20-Apr-2015 |
riastradh | Cull unused vnode v_iflags: VI_LAYER, VI_LOCKSHARE.
|
1.72 |
| 20-Apr-2015 |
riastradh | Make vget always return vnode unlocked.
Convert callers who want locks to use vn_lock afterward.
Add extra argument so the compiler will report stragglers.
|
1.71 |
| 24-Feb-2015 |
hannken | A union node may be reactivated while it is being reclaimed so change union_freevp() to detach the vnode from the union node by clearing the vnode backpointer and the lower node sizes.
|
1.70 |
| 16-Feb-2015 |
hannken | Change union to vcache. Use address of the union node as key.
It would be better to use (uppervp, lowervp) as key, but either may be NULL and may change any time.
|
1.69 |
| 16-Feb-2015 |
hannken | Add reference count to union node.
|
1.68 |
| 16-Feb-2015 |
hannken | Remove a superfluous vref(), VOP_CREATE() was changed to keep dvp referenced and locked some time ago.
|
1.67 |
| 05-Sep-2014 |
matt | branches: 1.67.2; Try not to use f_data, use f_{vnode,socket,pipe,mqueue,kqueue,ksem} to get a correctly typed pointer.
|
1.66 |
| 17-Jun-2014 |
hannken | branches: 1.66.2; Unlock directory vnode after VOP_CREATE.
|
1.65 |
| 17-May-2014 |
dholland | Also set or assert that *vpp is null before calling VOP_MKDIR.
|
1.64 |
| 17-May-2014 |
dholland | Set *vpp to NULL before calling VOP_CREATE. This always happens when calling using nameidata, and if not something went wrong, so we'd like to be able to assert about it.
|
1.63 |
| 16-Feb-2014 |
hannken | branches: 1.63.2; Change union_allocvp() to take an unlocked uppervp and to return the union node unlocked. Another VI_XLOCK hack is gone.
|
1.62 |
| 14-Feb-2014 |
hannken | Member un_flags is unused now -- remove.
|
1.61 |
| 13-Feb-2014 |
hannken | Get rid of UN_KLOCK to keep a lock on vput(). It is not really needed and makes the source difficult to read. Always hold references to the union nodes until the operation is done.
|
1.60 |
| 07-Feb-2014 |
hannken | Change vnode operation lookup to return the resulting vnode *vpp unlocked. Change cache_lookup() to return an unlocked vnode.
Discussed on tech-kern@
Welcome to 6.99.31
|
1.59 |
| 23-Jan-2014 |
hannken | Change vnode operations create, mknod, mkdir and symlink to return the resulting vnode *vpp unlocked.
Discussed on tech-kern@
Welcome to 6.99.30
|
1.58 |
| 17-Jan-2014 |
hannken | Change vnode operations create, mknod, mkdir and symlink to keep the directory node dvp locked on return.
Discussed on tech-kern@
Welcome to 6.99.29
|
1.57 |
| 17-Oct-2013 |
christos | remove unused code
|
1.56 |
| 05-Nov-2012 |
dholland | branches: 1.56.2; Disentangle the namecache from the internals of namei.
- Move the namecache's hash computation to inside the namecache code, instead of being spread out all over the place. Remove cn_hash from struct componentname and delete all uses of it.
- It is no longer necessary (if it ever was) for cache_lookup and cache_lookup_raw to clear MAKEENTRY from cnp->cn_flags for the cases that cache_enter already checks for.
- Rearrange the interface of cache_lookup (and cache_lookup_raw) to make it somewhat simpler, to exclude certain nonexistent error conditions, and (most importantly) to make it not require write access to cnp->cn_flags.
This change requires a kernel bump.
|
1.55 |
| 25-Nov-2011 |
hannken | branches: 1.55.8; When union_allocvp() finds a node being cleaned out and the caller holds a lock, ignore the node and continue. To allow the cleaning to succeed the current threadmust make progress. For a brief time the cache may contain more than one vnode referring to a lower node.
Don't unlock the hash mutex if getnewvnode fails -- we don't hold it.
|
1.54 |
| 23-Nov-2011 |
hannken | Use hashinit() / hashdone() to create the union node hash list.
Cleanup the hash lookup in union_allocvp().
Needs more work as there is still a possible deadlock between union_allocvp() and vclean().
|
1.53 |
| 21-Nov-2011 |
hannken | Replace flag based union node locking with generic vnode lock, support shared and nowait locks and protect un_uppervp and un_*sz with mutex.
Mark file system MPSAFE.
|
1.52 |
| 14-Nov-2011 |
hannken | Remove a needless vnode lock/unlock dance. This is a leftover from the removal of VOP_LEASE().
Function union_removed_upper() always works on unlocked upper vnodes so remove the test-and-unlock and add an assertion.
|
1.51 |
| 18-Oct-2011 |
hannken | branches: 1.51.2; VOP_GETATTR() needs a shared lock at least.
|
1.50 |
| 23-Aug-2011 |
hannken | Stop abusing relookup() to prepare the creation of new nodes in the upper layer. Replace union_relookup() with union_do_lookup() that prepares a component, calls VOP_LOOKUP() and does the EEXIST test.
|
1.49 |
| 13-Aug-2011 |
hannken | Use mutexes to protect the hash lists instead of tsleep/wakeup.
|
1.48 |
| 12-Aug-2011 |
hannken | Change some `#ifdef DIAGNOSTIC' to `KASSERT'. Instead of a `pid_t' use a `lwp_t *' for locking diagnostics.
No functional changes intended.
|
1.47 |
| 12-Aug-2011 |
hannken | When creating a union node representing a device initialize the spec_node to make vrele() happy.
|
1.46 |
| 10-Aug-2011 |
hannken | Update the (shared) v_interlock if the upper node changes.
|
1.45 |
| 10-Aug-2011 |
hannken | Use LK_SHARED, it is sufficient for VOP_GETATTR() and VOP_READDIR().
|
1.44 |
| 07-Aug-2011 |
hannken | Change union rmdir semantics to fail directory removal for non-empty directories like all other file systems do.
Change test accordingly.
|
1.43 |
| 12-Jun-2011 |
rmind | 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.42 |
| 02-Jan-2011 |
dholland | branches: 1.42.6; Remove the special refcount behavior (adding an extra reference to the parent dir) associated with SAVESTART in relookup().
Check all call sites to make sure that SAVESTART wasn't set while calling relookup(); if it was, adjust the refcount behavior. Remove related references to SAVESTART.
The only code that was reaching the extra ref was msdosfs_rename, where the refcount behavior was already fairly broken and/or gross; repair it.
Add a dummy 4th argument to relookup to make sure code that hasn't been inspected won't compile. (This will go away next time the relookup semantics change, which they will.)
|
1.41 |
| 30-Nov-2010 |
dholland | Abolish the SAVENAME and HASBUF flags. There is now always a buffer, so the path in a struct componentname is now always valid during VOP calls.
|
1.40 |
| 30-Nov-2010 |
dholland | Abolish struct componentname's cn_pnbuf. Use the path buffer in the pathbuf object passed to namei as work space instead. (For now a pnbuf pointer appears in struct nameidata, to support certain unclean things that haven't been fixed yet, but it will be going away in the future.)
This removes the need for the SAVENAME and HASBUF namei flags.
|
1.39 |
| 21-Jul-2010 |
hannken | Make holding v_interlock mandatory for callers of vget().
Announced some time ago on tech-kern.
|
1.38 |
| 16-Jul-2010 |
hannken | Always take the hash list lock before removing a node from the hash chain.
Release the hash list lock before calling getnewvnode() and check the hash list again like other file systems do.
Take v_interlock before calling vget().
|
1.37 |
| 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.36 |
| 06-Jun-2010 |
hannken | Change layered file systems to always pass the locking VOP's down to the leaf file system. Remove now unused member v_vnlock from struct vnode. Welcome to 5.99.30
Discussed on tech-kern.
|
1.35 |
| 08-Jan-2010 |
pooka | branches: 1.35.2; 1.35.4; The VATTR_NULL/VREF/VHOLD/HOLDRELE() macros lost their will to live years ago when the kernel was modified to not alter ABI based on DIAGNOSTIC, and now just call the respective function interfaces (in lowercase). Plenty of mix'n match upper/lowercase has creeped into the tree since then. Nuke the macros and convert all callsites to lowercase.
no functional change
|
1.34 |
| 17-Dec-2008 |
cegger | kill MALLOC and FREE macros.
|
1.33 |
| 21-Mar-2008 |
ad | branches: 1.33.4; 1.33.12; Catch up with descriptor handling changes. See kern_descrip.c revision 1.173 for details.
|
1.32 |
| 27-Feb-2008 |
matt | Convert to ansi definitions from old-style definitons.
|
1.31 |
| 25-Jan-2008 |
ad | branches: 1.31.2; 1.31.6; Remove VOP_LEASE. Discussed on tech-kern.
|
1.30 |
| 08-Dec-2007 |
pooka | 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.29 |
| 26-Nov-2007 |
pooka | branches: 1.29.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.28 |
| 10-Oct-2007 |
ad | branches: 1.28.4; Merge from vmlocking:
- Split vnode::v_flag into three fields, depending on field locking. - simple_lock -> kmutex in a few places. - Fix some simple locking problems.
|
1.27 |
| 23-Jul-2007 |
pooka | branches: 1.27.4; 1.27.6; 1.27.8; 1.27.10; Rearrange previous to make it work by other than chance.
noticed by xtraeme's gcc flags
|
1.26 |
| 23-Jul-2007 |
pooka | Set union vnode size when creating a vnode.
fixes kern/36679 by Geoff C. Wing
|
1.25 |
| 07-Apr-2007 |
hannken | branches: 1.25.4; Remove calls to now obsolete vn_start_write() and vn_finished_write().
|
1.24 |
| 04-Feb-2007 |
chs | branches: 1.24.2; 1.24.6; 1.24.8; more fixes for the new vnode locking scheme: - don't use SAVESTART in calls to relookup() from unionfs, just vref() the desired vnode when we need to. - fix locking and refcounting in the unionfs EEXIST error cases. - release any vnode locks before calling VFS_ROOT(), vfs_busy() is enough. this allows us to simplify union_root() and fix PR 3006. - union_lock() doesn't handle shared lock requests correctly, so convert them to exclusive instead. fixes PR 34775. - in relookup(), avoid reusing "dp" for different purposes, the error handling wasn't right. (actually just get rid of dp.) also, change relookup() to ignore LOCKLEAF and always return the vnode locked since the callers already expect this.
|
1.23 |
| 29-Jan-2007 |
hubertf | Remove more duplicate headers. Patch by Slava Semushin <slava.semushin@gmail.com>
Again, this was tested by comparing obj files from a pristine and a patched source tree against an i386/ALL kernel, and also for src/sbin/fsck_ffs, src/sbin/fsdb and src/usr.sbin/makefs. Only changes in assert() line numbers were detected in 'objdump -d' output.
|
1.22 |
| 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.21 |
| 16-Nov-2006 |
christos | branches: 1.21.2; __unused removal on arguments; approved by core.
|
1.20 |
| 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.19 |
| 23-Jul-2006 |
ad | branches: 1.19.4; 1.19.6; Use the LWP cached credentials where sane.
|
1.18 |
| 14-May-2006 |
elad | integrate kauth.
|
1.17 |
| 15-Apr-2006 |
christos | Coverity CID 1001: Avoid NULL deref.
|
1.16 |
| 01-Mar-2006 |
yamt | branches: 1.16.2; 1.16.4; 1.16.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.15 |
| 11-Dec-2005 |
christos | branches: 1.15.2; 1.15.4; 1.15.6; merge ktrace-lwp.
|
1.14 |
| 30-Aug-2005 |
xtraeme | branches: 1.14.6; Remove __P()
|
1.13 |
| 29-May-2005 |
christos | branches: 1.13.2; - rename variables to avoid shadowing. - add a few const.
|
1.12 |
| 26-Feb-2005 |
perry | nuke trailing whitespace
|
1.11 |
| 17-Sep-2004 |
skrll | branches: 1.11.4; 1.11.6; 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.10 |
| 12-May-2004 |
jrf | caddr_t -> void * and removal of some more casts.
|
1.9 |
| 27-Apr-2004 |
jrf | First pass for some caddr_t removal and changes to get rid of it where we no longer use and/or need it
- removed casts from unionfs, deadfs and fdesc (there are more to hunt down still) - changed vfs_quotactl args argumet from caddr_t to void * - changed vfs_quotactl structures/callers to reflect the api change
Compiled fine and ran for about a day. Approved/reviewed by christos@netbsd.org and gimpy@netbsd.org.
|
1.8 |
| 15-Oct-2003 |
hannken | Add the gating of system calls that cause modifications to the underlying file system. The function vfs_write_suspend stops all new write operations to a file system, allows any file system modifying system calls already in progress to complete, then sync's the file system to disk and returns. The function vfs_write_resume allows the suspended write operations to complete.
From FreeBSD with slight modifications.
Approved by: Frank van der Linden <fvdl@netbsd.org>
|
1.7 |
| 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.6 |
| 29-Jun-2003 |
fvdl | branches: 1.6.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
1.5 |
| 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.4 |
| 29-Jun-2003 |
thorpej | Fix problems with Darren's ktrace/lwp changes.
|
1.3 |
| 29-Jun-2003 |
darrenr | More changes for providing lwpid for ktrace (sparc GENERIC built)
|
1.2 |
| 17-Mar-2003 |
jdolecek | make it possible for UNION fs to be loaded via LKM - instead of having some #ifdef UNION code in vfs_vnops.c, introduce variable 'vn_union_readdir_hook' which is set to address of appropriate vn_readdir() hook by union filesystem when it's loaded & mounted
|
1.1 |
| 16-Mar-2003 |
jdolecek | move union filesystem code from sys/miscfs/union to sys/fs/union
|
1.6.2.7 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.6.2.6 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.6.2.5 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.6.2.4 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.6.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.6.2.2 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.6.2.1 |
| 03-Jul-2003 |
wrstuden | LWP-ify union fs.
Note: These changes suffer from the same cnp->cn_lwp issue noted for ufs. They will need to get fixed at the same time as ufs. The fix is to add struct lwp * as a parameter to some VOPs.
Note also that most of the cn_lwp references used to be cn_proc references, so if cnp->cn_lwp is bad to use, unionfs's been naughty for quite some time.
|
1.11.6.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.11.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.13.2.10 |
| 24-Mar-2008 |
yamt | sync with head.
|
1.13.2.9 |
| 17-Mar-2008 |
yamt | sync with head.
|
1.13.2.8 |
| 04-Feb-2008 |
yamt | sync with head.
|
1.13.2.7 |
| 21-Jan-2008 |
yamt | sync with head
|
1.13.2.6 |
| 07-Dec-2007 |
yamt | sync with head
|
1.13.2.5 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.13.2.4 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.13.2.3 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.13.2.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.13.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.14.6.2 |
| 19-Nov-2005 |
yamt | - finish reverting VOP_READ prototype changes. - remove unused variables. - fix typos. some of them are pointed by Juan RP.
|
1.14.6.1 |
| 15-Nov-2005 |
yamt | - adapt to the new prototype of VOP_READ. - adapt ext2fs and union.
|
1.15.6.2 |
| 01-Jun-2006 |
kardel | Sync with head.
|
1.15.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.15.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.15.2.1 |
| 18-Feb-2006 |
yamt | adapt the rest of MI code.
|
1.16.6.1 |
| 24-May-2006 |
tron | Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
|
1.16.4.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.16.4.2 |
| 19-Apr-2006 |
elad | sync with head.
|
1.16.4.1 |
| 08-Mar-2006 |
elad | Adapt to kernel authorization KPI.
|
1.16.2.2 |
| 11-Aug-2006 |
yamt | sync with head
|
1.16.2.1 |
| 24-May-2006 |
yamt | sync with head.
|
1.19.6.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.19.6.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.19.4.4 |
| 09-Feb-2007 |
ad | Sync with HEAD.
|
1.19.4.3 |
| 01-Feb-2007 |
ad | Sync with head.
|
1.19.4.2 |
| 12-Jan-2007 |
ad | Sync with head.
|
1.19.4.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.21.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.24.8.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.24.6.3 |
| 20-Aug-2007 |
ad | Sync with HEAD.
|
1.24.6.2 |
| 17-Jun-2007 |
ad | - Increase the number of thread priorities from 128 to 256. How the space is set up is to be revisited. - Implement soft interrupts as kernel threads. A generic implementation is provided, with hooks for fast-path MD code that can run the interrupt threads over the top of other threads executing in the kernel. - Split vnode::v_flag into three fields, depending on how the flag is locked (by the interlock, by the vnode lock, by the file system). - Miscellaneous locking fixes and improvements.
|
1.24.6.1 |
| 10-Apr-2007 |
ad | Sync with head.
|
1.24.2.1 |
| 15-Apr-2007 |
yamt | sync with head.
|
1.25.4.1 |
| 15-Aug-2007 |
skrll | Sync with HEAD.
|
1.27.10.2 |
| 23-Jul-2007 |
pooka | Rearrange previous to make it work by other than chance.
noticed by xtraeme's gcc flags
|
1.27.10.1 |
| 23-Jul-2007 |
pooka | file union_subr.c was added on branch matt-mips64 on 2007-07-23 08:52:48 +0000
|
1.27.8.1 |
| 14-Oct-2007 |
yamt | sync with head.
|
1.27.6.3 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.27.6.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.27.6.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.27.4.3 |
| 09-Dec-2007 |
jmcneill | Sync with HEAD.
|
1.27.4.2 |
| 27-Nov-2007 |
joerg | Sync with HEAD. amd64 Xen support needs testing.
|
1.27.4.1 |
| 26-Oct-2007 |
joerg | Sync with HEAD.
Follow the merge of pmap.c on i386 and amd64 and move pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup code to restore CR4 before jumping back into kernel space as the large page option might cover that.
|
1.28.4.3 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.28.4.2 |
| 27-Dec-2007 |
mjf | Sync with HEAD.
|
1.28.4.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.29.2.1 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.31.6.2 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.31.6.1 |
| 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.31.2.1 |
| 24-Mar-2008 |
keiichi | sync with head.
|
1.33.12.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.33.4.3 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.33.4.2 |
| 11-Mar-2010 |
yamt | sync with head
|
1.33.4.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.35.4.5 |
| 30-May-2011 |
rmind | - Amend getnewvnode(9) to take the lock for sharing, not a vnode. - Update tmpfs to perform vnode and UVM object lock sharing correctly.
|
1.35.4.4 |
| 21-May-2011 |
rmind | Finish v_interlock sharing bits for union/unionfs.
|
1.35.4.3 |
| 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.35.4.2 |
| 05-Mar-2011 |
rmind | sync with head
|
1.35.4.1 |
| 03-Jul-2010 |
rmind | sync with head
|
1.35.2.1 |
| 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.42.6.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.51.2.3 |
| 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.51.2.2 |
| 16-Jan-2013 |
yamt | sync with (a bit old) head
|
1.51.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.55.8.3 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.55.8.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.55.8.1 |
| 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.56.2.1 |
| 18-May-2014 |
rmind | sync with head
|
1.63.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.66.2.1 |
| 17-Feb-2015 |
martin | Pull up following revision(s) (requested by hannken in ticket #529): sys/fs/union/union_subr.c: revision 1.68 Remove a superfluous vref(), VOP_CREATE() was changed to keep dvp referenced and locked some time ago.
|
1.67.2.4 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.67.2.3 |
| 05-Oct-2016 |
skrll | Sync with HEAD
|
1.67.2.2 |
| 06-Jun-2015 |
skrll | Sync with HEAD
|
1.67.2.1 |
| 06-Apr-2015 |
skrll | Sync with HEAD
|
1.75.2.1 |
| 25-Jul-2017 |
snj | Pull up following revision(s) (requested by hannken in ticket #145): sys/fs/union/union.h: revision 1.29 sys/fs/union/union_subr.c: revision 1.76 Make union_newlower() ans union_newupper() local to union_subr.c, expand and remove union_updatevp() and take care to transfer the vnode lock from the union vnode to its new upper vnode without breaking the fstrans state. Add assertions that un_lowervp and un_uppervp never change from non-NULL to non-NULL.
|
1.76.2.2 |
| 17-Jul-2017 |
hannken | 3095096
|
1.76.2.1 |
| 17-Jul-2017 |
hannken | file union_subr.c was added on branch perseant-stdc-iso10646 on 2017-07-17 09:22:37 +0000
|
1.77.10.1 |
| 29-Feb-2020 |
ad | Sync with head.
|
1.77.8.1 |
| 27-Aug-2020 |
martin | Pull up following revision(s) (requested by hannken in ticket #1062):
sys/fs/union/union.h: revision 1.30 sys/fs/union/union_subr.c: revision 1.79 sys/fs/union/union_vnops.c: revision 1.74
Operation union_readdirhook() stores the lower directory as un_uppervp. This breaks the assumption that un_uppervp->v_mount is the upper mount.
Fix by storing the directory as un_lowervp and adapt union_readdir().
Should fix PR kern/55552: panic with union mount
|
1.77.4.1 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|