Vnode API change: mnt_vnodelist traversal

2014-03-03 Thread J. Hannken-Illjes
Current support for iterating over mnt_vnodelist (the list of vnodes attached to a specific mount point) is rudimentary. All we have is vmark() / vunmark() to set a marker on the list. Every caller has to care about list and vnode mutexes, reference count being zero, intermediate vnode states

Re: Vnode API change: mnt_vnodelist traversal

2014-03-03 Thread Taylor R Campbell
Date: Mon, 3 Mar 2014 11:11:04 +0100 From: J. Hannken-Illjes hann...@eis.cs.tu-bs.de Add an interface to iterate over a vnode list: void vfs_vnode_iterator_init(struct mount *mp, void **marker) void vfs_vnode_iterator_destroy(void *marker) bool

Re: Vnode API change: mnt_vnodelist traversal

2014-03-03 Thread J. Hannken-Illjes
On Mar 3, 2014, at 3:28 PM, Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: Date: Mon, 3 Mar 2014 11:11:04 +0100 From: J. Hannken-Illjes hann...@eis.cs.tu-bs.de Add an interface to iterate over a vnode list: void vfs_vnode_iterator_init(struct mount *mp, void

Re: Vnode API change: mnt_vnodelist traversal

2014-03-03 Thread Taylor R Campbell
Date: Mon, 3 Mar 2014 15:55:16 +0100 From: J. Hannken-Illjes hann...@eis.cs.tu-bs.de On Mar 3, 2014, at 3:28 PM, Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: /* mount.h */ struct vnode_iterator; /* opaque */ void vfs_vnode_iterator_init(struct mount

Re: Vnode API change: mnt_vnodelist traversal

2014-03-03 Thread Taylor R Campbell
Date: Mon, 3 Mar 2014 16:19:40 +0100 From: J. Hannken-Illjes hann...@eis.cs.tu-bs.de On Mar 3, 2014, at 4:11 PM, Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: That is exactly what I was going for, except with a typed pointer instead of a void pointer. Please

Re: Vnode API change: mnt_vnodelist traversal

2014-03-03 Thread J. Hannken-Illjes
On Mar 3, 2014, at 4:11 PM, Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: Date: Mon, 3 Mar 2014 15:55:16 +0100 From: J. Hannken-Illjes hann...@eis.cs.tu-bs.de On Mar 3, 2014, at 3:28 PM, Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: /* mount.h */

Re: Vnode API change: mnt_vnodelist traversal

2014-03-03 Thread J. Hannken-Illjes
On Mar 3, 2014, at 4:25 PM, Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: Date: Mon, 3 Mar 2014 16:19:40 +0100 From: J. Hannken-Illjes hann...@eis.cs.tu-bs.de On Mar 3, 2014, at 4:11 PM, Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: That is exactly

Re: Vnode API change: mnt_vnodelist traversal

2014-03-03 Thread David Laight
On Mon, Mar 03, 2014 at 03:55:12PM +0100, J. Hannken-Illjes wrote: On Mar 3, 2014, at 11:32 AM, Thomas Klausner w...@netbsd.org wrote: On Mon, Mar 03, 2014 at 11:11:04AM +0100, J. Hannken-Illjes wrote: A diff implementing this and using it for those operations running vrecycle() is at

Re: Vnode API change: mnt_vnodelist traversal

2014-03-03 Thread Taylor R Campbell
Date: Mon, 3 Mar 2014 17:20:43 +0100 From: J. Hannken-Illjes hann...@eis.cs.tu-bs.de New diff at http://www.netbsd.org/~hannken/vnode-pass4-3.diff Looks good to me now, assuming all tests pass with it. (Do we have any automatic tests for ffs_reload c.?) The lfs changes look suspect --