I am interested, but I lack significant vnode clue. So, sorry if answers are obvious - they are not to me.
About the only situation I ever (and it is almost reproducable at will), in daily life, wanted to use forced unmounts instead of rebooting a machine (or before the machine rebooted itself in direct consequence of the bug that caused the inital issue) is a NFS mount combined with what probably are network driver bugs (or maybe hardware). I have multiple NFS servers where I better force all clients to use TCP or smaller write windows, otherwise the clients will lock up on bigger writes. AFAICT the nfs level creates the necessary packets (repeataly, after appropriate timeouts etc.) and passes them to the driver, but the driver (or the hardware, and most likely it is the receiving side on the server) reproducably drops them, so no progress overall happens. Would this situation be fixed by your patch or would the nfs layer still hold the reader lock? Martin