Hi all!
I came across a problem with TDE on FreeBSD (this is the only real problem I found, BTW):
- I have turned all automounters off, so nothing grabs the device before HAL can be used
to mount it.
- I plug in a USB storage media and then start "konqueror media:/".
- The storage media shows up as "16GB" (which is the name of the msdos volume)
unmounted
- Now I click on the "16GB" icon.
- konqueror gives the errormessage "mount_msdosfs: /dev/msdosfs/16GB: device
busy"
If I understand correctly, then "/sbin/mount_msdosfs" is used to mount devices
from HAL. I replaced /sbin/mount_msdosfs with a little helper and that gave me this
output:
Sun Jun 3 14:23:40 CEST 2018: /sbin/mount_msdosfs -o nosuid -o noatime /dev/msdosfs/16GB
/media/16GB
Sun Jun 3 14:23:42 CEST 2018: /sbin/mount_msdosfs -o nosuid -o noatime /dev/msdosfs/16GB
/media/16GB-1
Looks like konqueror calls "mount_msdosfs" twice for one click on the
"16GB"-icon. As you might have gussed, the first call actually succeeds, the
device is mounted, but the second call gives the errormessage that konqueror shows.
/dev/msdosfs/16GB on /media/16GB (msdosfs, local, noatime, nosuid)
I tried to fool konqueror by checking if the device is already mounted and then ignoring
the second call to mount_msdosfs. In a second atemt I umounted the previouse monted device
and mounted it agai. But both attemots lead to the errormessage 'tdelauncher: unknown
protocol ""'. Konqueror shows "media:/16GB" in the url, but no
content. After a reload (F5) konqueror shows the content of the device.
Oh, unmounting of the mounted device works as expected :-)
Any suggestions where and how to continue? My plan would be to take a look at
tdehardwarebackend.cpp and try to figure out what happens there - if that's the right
place to look.
Nik
--
Please do not email me anything that you are not comfortable also sharing with the NSA,
CIA ...
Show replies by date
I forgot:
mounting via tdeio_media_mounthelper works as expected:
tdeio_media_mounthelper -m /dev/msdosfs/16GB
Nik