History log of /netbsd/sys/coda/coda_vnops.c (Results 51 – 75 of 118)
Revision Date Author Comments
# 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.


# 1997a1e1 25-Jan-2008 ad <ad@NetBSD.org>

Remove VOP_LEASE. Discussed on tech-kern.


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

Merge vmlocking2 to head.


# b6a2ef75 25-Dec-2007 perry <perry@NetBSD.org>

Convert many of the uses of __attribute__ to equivalent
__packed, __unused and __dead macros from cdefs.h


# db06a930 08-Dec-2007 pooka <pooka@NetBSD.org>

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
stru

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.

show more ...


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


# 606670f3 23-Jul-2007 pooka <pooka@NetBSD.org>

Initialize size and/or writesize when creating a vnode.


# 9403f9f1 25-Apr-2007 dogcow <dogcow@NetBSD.org>

make coda compile again.


# 664f30be 15-Apr-2007 gdt <gdt@NetBSD.org>

Stop doing vref of vnodes on open (and vrele on close); this makes no
sense.

Improve coda_inactive, turning commented out DIAGNOSTIC checks into printfs.

minor style/comment fixes.


# c2789872 15-Apr-2007 gdt <gdt@NetBSD.org>

In coda_{get,put}pages, drop and obtain v_uobj.vmobjlock rather than
v_interlock. They are actually the same lock, but the former protects
the uvm object associated with the vnode, and the latter vn

In coda_{get,put}pages, drop and obtain v_uobj.vmobjlock rather than
v_interlock. They are actually the same lock, but the former protects
the uvm object associated with the vnode, and the latter vnode
reference counts. Explained to me by chs@.

show more ...


# 6be5cb15 15-Apr-2007 gdt <gdt@NetBSD.org>

Based on suggestion from chs@, drop coda vnode interlock before
obtaining interlock on container vnode in coda_{get,put}pages. This
is the only functional change in this commit.

Improve many commen

Based on suggestion from chs@, drop coda vnode interlock before
obtaining interlock on container vnode in coda_{get,put}pages. This
is the only functional change in this commit.

Improve many comments. In particular, note that the relationship
between VOP_OPEN and obtaining a container file (e.g. for getpages for
executables) is messy.

Add printfs for 'internal open' cases in coda_rdwr. These have not
been triggered in my testing. Note an apparent vref leak.

show more ...


# a648308e 12-Apr-2007 gdt <gdt@NetBSD.org>

Rewrite coda_{get,put}pages. Now copying files from coda with mmap
does not trigger assertions in uvm_fault, and executing files from
coda works as well.

Code very lightly reviewed by wrstuden@; sc

Rewrite coda_{get,put}pages. Now copying files from coda with mmap
does not trigger assertions in uvm_fault, and executing files from
coda works as well.

Code very lightly reviewed by wrstuden@; scrutiny by those who
understand vnode and especially {get,put}pages would be appreciated.

show more ...


# 3bcadc1a 09-Apr-2007 gdt <gdt@NetBSD.org>

revert putpages part of last change. Thanks to pooka@ for pointing
out that the v_interlock in the previous code and v_uobj.vmobjlock are
really the same thing.


# 8f39b4fd 08-Apr-2007 gdt <gdt@NetBSD.org>

Further cleanups on coda vnode handling.

Re-enable mmap. The problem is how uvm_fault handles page faults from
coda vnodes via container files, and executing a program caused the
same problem so di

Further cleanups on coda vnode handling.

Re-enable mmap. The problem is how uvm_fault handles page faults from
coda vnodes via container files, and executing a program caused the
same problem so disabling mmap only helped cp(1).

coda_open:
rename variables to match vnode_if.src
better comments about lock/reference state of vnodes
keep lock on container file until after VOP_OPEN, which requires locked vp
remove #if 0'd code to PNBUF_PUT

coda_link:
rename variables to match vnode_if.src
error out early if vp == dvp
check return value on vn_lock, and add comment questoining the lock
clarify lock handling, but unchanged logic
remove #if 0'd code to PNBUF_PUT

coda_rmdir:
error out early if vp == dvp
remove #if 0'd code to PNBUF_PUT

coda_grab_vnode:
add comments, and in particular question undocumented VFS_VGET semantics

coda_getpages:
question calling VOP_OPEN, which requires a locked vnode, with the
vnode we got (vop_getpages does not guarantee a locked vnode)

coda_putpages:
remove inexplicable simple_unlock(&vp->v_interlock);
add printf so we notice if this is ever called

add comment explaining that the implementation will lead to trouble,
because vnode_if.src says putpages is called with v_uobj.vmobjlock
held and is supposed to unlock it

With these changes and an uncommitted change to uvm_fault not to panic
if uvm objects are not equal, coda seems stable again.

show more ...


# 8830bbca 06-Apr-2007 gdt <gdt@NetBSD.org>

Disable mmap for coda. When copying a file from coda to normal ffs, I
got a panic in uvm_fault from ffs_write. I believe this is because cp
used mmap, the container file page was not in core, and u

Disable mmap for coda. When copying a file from coda to normal ffs, I
got a panic in uvm_fault from ffs_write. I believe this is because cp
used mmap, the container file page was not in core, and uvm_fault
objected to the container file vnode and the coda vnode not matching.
I have long been plagued by crashes on cp from coda, and this was the
first time I got and understood a backtrace.

Clean up old comments that are no longer accurate.

Document refcounting better.

Note some questionable behaviors with XXX.

Clean up PNBUF_PUT and SAVESTART. Only do this where vnodeops(9) says
we should, and do it on error also.

In symlink, vput parent and free namebuf even in error cases.

show more ...


# 23959b33 05-Apr-2007 gdt <gdt@NetBSD.org>

Improve conformance to vnode locking rules in coda_lookup, by doing
the unlock parent, lock child, lock parent in the ISDOTDOT case.

Clean up and rewrite comments to match more closely current reali

Improve conformance to vnode locking rules in coda_lookup, by doing
the unlock parent, lock child, lock parent in the ISDOTDOT case.

Clean up and rewrite comments to match more closely current reality.

Sprinkle XXX where I'm not sure the current rules are being followed.

Reviewed by wrstuden@, who agreed that this is an improvement over the
current code, with concerns about LK_RETRY and whether the ISDOTDOT
locking is done soon enough.

show more ...


# 53524e44 04-Mar-2007 christos <christos@NetBSD.org>

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.


# c398ae97 09-Dec-2006 chs <chs@NetBSD.org>

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

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

show more ...


# 3029ac48 21-Jul-2006 ad <ad@NetBSD.org>

- Use the LWP cached credentials where sane.
- Minor cosmetic changes.


# 874fef37 14-May-2006 elad <elad@NetBSD.org>

integrate kauth.


# 08172fe2 12-Apr-2006 christos <christos@NetBSD.org>

COVERITY CID 1113: Don't use NULL for VOP_READDIR


# ec5a9318 01-Mar-2006 yamt <yamt@NetBSD.org>

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.

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.

show more ...


# 6fbdb2ad 12-Jan-2006 gdt <gdt@NetBSD.org>

In coda_lookup, add LK_RETRY to locking of child vnode. The previous
code paniced if the first attempt to lock the vnode failed, and such
failures are not errors - just cause to wait. gdt was regul

In coda_lookup, add LK_RETRY to locking of child vnode. The previous
code paniced if the first attempt to lock the vnode failed, and such
failures are not errors - just cause to wait. gdt was regularly
hitting this panic.

Correct one of two identical panic messages.

Add XXX comments about

ISDOTDOT locking rules not being followed

questioning the practice of unlocking parent before locking child.
(But, given that the vnode is referenced, it can't be deleted, so
maybe this is fine.)

Why is failured to unlock not a panic but failure to lock is?

show more ...


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

merge ktrace-lwp.


# a748ea88 02-Nov-2005 yamt <yamt@NetBSD.org>

merge yamt-vop branch. remove following VOPs.

VOP_BLKATOFF
VOP_VALLOC
VOP_BALLOC
VOP_REALLOCBLKS
VOP_VFREE
VOP_TRUNCATE
VOP_UPDATE


12345