udisks2 problem in Guymager - How to get Linux device for drives?

Guy genlist at faert.net
Thu Oct 29 14:42:58 PDT 2015


On 10/29/2015 10:02 PM, Thomas Gläßle wrote:
> Hey,
>
> I should add as disclaimer that I am only a udisks user, so you might 
> very well know more about this topic than I do and I am not qualified 
> to give you definite answers, very sorry :(.
We're sitting in the same boat then...

No need to be sorry. Thanks for your answers!

>
> I responded to the best of my knowledge anyway, because I got very 
> little response from current maintainer myself (I submitted a patch 
> unanswered and waiting to be reviewed for 4 months now).
Bad news!

>
>
> Guy wrote on 10/29/2015 07:45 PM:
>> On 10/29/2015 01:33 AM, Thomas Gläßle wrote:
>>> I'd look for partitions that are not "child" partitions, i.e. the 
>>> devices that do not export the Partition interface or have 
>>> Partition.Table is set to "/" and Partition.IsContained set to false.
>> Hm, I can see no clear rule...   may I ask you to look at the 
>> following example. I have 3 devices:
>> - a hard drive; it has a partition table and several partitions
>> - an USB stick; it doesn't have a partition table but it anyway has a 
>> partition starting directly at sector 0
>> - the same USB stick, but without partition table nor partition
>
> Maybe I'm missing something, doesn't my suggestion apply here too? 
> Take the device that
>
>    (has no interface Partition
>           OR (partition.Table="/" AND Partition.IsContained=false))
>     AND CryptoBackingDevice="/"
>
>
>> Honestly, I hope this still works for media with partition table but 
>> unformatted partitions, or media where the partition contains another 
>> partition table (everything is possible), or RAID devices, or...
> Yeah, I can't promise the above rule will work in every case. For RAID 
> devices it will most likely fail and you'd have to include the 
> Block.MDRaid or Block.MDRaidMember properties to fix it.
>
>
>> This leaves me with a strange feeling... can I rely on udisks2? With 
>> old udisks I just needed method EnumerateDevices, then I ran through 
>> the list and queried every property I needed - btw, "device-file" was 
>> my precious Linux device.
>>
>> Why not just include property "Device" for drives?
>>
>> Another problem I saw right now: I can't find the sector size 
>> (property "device-block-size" in udisks).
> I'm not sure, sorry. From my experience udisks2 has a lot of 
> advantages over old udisks. In particular, its API addresses the 
> intrinsic asynchronousity of the domain a lot better, but I can't deny 
> either that there are some shortcomings too. You could try to patch 
> what you need on your own and try to get it included. But in that 
> case, it will still probably take a lot of time until most 
> distributions upgrade to the new udisks2 version.
>
>
>>> Furthermore, Block.CryptoBackingDevice should be "/", but from my 
>>> experience you don't have to worry about that, since UDisks doesn't 
>>> set the Block.Drive for unlocked devices (although that might be 
>>> subject to change or even just a bug?).
>>>
>>> I'm not sure this covers all cases, but at least these are the 
>>> properties that I'm currently using in udiskie.
>> That's exactly the problem I have. Guymager is a forensic software; I 
>> *need t be sure*.
>>
>
> I see. You probably need someone else's advice. By the way, you didn't 
> respond to the mailing list and I wasn't sure if that was your 
> intention. If not, you should just send it again on the mailing list 
> and try to ask for someone more familiar with udisks internals.
In deed, not my intention... I'll send it again.

Thanks!

Guy

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/devkit-devel/attachments/20151029/4dc49621/attachment.html>


More information about the devkit-devel mailing list