"This is patch 3. Fix locking for root vnode in kernfs and procfs.
Remove a bogus VOP_UNLOCK from kernfs. This is meaningless without real
locks, but it's less painful to fix this first. It also fixes a memory
leak in procfs_umount. Only affects kernfs and procfs."
There may be room for improvement with this patch.
I think it's good to keep a pointer to the root vnode. But if we always
ref it (procfs) we have to rele before calling flushing, which complicates
the error path. kernfs does this in a better way I think, but the vnode
might get reclaimed on us. The old way was to regenerate the vnode for
each call of root(). Maybe we should stick with that, but make sure it's
locked? I was trying to ensure two of the same vnode aren't made.
Patch as provided works well enough, but it's something to consider.
--
"The brave men who died in Vietnam, more than 100% of which were
black, were the ultimate sacrifice."
- M. Barry, Mayor of Washington, DC
Received on Mon Dec 30 01:09:43 2002
This archive was generated by hypermail 2.1.8
: Wed Aug 23 2006 - 13:29:43 EDT
|