[Bug 296291] cuse(3): cuse_server_free( ) busy-waits unkillably (pause("W")) when a c lient ref is not released on virtual_oss te ardown — process stuck in D, cuse.ko pinned , reboot required

[email protected]
Newsgroups gmane.os.freebsd.bugs
Message-ID <[email protected]/bugzilla/>
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=296291

John Baldwin <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #1 from John Baldwin <[email protected]> ---
I think the design flaw here is blocking in a cdevpriv destructor at all. 
Instead, whatever state is shared by multiple open fd's just needs to be
refcounted and the cdevpriv destructor needs to just drop the reference and
move on letting the backing object be deleted when it's references drops to
zero.

The problem is that someone needs to go read the cuse(4) code enough to
understand if we need to add a new ref count, and if so on what, and how to
handle tombstoning that state (if needed) from this particular cdevpriv
destructor.  I don't think trying to find other open references to forcefully
revoke them is the right path to pursue for fixing this vs using the more
typical ref count approach.

-- 
You are receiving this mail because:
You are the assignee for the bug.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.