Active Repositories
Recent Activity
Today
updated diff -U 99999
Updated diff -U99999
Latest driver IPSEC support code.
In D45119#1029846, @markj wrote:In D45119#1029542, @kib wrote:In D45119#1029511, @markj wrote:I do not see how this solves the problem that @pho found. There, vm_map_process_deferred() was releasing writecounts, and in one case the backing vnode was doomed, so OBJ_TMPFS_VREF was clear.
Do you mean https://people.freebsd.org/~pho/stress/log/log0518.txt? I agree that this is different. But for me, log0518 states that clearing of OBJ_TMPFS_VREF and clearing of node->tn_vnode are not atomic (and really cannot be). So the assert "object with writable mappings does not have a reference" should be removed, because indeed vp might be in process of reclaim or the pointer to vp might be already invalid.
Yes, but that isn't sufficient. Consider that tmpfs_pager_writecount_recalc() will vrele() the vnode if the writecount drops to 0, which is incorrect if the TMPFS_VREF flag is already clear.
Thanks for picking this up, you went a similarly direction to what I was thinking, but I've been at a conference and traveling home so distracted.
@dev_submerge.ch Can you test that this and D45151 fix the problem? I cannot reproduce it right now.