In a experimental customized FreeBSD 14.1 system, umount becomes unresponsive on the CLI. This happens at random, about once per 5 times. The device is a USB-backed md-device with a FAT32 partition that's mounted using mount_msdosfs. After a few times mount/umount, it's getting geom write errors: g_vfs_done():md6[WRITE(offset=281918976, length=16384)]error = 5. This is of later concern, but at that point, umount freezes and becomes a zombie process. Here, I can also remove the md device on forehand,using mdconfig -o force -d -u md6 but then the mount keeps on existing and can't be removed.
Without forced deleting the md-device before trying to unmount it, it returns device busy" on everything, also while using the -f option.
Is there any 'checklist' to find out what is still using a device and prevent it from being unmounted? fstat and geom status, as well as the system log don't show anything that could cause it. If a device is lost and can be forgotten, why can't I get rid of anything related to it? A frozen umount process, not doing anything and having no target device, shouldn't the system just be able to drop this, regardless of any write errors that happened? What is blocking it? A kernel subroutine with no solution?
Without forced deleting the md-device before trying to unmount it, it returns device busy" on everything, also while using the -f option.
Is there any 'checklist' to find out what is still using a device and prevent it from being unmounted? fstat and geom status, as well as the system log don't show anything that could cause it. If a device is lost and can be forgotten, why can't I get rid of anything related to it? A frozen umount process, not doing anything and having no target device, shouldn't the system just be able to drop this, regardless of any write errors that happened? What is blocking it? A kernel subroutine with no solution?