Home | History | Annotate | Download | only in man9
History log of /src/share/man/man9/namei.9
RevisionDateAuthorComments
 1.52  26-Dec-2021  andvar namei(9): s/operatoins/operations/
 1.51  05-May-2019  christos sync with reality
 1.50  03-Jul-2017  wiz branches: 1.50.6;
Remove workaround for ancient HTML generation code.
 1.49  03-May-2017  abhinav Fix a sentence: s/a operation/an operation/
 1.48  03-May-2017  abhinav Fixes in NAME section:
Insert comma between two Nm entries
Remove comma after last Nm entries
 1.47  21-Mar-2017  wiz branches: 1.47.2;
Add width argument to list.
 1.46  18-Mar-2017  riastradh Bump date.
 1.45  18-Mar-2017  riastradh Remove excessive indentation from function description text.
 1.44  18-Mar-2017  riastradh Move out-of-place note about interrupt context and namei.

Tweak paragraph break.
 1.43  18-Mar-2017  riastradh Use `\(em', not `--'.

Refill sentences and tweak wording where appropriate while here.
 1.42  18-Mar-2017  riastradh Clarify wording: pathname component is not a vnode or lookup result.
 1.41  18-Mar-2017  riastradh Organize namei flags by whose perspective they are relevant to.

- namei callers
- input to VOP_LOOKUP set by caller
- input to VOP_LOOKUP set by namei
- output from VOP_LOOKUP
 1.40  18-Mar-2017  riastradh Rewrite intro to say positively, actively how you use namei.
 1.39  18-Mar-2017  riastradh Rewrite operating modes section.

- Identify contract with caller.
- Identify contract with file system.
- Identify failure modes.
- Write in bulleted lists, not long rambly paragraphs.
 1.38  18-Mar-2017  riastradh Clarify what NOCACHE and MAKEENTRY do and who uses them.

De-editorialize.
 1.37  07-May-2016  wiz branches: 1.37.2; 1.37.4;
Use Er for errors and Dq for double quoted strings. Whitespace nits.
 1.36  06-May-2016  dholland Revise/update. List the functions in a sensible order. Document all
the modes and flags. Document the structure fields properly.
Distinguish internals from public interfaces. Mention historic dead
flags like SAVESTART because they still exist in other projects.
Explain the current layout of vfs_lookup.c, or at least the primary
points of it.

Etc.

This ended up being a much larger rewrite than I intended.

Bump date again.
 1.35  05-May-2016  salazar update struct nameidata documentation
 1.34  21-Apr-2015  wiz Bump date for previous.
 1.33  21-Apr-2015  riastradh Cull long-dead flags from namei(9) man page.
 1.32  21-Jun-2014  dholland Update a comment on a structure description. Noted by wiz a long time
ago.

does not seem to be worth bumping the date for.
 1.31  09-Apr-2013  njoly branches: 1.31.4;
Fix section (3 -> 2) in openat xref.
 1.30  05-Nov-2012  wiz Bump date for previous.
 1.29  05-Nov-2012  dholland Document NDAT(), and while here update some of the now-outdated
material in the namei man page. There's quite a bit more to be done.
 1.28  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.27  02-Dec-2010  wiz branches: 1.27.6; 1.27.12;
Remove boilerplate in CODE REFERENCES on file paths.
Describe in intro(9) how to read paths in the CODE REFERENCES section.
 1.26  19-Nov-2010  dholland bump date for previous (thanks jnemeth)
 1.25  19-Nov-2010  dholland Introduce struct pathbuf. This is an abstraction to hold a pathname
and the metadata required to interpret it. Callers of namei must now
create a pathbuf and pass it to NDINIT (instead of a string and a
uio_seg), then destroy the pathbuf after the namei session is
complete.

Update all namei call sites accordingly. Add a pathbuf(9) man page and
update namei(9).

The pathbuf interface also now appears in a couple of related
additional places that were passing string/uio_seg pairs that were
later fed into NDINIT. Update other call sites accordingly.
 1.24  27-Sep-2009  wiz Bump date for today's changes.
 1.23  27-Sep-2009  dholland Move a big wodge of symlink-following code from nfsd to inside
lookup_for_nfsd(). This code is, or at least should be, the same as
the regular symlink-following code plus an extra flag nfsd needs.

The two lots of code can/will be merged in the future.
 1.22  27-Sep-2009  dholland Rename lookup() to lookup_for_nfsd(), to make it clear just whose
private backdoor entry point this is.

Also, clone the lookup_for_nfsd() entry point as
lookup_for_nfsd_index(), for use by a different call site in nfsd that
does different unclean things with nameidata.
 1.21  29-Jun-2009  wiz Use more markup. Punctuation nit.
 1.20  29-Jun-2009  dholland Bump date for previous (thanks uebayasi@)
 1.19  29-Jun-2009  dholland Document namei_simple_kernel and namei_simple_user.
 1.18  30-Apr-2008  martin Convert TNF licenses to new 2 clause variant
 1.17  28-Dec-2007  pooka branches: 1.17.4; 1.17.6;
The leprechaun is dead, update interfaces.
 1.16  30-Jun-2007  pooka branches: 1.16.4;
Include struct componentname declaration in struct namei - it's
usually the more interesting of the two anyway.
 1.15  28-Jun-2007  pooka Fix description on what is returned locked and when.

noticed by Rumble
 1.14  23-Dec-2006  wiz Bump date for previous.
 1.13  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.12  03-Mar-2006  rumble branches: 1.12.6;
Update namei(9) comments and man page to indicate that we operate on
vnodes, not inodes.
 1.11  29-Jan-2006  rpaulo More ktrace-lwp that I got wrong in the first try.

Thanks to Gregory McGarry for pointing this out.
 1.10  20-Dec-2005  rpaulo Adapt man pages to ktrace-lwp.
 1.9  06-May-2003  jmmv Drop trailing whitespace. Reviewed by wiz.
 1.8  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.7  13-Apr-2003  dbj grammar nit. "set to." changed to "to which"
 1.6  06-Apr-2003  wiz Fix two typos, from Igor Sobrado in PR 19680.
 1.5  04-Feb-2003  perry "Utilize" has exactly the same meaning as "use," but it is more
difficult to read and understand. Most manuals of English style
therefore say that you should use "use".
 1.4  14-Oct-2002  wiz New sentence, new line.
 1.3  13-Feb-2002  ross Generate <>& symbolically. I'm avoiding .../dist/... directories for now.
 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.12.6.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.16.4.1  09-Jan-2008  matt sync with HEAD
 1.17.6.1  18-May-2008  yamt sync with head.
 1.17.4.1  02-Jun-2008  mjf Sync with HEAD.
 1.27.12.3  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.27.12.2  23-Jun-2013  tls resync from head
 1.27.12.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.27.6.2  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.27.6.1  16-Jan-2013  yamt sync with (a bit old) head
 1.31.4.1  10-Aug-2014  tls Rebase.
 1.37.4.1  21-Apr-2017  bouyer Sync with HEAD
 1.37.2.2  26-Apr-2017  pgoyette Sync with HEAD
 1.37.2.1  20-Mar-2017  pgoyette Sync with HEAD
 1.47.2.1  11-May-2017  pgoyette Sync with HEAD
 1.50.6.1  10-Jun-2019  christos Sync with HEAD

RSS XML Feed