Comment 7 for bug 660010

Revision history for this message
Martin Pitt (pitti) wrote :

It's not really about "system internal". The difference is that "ejection" is for media, while "removal" is for drives. I. e. you usually eject a CD from a drive, and you usually remove an USB stick. It becomes more interesting with devices which are both hotpluggable and removable, such as USB card readers or USB CD-ROMs.

On a technical level the difference manifests like this: Suppose you have a drive (/dev/sdb) with a medium with one partition in it (/dev/sdb1). After eject, /dev/sdb1 will go away, and you can use /dev/sdb to query the drive status. Also, the drive remains powered. After "safe removal", both medium and drive will go away (no /dev/sdb* any more), and the drive will also be powered off properly (which also helps saving energy).

In general, using "Eject" on USB sticks and other hotpluggable drives will usually work fine, and never cause a problem with data integrity. The main reason why we still have it separately is for things like iPods, which really want to be removed (not just media ejected), otherwise they make a big fuss about "Wah! Wah! Don't unplug me yet!". Conversely, we can't just have "save removal" only, since that would stop the drive from being able to be ever used again until the next boot.