Udisks2 looks at the ID_SERIAL_SHORT property to set the serial of a drive in the generic case, but virtio devices only have a ID_SERIAL property. This happens with udisks2-2.0.1-1.fc18.x86_64 on Fedora 18.
On the one side you can argue that it's a bug in whatever qemu udev rule / helper insofar that it doesn't set ID_SERIAL_SHORT. But I think it's easier to just make udisks2 look at ID_SERIAL in the case that ID_SERIAL_SHORT is not set. Would be good to fix for the upcoming 2.1 release (probably cherry-pickable to the udisks-2-0 branch as well). Cheers.
Fixed in master.
Verified, thanks!
I'm sorry for reopening this bug, but I think udisks was the wrong place to fix the problem. With this patch applied it's not possible to distiguish between devices that don't have any serial number and devices that do. This is a problem when using polit with udisks, as you never know if you see the real serial number of the device or not (and thus potentially blocking devices that you didn't want to block). Probably the easiest solution for satisfying both use cases would be to present both values to the user - users only interested in any string or incomplete information could use the ID_SERIAL based value, users interested in the real ID could use ID_SERIAL_SHORT's value. However I still think the best way would be to fix the problem at it's source instead and revert this patch... (I am aware I could rebuild udev's ID_SERIAL string with the information provided by udisks and then check if it matches udisks serial, but that sounds more like a workaround than a recommended way ;-))
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.