There is no robust way how udisks could do this, but on the upstream systemd list we discussed how to do this cleanup under systemd. For udev under upstart there is a hack to call "eject" instead of "cdrom_id --eject" in the udev rule for the eject request, but this relies on udev not running under an unshared mount namespace (i. e. a patch we have in Debian/Ubuntu). I'll look into fixing this the proper way.
There is no robust way how udisks could do this, but on the upstream systemd list we discussed how to do this cleanup under systemd. For udev under upstart there is a hack to call "eject" instead of "cdrom_id --eject" in the udev rule for the eject request, but this relies on udev not running under an unshared mount namespace (i. e. a patch we have in Debian/Ubuntu). I'll look into fixing this the proper way.