The udev rules for detecting OS'es are too complicated and they also don't work when detecting OS'es on e.g. a loop device. For example, the stuff about DISK_MEDIA_CHANGE is kinda wrong The latter is pretty annoying as the default action in F18 for an .ISO file is to loopback mount it - as a result the user is presented with "Open with Files" instead of "Open with Boxes". All you need is this simple rule SUBSYSTEM=="block", ACTION=="add|change", ENV{ID_FS_TYPE}=="iso9660|udf", IMPORT{program}="/usr/bin/osinfo-detect -f env $tempnode"
Forwarded this change upstream https://www.redhat.com/archives/virt-tools-list/2012-October/msg00057.html
This was applied upstream and is in F18/rawhide