While I was away from my computer, my encrypted USB drive got accidentally unmounted somehow (although it was still physically connected at the time). I haven't been able to recover (haven't tried a reboot yet). I have now completely disconnected the device, but I still get "Device or resource busy" when I try to remove the dangling entry in /dev/mapper. Can I reconnect and mount the drive without a reboot?
Here's what I have tried (long name changed to "xxxxx")...
$ sudo dmsetup ls luks-xxxxx (252:1) luks-yyyyy (252:0) $ sudo umount /dev/mapper/luks-xxxxx umount: /dev/mapper/luks-xxxxx: not mounted $ sudo fuser --kill /dev/mapper/luks-xxxxx $ echo $? 1 $ sudo dmsetup info -c luks-xxxxx Name Maj Min Stat Open Targ Event UUID luks-xxxxx 252 1 L--w 1 1 0 CRYPT-LUKS1-xxxxx-luks-xxxxx $ sudo dmsetup remove luks-xxxxx device-mapper: remove ioctl on luks-xxxx failed: Device or resource busy Command failed
After reconnecting the device...
$ sudo cryptsetup luksOpen "/dev/sde1" "luks-xxxxx" Device luks-xxxxx already exists.
[EDIT] I solved the problem, this time, by closing a GUI text editor which had no open files, but had been launched from a folder on the device in question. So the question becomes more specific: How can you identify which application is holding the device open?
Bear in mind that
lsof doesn't seem to present an easy solution because, once the device is disconnected, the associated names provided by
lsof no longer include the name of the disconnected device.