[Libvirt-cim] [PATCH 1 of 3] Cleanup device_type_from_poolid() in DevicePool

Kaitlin Rupert kaitlin at linux.vnet.ibm.com
Fri Dec 21 17:10:56 UTC 2007


Dan Smith wrote:
> KR> The change to "from_str()" here is so that one would be able to
> KR> pass the classname in.  The logic for determining the device /
> KR> pool type is the same for the InstanceID and the classname.
> 
> Right, but we could potentially need to look at more of the ID in some
> cases to determine the type, right?  If we had disk pools that
> represent LVMs separately from file images or something like that.  I
> suppose it's reasonable to think that the classname would always
> indicate the subtype, but it just seems cleaner to me to always do it
> From an ID.

Ah, yes - this is a really good point.

Hmm.. cu_compare_ref() seems like it could be used , except that the 
handler would need to construct an instance just for the purpose of 
comparing it against the ref, which seems a little unnecessary to me.

It's probably best to leave device_type_from_poolid() as is, but devise 
some other way to further make sure the ref is a valid one.

Ideally, GetInstance() from Virt_DevicePool should be able to check 
whether the ref is valid.  However GetInstance() also supports refs with 
mis-matching InstanceIDs and class types.  =)  So, if this issue is 
fixed in Virt_DevicePool, the same logic / function could be reused in 
RAFP and EAFP.

I'll see if I can cook up something a little more elegant in 
Virt_DevicePool.  Thanks for the feedback! =)

-- 
Kaitlin Rupert
IBM Linux Technology Center
karupert at us.ibm.com




More information about the Libvirt-cim mailing list