History log of /netbsd-src/sys/fs/filecorefs/filecore_node.c (Results 1 – 25 of 31)
Revision Date Author Comments
# 93562e3f 26-May-2017 riastradh <riastradh@NetBSD.org>

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.


# 7f7aad09 26-May-2017 riastradh <riastradh@NetBSD.org>

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 fin

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.

show more ...


# 87fb3229 11-Apr-2017 riastradh <riastradh@NetBSD.org>

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!


# 7139aab7 20-Aug-2016 hannken <hannken@NetBSD.org>

Remove now obsolete operation vcache_remove().

Welcome to 7.99.36


# e716e7d8 04-Oct-2014 hannken <hannken@NetBSD.org>

Change filecore to vcache.

Compile-tested only, was not able to get my hands on a readable fs image.


# 2b6ec898 27-Feb-2014 hannken <hannken@NetBSD.org>

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
ca

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

show more ...


# e225b7bd 12-Jun-2011 rmind <rmind@NetBSD.org>

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

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.

show more ...


# 5cee5af5 23-May-2011 rmind <rmind@NetBSD.org>

Convert some simple_lock(9) uses to mutex(9) and malloc(9) to kmem(9).


# 4a4e5251 19-May-2011 rmind <rmind@NetBSD.org>

Remove cache_purge(9) calls from reclamation routines in the file systems,
as vclean(9) performs it for us since Lite2 merge.


# fb62bef9 21-Jul-2010 hannken <hannken@NetBSD.org>

Make holding v_interlock mandatory for callers of vget().

Announced some time ago on tech-kern.


# 245651a2 01-Jul-2010 hannken <hannken@NetBSD.org>

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 VO

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.

show more ...


# 1423e65b 24-Jun-2010 hannken <hannken@NetBSD.org>

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.


# 164477c6 15-Mar-2009 cegger <cegger@NetBSD.org>

ansify function definitions


# 454af1c0 14-Mar-2009 dsl <dsl@NetBSD.org>

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

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.)

show more ...


# e071d39c 05-May-2008 ad <ad@NetBSD.org>

- 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 memo

- 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.

show more ...


# 3490efcc 30-Jan-2008 ad <ad@NetBSD.org>

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.


# 42c90ece 17-Jan-2008 ad <ad@NetBSD.org>

Fix dodgy tests of v_usecount.


# 0664a045 04-Jan-2008 ad <ad@NetBSD.org>

Start detangling lock.h from intr.h. This is likely to cause short term
breakage, but the mess of dependencies has been regularly breaking the
build recently anyhow.


# 4a780c9a 02-Jan-2008 ad <ad@NetBSD.org>

Merge vmlocking2 to head.


# 61e8303e 26-Nov-2007 pooka <pooka@NetBSD.org>

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 shoul

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

show more ...


# 0ae0a486 24-Sep-2007 rumble <rumble@NetBSD.org>

Avoid stack allocation of large dirent structures in foo_readdir().


# 835b0326 30-Jun-2007 pooka <pooka@NetBSD.org>

Using POOL_INIT here makes no sense, since file systems always have
an init method. So get rid of it and #ifdef _LKM and just always
init in the init method. Give malloc types the same treatment.
M

Using POOL_INIT here makes no sense, since file systems always have
an init method. So get rid of it and #ifdef _LKM and just always
init in the init method. Give malloc types the same treatment.
Makes file systems nicer to work with in linksetless environments
and fixes a few LKM discrepancies.

show more ...


# 4b1d78c0 13-Mar-2007 ad <ad@NetBSD.org>

Pass an ipl argument to pool_init/POOL_INIT to be used when initializing
the pool's lock.


# adbb9ec2 20-Feb-2007 ad <ad@NetBSD.org>

Call genfs_node_destroy() where appropriate.


# 95e1ffb1 11-Dec-2005 christos <christos@NetBSD.org>

merge ktrace-lwp.


12