Clearing the unr in tmpfs_unmount is not correct. In the case of
multiple references to the tmpfs mount (e.g. when there are lookup
threads using it) it will not be the one to finish tmpfs_free_tmp. In
those cases tmpfs_free_node_locked will be the final one to execute
tmpfs_free_tmp, and until then the unr must be valid.
Details
Details
- Reviewers
rstone - Commits
- rS324921: Move clear_unrhdr to tmpfs_free_tmp.
This was originally reported and reproduced by pho using his stress2/misc/
tmpfs* tests. It is trivially reproduced with e.g. tmpfs13.sh, and the
problem does not reproduce after the change. pho offered to run some more
stress tests on the change. All of his tmpfs tests passed.
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 12159 Build 12460: arc lint + arc unit