Такая задача: нужно узнать, какие процессы обращаются к блочному устройству по имени устройства. Если устройство смонтировано, то ничего сложного нет:
# mount | grep files
/dev/mapper/data-files on /srv/data/encrypted/files type ext4 (rw)
/srv/data/encrypted/files on /srv/data/decrypted/files type ecryptfs (rw,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs,ecryptfs_sig=xxx,ecryptfs_fnek_sig=xxx)
# fuser -m /srv/data/decrypted/files/
/srv/data/decrypted/files/: 12556c 22267c
Но нужно узнать именно по блочному устройству (т.е. по /dev/mapper/data-files). А то:
# fuser -m /srv/data/decrypted/files/
/srv/data/decrypted/files/: 12556c 22267c
# mount | grep files
/dev/mapper/data-files on /srv/data/encrypted/files type ext4 (rw)
/srv/data/encrypted/files on /srv/data/decrypted/files type ecryptfs (rw,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs,ecryptfs_sig=xxx,ecryptfs_fnek_sig=xxx)
# umount -lf /srv/data/decrypted/files
# umount -lf /srv/data/encrypted/files
# mount | grep files
# fuser -m /srv/data/decrypted/files/
# lvremove -f /dev/mapper/data-files
Can't remove open logical volume "files"
# dmsetup info -c /dev/mapper/data-files
Name Maj Min Stat Open Targ Event UUID
data-files 254 4 L--w 1 1 0 LVM-nG1D7453QZtMfseHugl53dA9Nz40X4hs3WZhuP1zp9L0JMATgjNoLpzW1nsP0RPF
# kill -9 22267
# kill -9 12556
# lvremove -f /dev/mapper/data-files
Logical volume "files" successfully removed
Т.е. несмотря на то, что ФС были отмонтированы (не важно почему), остались процессы, блокирующие блочное устройство. И нужно как раз научится их выявлять. Да, система такая, если не очень понятно: поверх ext4 на LVM томе смонтирована eCryptFS, на которой и происходит работа с файлами.