Details
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
I have added D27457.80263.diff to another test I'm running on mercat1. Uptime is 16 hours.
I don't think closing these gaps requires a review.
I do think the gaps make it more of a point to introduce some form of vnode transition state tracking where filesystems have to explicitly denote when it got constructed, which would automatically take care of all these problems.
These updates look needed and correct.
I concur with mjg that it would be helpful to introduce some form of vnode transition state tracking where filesystems have to explicitly denote when it got constructed, which would automatically take care of all these problems. Unfortunately, I do not see an easy way to accomplish this state transition tracking.
Consider that i_mode == 0 is already the 'transient' mark. So how VFS could utilize this ?
VFS_VGET() must be able to return such vnodes, because instantiation of newly allocated inode works this way. With that change to vput(), I do not see how could this be handled otherwise, without introducing even more boilerplate code in unrelated places.