So, based on all this I think the only viable approach is to
1. Add a note to the docs DriveDetach() saying that the drive, while
detachable, may be located inside the box. E.g. basically recommend
that policy agents only call DriveDetach() when the user specifically
asked to "Safely Remove Hardware"
2. Fix up GVfs/Nautilus so we never call DriveDetach() when the user presses
the "Eject" button - e.g. only when the user chooses the "Safely Remove
Hardware", we call DriveDetach().
3. In the future we could add a DriveIsOnExternalPort boolean property that
is set to TRUE if, and only if, we are 100% the port is external.
So, based on all this I think the only viable approach is to
1. Add a note to the docs DriveDetach() saying that the drive, while
detachable, may be located inside the box. E.g. basically recommend
that policy agents only call DriveDetach() when the user specifically
asked to "Safely Remove Hardware"
2. Fix up GVfs/Nautilus so we never call DriveDetach() when the user presses
the "Eject" button - e.g. only when the user chooses the "Safely Remove
Hardware", we call DriveDetach().
3. In the future we could add a DriveIsOnExtern alPort boolean property that
is set to TRUE if, and only if, we are 100% the port is external.
Thoughts?