Why is my block device busy?

Adam Trhon adam.trhon at tbs-biometrics.com
Fri Jan 24 04:36:06 EST 2020


thank you, I figured out that the partition is mounted in initramfs and
not unmounted before the main system is started. When I manually unmount
the partition in initramfs, the problem goes away.

On Tue, 21 Jan 2020 12:50:41 -0500
"Valdis Klētnieks" <valdis.kletnieks at vt.edu> wrote:

> You should also check with 'cat /proc/mounts'.

I checked and it is not there.

> > Next I modified the ext driver to print stack when mounting, and I got:
> >
> > Call Trace:
> >  ? ext4_calculate_overhead+0x520/0x520
> >  mount_bdev+0x15a/0x180  
> Looks like what I'd expect to see when in the mount syscall.  What were
> you expecting to see here?

I expected the mount to be done by kernel itself, as I forgot about
initramfs, and that the stack trace would point me to the procedure that
does it in the kernel. Wrong guess :)

One more question, since I have another project that seldomly behaves
similarly, and I have had no luck with diagnostics so far. Is there a
way how to detect this problem (partition mounted, but not shown in
/proc/mounts) from the main system?

Thank you and best regards

Ing. Adam Trhoň, Software Engineer
Touchless Biometric Systems s.r.o. | 
Palackého třída 180/44 | 61200 Brno | CZECH REPUBLIC | 
Mobile: +42(0) 721 565 113 | tbs-biometrics.cz

More information about the Kernelnewbies mailing list