NetBSD/share/man
hannken 72439b7dc8 Current support for iterating over mnt_vnodelist is rudimentary. Every
caller has to care about list and vnode mutexes, reference count being zero,
intermediate vnode states like VI_CLEAN, VI_XLOCK, VI_MARKER and so on.

Add an interface to iterate over a vnode list:

void vfs_vnode_iterator_init(struct mount *mp, struct vnode_iterator **marker)
void vfs_vnode_iterator_destroy(struct vnode_iterator *marker)
bool vfs_vnode_iterator_next(struct vnode_iterator *marker, struct vnode **vpp)

vfs_vnode_iterator_next() returns either "false / *vpp == NULL" when done
or "true / *vpp != NULL" to return the next referenced vnode from the list.

To make vrecycle() work in this environment change it to

bool vrecycle(struct vnode *vp)

where "vp" is a referenced vnode to be destroyed if this is the last reference.

Discussed on tech-kern.

Welcome to 6.99.34
2014-03-05 09:37:29 +00:00
..
man0 Rename NetBSD/hp700 to NetBSD/hppa. 2014-02-24 07:23:38 +00:00
man1 .Xr intro(3lua) and intro(9lua) 2013-10-26 08:37:58 +00:00
man2 Note that si_addr may be inaccurate on certain architectures. 2012-04-23 17:44:39 +00:00
man3 Very slightly more consistency in ordering in SYNOPSIS. 2013-11-28 16:45:36 +00:00
man3lua Use 5.2 usage pattern in the synopsis. 2014-01-07 21:54:17 +00:00
man4 Prefix link to cpsw with 'evbarm'. 2014-03-03 09:10:46 +00:00
man5 Document random_seed and random_file. 2014-01-15 11:42:43 +00:00
man6
man7 Rename NetBSD/hp700 to NetBSD/hppa. 2014-02-24 07:23:38 +00:00
man8 Rename NetBSD/hp700 to NetBSD/hppa. 2014-02-24 07:23:38 +00:00
man9 Current support for iterating over mnt_vnodelist is rudimentary. Every 2014-03-05 09:37:29 +00:00
man9lua Remove core.9lua, now called systm.9lua. 2014-01-06 13:05:47 +00:00
tools
Makefile eliminate use of bsd.sys.mk from Makefiles 2014-01-16 01:15:32 +00:00