Provide a way to free wedged devices and the processes with them open

Latest response

I see this infrequently (but enough to be annoying) but I know of no *nix OS that can help with this. The scenario is usually that a tape drive will get into trouble somehow and is manually freed (ejecting the tape, forcing offline etc etc), but because the driver was confused by the state the device file is still stuck being unusable (and any associated processed become hung and unkillable).


There should be someway of forceably freeing the device (and reinit'ing the driver) and telling the system just to kill processes that have this device open.


I'm sure this can happen with lots of other device types.


The only way out of this just now is a reboot.


I've had a similar problem before with a SCSI tape drive, and you can use the SCSI hotplug functionality to remove and readd the device, I think.

Here's a link from back in the day that talks about it a little bit on older versions of FC/RHEL.