Page MenuHomeFreeBSD

In g_newprovider_event() return if G_P_WITHER is set
ClosedPublic

Authored by trasz on Nov 23 2020, 1:21 PM.
Tags
None
Referenced Files
F107284809: D27330.diff
Sat, Jan 11, 11:41 PM
Unknown Object (File)
Sun, Dec 29, 9:52 AM
Unknown Object (File)
Nov 3 2024, 5:08 PM
Unknown Object (File)
Nov 3 2024, 4:45 PM
Unknown Object (File)
Oct 31 2024, 6:09 PM
Unknown Object (File)
Oct 14 2024, 11:20 AM
Unknown Object (File)
Oct 3 2024, 6:50 AM
Unknown Object (File)
Oct 1 2024, 6:16 AM
Subscribers

Details

Summary

In g_newprovider_event() return if G_P_WITHER is set.

This fixes a failed assertion in scenario where the provider
disappears, disk_gone() gets called, and at the exact same
time something else closes the device node triggering a retaste.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 34972
Build 31965: arc lint + arc unit

Event Timeline

trasz requested review of this revision.Nov 23 2020, 1:21 PM
trasz created this revision.

Looks good. Few places that call it also check for G_PF_WITHER, but they are using g_post_event() for it, that opens a race window.

This revision is now accepted and ready to land.Nov 23 2020, 2:42 PM