mediascanner prevents unmounting usb device

Bug #1310186 reported by Timo Kluck on 2014-04-20
48
This bug affects 10 people
Affects Status Importance Assigned to Milestone
mediascanner2 (Ubuntu)
Critical
Unassigned
Nominated for Xenial by Alberto Salvia Novella
Nominated for Yakkety by Alberto Salvia Novella

Bug Description

Trying to unmount a block device I just mounted, I get the following error (sorry for not resetting the locale. It says "Device is busy"):

:~$ sudo umount /media/tkluck/tjk-backup
umount2: Apparaat of hulpbron is bezig
umount: /media/tkluck/tjk-backup: apparaat is bezig
        (Welke processen het apparaat gebruiken kan mogelijk
         gevonden worden met behulp van lsof(8) of fuser(1).)
umount2: Apparaat of hulpbron is bezig

I get the same error in a dialog window when trying to unmount from the file manager.

Using lsof shows that the media-scanner daemon is the culprit:

tkluck@ultrabook-tjk:~$ lsof /media/tkluck/tjk-backup
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mediascan 2898 tkluck 16r DIR 252,3 249856 2 /media/tkluck/tjk-backup
mediascan 2898 tkluck 17r DIR 252,3 4096 50855937 <REDACTED>
mediascan 2898 tkluck 18r DIR 252,3 4096 39080372 <REDACTED>
mediascan 2898 tkluck 19r DIR 252,3 12288 39080513 <REDACTED>
mediascan 2898 tkluck 20r DIR 252,3 20480 39080525 <REDACTED>
mediascan 2898 tkluck 21r DIR 252,3 4096 46792990 <REDACTED>
mediascan 2898 tkluck 22r DIR 252,3 4096 46792991 <REDACTED>
mediascan 2898 tkluck 23r DIR 252,3 16384 46793749 <REDACTED>
mediascan 2898 tkluck 24r DIR 252,3 4096 47317994 <REDACTED>
mediascan 2898 tkluck 25r DIR 252,3 4096 47317997 <REDACTED>
mediascan 2898 tkluck 26r DIR 252,3 4096 47317999 <REDACTED>

Sending it

sudo kill -9 2898

solved this for me.

This is on Ubuntu GNOME 14.04. I uninstalled the mediascanner2.0 to solve this "once and for all" (which has no other impact since I do not use Unity).

My guess is that the scan usually finishes quickly after mounting. But because this particular drive contains a big filetree, it doesn't, resulting in the issue.

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in mediascanner2 (Ubuntu):
status: New → Confirmed
Andreas E. (andreas-e) wrote :

I wonder what is the benefit of scanning external drives that are mounted only temporarily, especially when connecting other people's USB sticks.

Since mediascanner is a process that was not launched manually by the user, the confirmation on removal (device busy) is redundant, instead mediascanner could probably shutdown silently whenever unmounting of the device is requested (ie. unmounting should be done by no more than one click in nautilus sidebar etc.).

The risk of bricking your own or even worse other people's USB stick by improper removal (if a process is unperceivedly still running on the drive) is too high so that it is questionable whether mediascanner should run at all on external drives. I think this is a very critical situation.

Still applies to Ubuntu 16.10 with mediascanner2 version 0.112+16.10.20160909-0ubuntu1.

tags: added: xenial yakkety
Changed in mediascanner2 (Ubuntu):
importance: Undecided → Medium
importance: Medium → High
importance: High → Critical
Michi Henning (michihenning) wrote :

It's difficult to see how to fix this. External devices are scanned because people quite often use USB sticks or external drives with their music collections.

I'm not sure whether it is even possible for mediascanner to find out that some other arbitrary process has asked for a filesystem to be unmounted. If so, the daemon could back off. If not, I don't know what else it could/should do.

For what it's worth, placing a file called .nomedia into a directory prevents scanning of that directory (and all its subdirectories).

Changed in mediascanner2 (Ubuntu):
status: Confirmed → Triaged
Michi Henning (michihenning) wrote :

There doesn't appear to be a way to be notified of unmount attempts at the moment. There is an fschange modification about ten years ago (http://stefan.buettcher.org/cs/fschange/), but that never made it into the kernel.

It looks like it's impossible for mediascanner to automatically back off when an unmount attempt is made.

You can kill the mediascanner process and then unmount. (Not of much help to naive user, I admit.)

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers