History log of /src/share/man/man9/vnodeops.9 |
Revision | | Date | Author | Comments |
1.101 |
| 15-Jun-2023 |
hannken | VOP_IOCTL() is a wrapper around spec_ioctl() aka Xdev_ioctl() and protected with spec_io_enter()/spec_io_exit() so there is no need to force specific vnode locking.
Set locking requirement to '= = =' (unchanged, locked or unlocked).
PR kern/57450 (unplugging hung USB disk triggers panic via _vstate_assert)
|
1.100 |
| 19-Nov-2017 |
christos | branches: 1.100.14; Fix locking info for VOP_RECLAIM.
|
1.99 |
| 03-Jul-2017 |
wiz | Remove workaround for ancient HTML generation code.
|
1.98 |
| 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.97 |
| 25-Jan-2016 |
christos | branches: 1.97.2; 1.97.4; we don't have va_mask
|
1.96 |
| 25-Jul-2014 |
wiz | New sentence, new line. Punctuation formatting nits.
|
1.95 |
| 25-Jul-2014 |
dholland | Add VOP_FALLOCATE and VOP_FDISCARD.
|
1.94 |
| 21-Jul-2014 |
dholland | Adjustments based on suggestions from gnrp in PR 45276: - fix argument names of VOP_REMOVE - mention deprecated behavior of calling VOP_GETATTR unlocked - mention rename lock
|
1.93 |
| 27-Feb-2014 |
hannken | branches: 1.93.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.92 |
| 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.91 |
| 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.90 |
| 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.89 |
| 05-Nov-2012 |
wiz | Bump date for previous.
|
1.88 |
| 05-Nov-2012 |
dholland | These two man pages contain complete cut and paste copies of struct componentname and/or struct nameidata. Update the copies, for both today's changes and a number of earlier changes too.
|
1.87 |
| 01-Oct-2012 |
wiz | Mark up defines with Dv. (Leave Brq for now.)
|
1.86 |
| 01-Oct-2012 |
njoly | Update _PC_NO_TRUNC description to add the returned value, and replace non-existant KERN_NAME_MAX with {NAME_MAX}.
|
1.85 |
| 07-Jun-2012 |
agc | branches: 1.85.2; Fix a typo
|
1.84 |
| 13-Feb-2012 |
wiz | Add locking description to some functions. Add FILES section referencing source code. From Julian Fagir in PR 45988.
|
1.83 |
| 18-Jul-2011 |
dholland | branches: 1.83.2; typo
|
1.82 |
| 11-Jul-2011 |
hannken | Change VOP_BWRITE() to take a vnode as its first argument like all other VOPs do. Layered file systems no longer have to modify bp->b_vp and run into trouble when an async VOP_BWRITE() uses the wrong vnode.
- change all occurences of VOP_BWRITE(bp) to VOP_BWRITE(bp->b_vp, bp). - remove layer_bwrite(). - welcome to 5.99.55
Adresses PR kern/38762 panic: vwakeup: neg numoutput
No objections from tech-kern@.
|
1.81 |
| 14-Jun-2011 |
rmind | VOP_LEASE(9) was removed long ago. Misc improvement.
|
1.80 |
| 24-Jun-2010 |
hannken | branches: 1.80.4; 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.79 |
| 24-Jun-2010 |
hannken | Clean up vnode lock operations:
- VOP_LOCK(vp, flags): Limit the set of allowed flags to LK_EXCLUSIVE, LK_SHARED and LK_NOWAIT. LK_INTERLOCK is no longer allowed as it makes no sense here.
- VOP_ISLOCKED(vp): Remove the for some time unused return value LK_EXCLOTHER. Mark this operation as "diagnostic only". Making a lock decision based on this operation is no longer allowed.
Discussed on tech-kern.
|
1.78 |
| 19-May-2010 |
pooka | * document VOP_DELETEEXTATTR * remove "vector element" from summary table: 1) deleteextattr caused problems for 80col rendering 2) it's not correct on NetBSD, we use the VOFFSET instead (!)
|
1.77 |
| 04-May-2009 |
wiz | branches: 1.77.2; Sort errors.
|
1.76 |
| 15-Mar-2009 |
joerg | Convert to mdoc. XXX groff is rather stupid in the way it handles the list
|
1.75 |
| 04-Aug-2008 |
pooka | branches: 1.75.4; fix VOP_ISLOCKED description
noticed by Adam Burkepile
|
1.74 |
| 31-May-2008 |
enami | No comma is necessary for the last .Nm entry.
|
1.73 |
| 30-Apr-2008 |
martin | branches: 1.73.2; Convert TNF licenses to new 2 clause variant
|
1.72 |
| 20-Mar-2008 |
mjf | branches: 1.72.2; 1.72.4; struct componentname has no cn_lwp member anymore. Also update the data types for the other struct members so they actually reflect sys/sys/namei.h
|
1.71 |
| 19-Jan-2008 |
pooka | branches: 1.71.2; improve readdir, abortop and bmap description
PR kern/15062 by Love
|
1.70 |
| 01-Dec-2007 |
wiz | Spelling, HTML output fix.
|
1.69 |
| 26-Nov-2007 |
pooka | "struct lwp *l" is a goner from VFS/VOP interfaces.
|
1.68 |
| 24-Aug-2007 |
pooka | branches: 1.68.2; fix/clarify VOP_CLOSE
|
1.67 |
| 30-Jul-2007 |
rumble | branches: 1.67.4; Be more specific in the description of VOP_READDIR: - uio->uio_offset must be set to the offset of the next directory entry. - each cookie entry points to the next directory entry's offset, not the current entry's offset. - cookies must be callee allocated with malloc type M_TEMP.
|
1.66 |
| 27-Jul-2007 |
pooka | VOP_MMAP fflags -> prot
|
1.65 |
| 28-Jun-2007 |
rumble | Fix typo.
|
1.64 |
| 24-Jun-2007 |
rumble | TRUE -> true, FALSE -> false.
|
1.63 |
| 13-May-2007 |
tnn | fix typos
|
1.62 |
| 07-May-2007 |
pooka | make description of VOP_MMAP compatible with reality
|
1.61 |
| 29-Mar-2007 |
pooka | fix definition of runp in VOP_BMAP
|
1.60 |
| 23-Dec-2006 |
wiz | Bump date for previous.
|
1.59 |
| 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.58 |
| 28-Nov-2006 |
pooka | branches: 1.58.2; match description of VOP_PUTPAGES with reality
|
1.57 |
| 19-Oct-2006 |
pooka | VOP_RENAME synopsis: * tdvp points to a vnode, not a componentname. * name of the source vnode is fvp, not vp
|
1.56 |
| 08-Oct-2006 |
pooka | VOP_REMOVE is supposed to vput the arguments before returning instead of keeping them locked
|
1.55 |
| 05-Oct-2006 |
chs | add support for O_DIRECT (I/O directly to application memory, bypassing any kernel caching for file data).
|
1.54 |
| 04-Oct-2006 |
reinoud | Fix confusing statement on locking and contradiction in the VOP_RECLAIM() explanation.
It told the node vp would be locked on entry and later told that the vnode is unlocked on entry and should remain unlocked on exit.
|
1.53 |
| 04-Oct-2006 |
pooka | ucred -> kauth sweep
|
1.52 |
| 30-Sep-2006 |
jld | Remove erroneous boilerplate about VOP_POLL's return value (which was already described correctly earlier in the paragraph).
|
1.51 |
| 16-Sep-2006 |
wiz | Use macro for HTML output.
|
1.50 |
| 16-Sep-2006 |
yamt | VOP_ADVLOCK: document the current unnatural handling of SEEK_CUR. pointed by efnbl06 at bn2.maus.net.
|
1.49 |
| 16-Sep-2006 |
yamt | VOP_ADVLOCK: fix a description of vp. pointed by efnbl06 at bn2.maus.net.
|
1.48 |
| 23-Aug-2006 |
wiz | Bump date for previous.
|
1.47 |
| 17-Aug-2006 |
jld | vnode_if.src says that VOP_POLL's vnode is unlocked, and has said so since 1998; adjust the man page to reflect that.
|
1.46 |
| 05-Apr-2006 |
rtr | fix typo
|
1.45 |
| 30-Mar-2006 |
rpaulo | Fix more proc/lwp conversions. From Gregory McGarry in private email.
|
1.44 |
| 11-Mar-2006 |
wiz | Bump date for previous.
|
1.43 |
| 04-Mar-2006 |
rumble | Mention VOP_KQFILTER briefly. Its description could be more thorough, but I am unfamiliar with the kqueue framework. Also fix a typo while we're here.
|
1.42 |
| 20-Dec-2005 |
rpaulo | Adapt man pages to ktrace-lwp.
|
1.41 |
| 02-Nov-2005 |
yamt | sync with kernel. (yamt-vop)
|
1.40 |
| 31-Oct-2005 |
wiz | Bump date for previous.
|
1.39 |
| 30-Oct-2005 |
erh | Mention that VOP_CREATE always unlocks the directory vnode.
|
1.38 |
| 09-Sep-2005 |
wiz | Uppercase I/O.
|
1.37 |
| 30-Aug-2005 |
jmmv | Sync the description of the getattr, link and rmdir operations with reality as regards vnode locking. Thanks to wrstuden@ for clarifying this.
|
1.36 |
| 19-Aug-2005 |
jmmv | Specify the types for the cookies and ncookies parameters to the readdir operation.
|
1.35 |
| 11-Aug-2005 |
pooka | apply cosmetics to VOP_MK/RMDIR prototypes
|
1.34 |
| 11-Aug-2005 |
pooka | match section on read/write ioflags with current reality (bump date!)
|
1.33 |
| 11-Jan-2005 |
chs | typoes.
|
1.32 |
| 02-Jan-2005 |
wiz | Mark up NULL, and replace null by nul where appropriate.
|
1.31 |
| 02-Jan-2005 |
thorpej | Document file system extended attribute functions.
|
1.30 |
| 25-Jun-2004 |
wiz | Fix Dd argument.
|
1.29 |
| 23-Apr-2004 |
simonb | s/the the/the/ (only in sources that aren't regularly imported from elsewhere).
|
1.28 |
| 25-Jan-2004 |
hannken | Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.
VOP_STRATEGY(bp) is replaced by one of two new functions:
- VOP_STRATEGY(vp, bp) Call the strategy routine of vp for bp. - DEV_STRATEGY(bp) Call the d_strategy routine of bp->b_dev for bp.
DEV_STRATEGY(bp) is used only for block-to-block device situations.
|
1.27 |
| 04-Jul-2003 |
wiz | Punctuation fix and grammar fix.
|
1.26 |
| 01-Jul-2003 |
wiz | Remove superfluous .Fc.
|
1.25 |
| 30-Jun-2003 |
wiz | Fixes to make these man page look nice with groff-1.19.
|
1.24 |
| 19-Jun-2003 |
yamt | note when VOP_GETPAGES updates number of pages pointed by 'count'.
|
1.23 |
| 09-Jun-2003 |
yamt | correct arguments of VOP_GETPAGES.
|
1.22 |
| 14-May-2003 |
wiz | setup -> set up.
|
1.21 |
| 01-May-2003 |
yamt | mdoc improvement. (use the longest tag for width specifier)
|
1.20 |
| 01-May-2003 |
yamt | redo a half of the previous correctly. ('op' arg of VOP_ADVLOCK)
|
1.19 |
| 01-May-2003 |
yamt | VOP_ADVLOCK: F_{RD,WR,UN}LCK is not for 'flags'.
|
1.18 |
| 24-Apr-2003 |
wiz | Use .Aq instead of \*[Lt]...\*[Gt].
|
1.17 |
| 20-Apr-2003 |
gmcgarry | Update to reflect caddr_t -> void * change.
|
1.16 |
| 16-Apr-2003 |
wiz | Use .In header.h instead of .Fd #include \*[Lt]header.h\*[Gt] Much easier to read and write, and supported by groff for ages. Okayed by ross.
|
1.15 |
| 03-Jan-2003 |
jschauma | Fix typos noted by Igor Sobrado in PR misc/19641 (some already fixed by others):
MCHTYPE(9) - implemntation (implementation) VFS_CHECKEXP(9) - specied (specified), acces (access) VOP_ABORTOP(9) - singla (single), implments (implements), callling (calling), credientials (credentials)
|
1.14 |
| 14-Oct-2002 |
wiz | New sentence, new line.
|
1.13 |
| 14-Oct-2002 |
gmcgarry | Slight markup.
|
1.12 |
| 14-Aug-2002 |
soren | Misc fixes. Cross-reference v*ops.9.
|
1.11 |
| 19-Jul-2002 |
yamt | usually, VOP_SEEK checks new offset, not old one.
|
1.10 |
| 29-Jun-2002 |
gmcgarry | Document flags to VOP_UPDATE().
|
1.9 |
| 13-Feb-2002 |
ross | Generate <>& symbolically. I'm avoiding .../dist/... directories for now.
|
1.8 |
| 07-Feb-2002 |
ross | Edit -mdoc usage.
* There is no -indent option to .Bd or .Bl, although you would never know that from its frequent use in this tree. There is a "-offset indent" combination that makes sense, and you can certainly say "-width indent".
* Also, you can't markup the -width option argument, tho you CAN use a callable macro. So "-width Ar filename" doesn't make sense, but either "-width Ar" or "-width filename" does, as might something like "-width xxfilename" for a little extra space.
* There are a lot of needlessly complex hanging tag macros in man4 used to create simple item lists. Those should be simplified one of these days before someone copies and edits yet another man4 page.
|
1.7 |
| 01-Feb-2002 |
eeh | De-clunikfy some grammar.
|
1.6 |
| 06-Jan-2002 |
deberg | add VOP_GETPAGES to NAME and create link
|
1.5 |
| 26-Oct-2001 |
yamt | - VOP_READDIR will remain vnode locked. - our VOP_FSYNC doesn't have argument "waitfor". - IO_SYNC is synchronous. - remove a repeated sentence in VOP_UNLOCK. - fix some misspells.
|
1.4 |
| 26-Oct-2001 |
yamt | s/falg/flag/
|
1.3 |
| 22-Oct-2001 |
gmcgarry | fnctl -> fcntl
|
1.2 |
| 22-Oct-2001 |
wiz | Whitespace, punctuation fixes; sort sections, fix xrefs.
|
1.1 |
| 22-Oct-2001 |
gmcgarry | Programmer's guide to the VFS interface.
|
1.58.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.67.4.2 |
| 30-Jul-2007 |
rumble | Be more specific in the description of VOP_READDIR: - uio->uio_offset must be set to the offset of the next directory entry. - each cookie entry points to the next directory entry's offset, not the current entry's offset. - cookies must be callee allocated with malloc type M_TEMP.
|
1.67.4.1 |
| 30-Jul-2007 |
rumble | file vnodeops.9 was added on branch matt-mips64 on 2007-07-30 03:25:51 +0000
|
1.68.2.2 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.68.2.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.71.2.1 |
| 24-Mar-2008 |
keiichi | sync with head.
|
1.72.4.2 |
| 04-Jun-2008 |
yamt | sync with head
|
1.72.4.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.72.2.3 |
| 05-Oct-2008 |
mjf | Sync with HEAD.
|
1.72.2.2 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.72.2.1 |
| 20-Mar-2008 |
mjf | file vnodeops.9 was added on branch mjf-devfs2 on 2008-06-02 13:21:42 +0000
|
1.73.2.2 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.73.2.1 |
| 23-Jun-2008 |
wrstuden | Sync w/ -current. 34 merge conflicts to follow.
|
1.75.4.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
|
1.77.2.1 |
| 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.80.4.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.83.2.4 |
| 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.83.2.3 |
| 16-Jan-2013 |
yamt | sync with (a bit old) head
|
1.83.2.2 |
| 30-Oct-2012 |
yamt | sync with head
|
1.83.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.85.2.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.85.2.1 |
| 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.93.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.97.4.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.97.2.1 |
| 26-Apr-2017 |
pgoyette | Sync with HEAD
|
1.100.14.1 |
| 21-Jun-2023 |
martin | Pull up following revision(s) (requested by hannken in ticket #197):
sys/kern/vnode_if.src: revision 1.85 share/man/man9/vnodeops.9: revision 1.101
VOP_IOCTL() is a wrapper around spec_ioctl() aka Xdev_ioctl() and protected with spec_io_enter()/spec_io_exit() so there is no need to force specific vnode locking. Set locking requirement to '= = =' (unchanged, locked or unlocked).
|