Page MenuHomeFreeBSD

vfs: fully lockless v_writecount adjustment
ClosedPublic

Authored by mjg on Nov 26 2021, 1:03 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Jan 28, 12:37 AM
Unknown Object (File)
Mon, Jan 27, 12:33 AM
Unknown Object (File)
Jan 3 2025, 4:15 AM
Unknown Object (File)
Dec 21 2024, 3:31 AM
Unknown Object (File)
Nov 26 2024, 3:34 AM
Unknown Object (File)
Oct 28 2024, 4:27 AM
Unknown Object (File)
Oct 10 2024, 1:02 AM
Unknown Object (File)
Sep 27 2024, 2:32 AM
Subscribers

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

mjg requested review of this revision.Nov 26 2021, 1:03 PM
mjg updated this revision to Diff 99051.
  • upload correct patch
sys/kern/vfs_default.c
1322

Isn't this unsafe? You should ref the vnode before adding 1 to execcount if you ever saw n == 0, and rollback before returning if actually used cmpset was for n < 0.

sys/kern/vfs_default.c
1322

this can only be a problem if someone bogusly adjusts writecount back to 0, but i can make the change if you insist

mjg retitled this revision from vfs: fully lockless v_writecount adjustmen to vfs: fully lockless v_writecount adjustment.
This revision is now accepted and ready to land.Nov 27 2021, 9:22 PM
This revision was automatically updated to reflect the committed changes.