rpms/libvirt-cim/F-9 rasdns.patch, NONE, 1.1 libvirt-cim.spec, 1.13, 1.14

Dan Smith (danms) fedora-extras-commits at redhat.com
Fri May 30 18:11:30 UTC 2008


Author: danms

Update of /cvs/pkgs/rpms/libvirt-cim/F-9
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv7179

Modified Files:
	libvirt-cim.spec 
Added Files:
	rasdns.patch 
Log Message:
Add another patch and fix schema registration


rasdns.patch:

--- NEW FILE rasdns.patch ---
# HG changeset patch
# User Kaitlin Rupert <karupert at us.ibm.com>
# Date 1212155823 25200
# Node ID 5b89d6aa5816613627a2869d8c72bde37a9f2e2c
# Parent  bebc49d05ccd893020673286905d5c64f652cd62
Set namespace of object path in rasd_to_vdev()

This was being done in classify_resources(), however, rasd_to_vdev() needs to set this value because a call to CMGetObjectPath() strips the instance of it's namespace.

Functions that call rasd_to_vdev() need to pass in the namespace, so those are updated as well.

Signed-off-by: Kaitlin Rupert <karupert at us.ibm.com>

diff -r bebc49d05ccd -r 5b89d6aa5816 src/Virt_VirtualSystemManagementService.c
--- a/src/Virt_VirtualSystemManagementService.c	Thu May 29 14:48:41 2008 -0700
+++ b/src/Virt_VirtualSystemManagementService.c	Fri May 30 06:57:03 2008 -0700
@@ -487,7 +487,8 @@

 static const char *rasd_to_vdev(CMPIInstance *inst,
                                 struct domain *domain,
-                                struct virt_device *dev)
+                                struct virt_device *dev,
+                                const char *ns)
 {
         uint16_t type;
         CMPIObjectPath *op;
@@ -498,6 +499,9 @@
                 msg = "Unable to get path for device instance";
                 goto out;
         }
+
+        CMSetNameSpace(op, ns);
+        CMSetObjectPath(inst, op);

         if (res_type_from_rasd_classname(CLASSNAME(op), &type) != CMPI_RC_OK) {
                 msg = "Unable to get device type";
@@ -553,9 +557,6 @@
                 if (op == NULL)
                         return "Unknown resource instance type";

-                CMSetNameSpace(op, ns);
-                CMSetObjectPath(inst, op);
-
                 if (res_type_from_rasd_classname(CLASSNAME(op), &type) != 
                     CMPI_RC_OK)
                         return "Unable to determine resource type";
@@ -563,19 +564,23 @@
                 if (type == CIM_RES_TYPE_PROC)
                         msg = rasd_to_vdev(inst,
                                            domain,
-                                           &domain->dev_vcpu[domain->dev_vcpu_ct++]);
+                                           &domain->dev_vcpu[domain->dev_vcpu_ct++],
+                                           ns);
                 else if (type == CIM_RES_TYPE_MEM)
                         msg = rasd_to_vdev(inst,
                                            domain,
-                                           &domain->dev_mem[domain->dev_mem_ct++]);
+                                           &domain->dev_mem[domain->dev_mem_ct++],
+                                           ns);
                 else if (type == CIM_RES_TYPE_DISK)
                         msg = rasd_to_vdev(inst,
                                            domain,
-                                           &domain->dev_disk[domain->dev_disk_ct++]);
+                                           &domain->dev_disk[domain->dev_disk_ct++],
+                                           ns);
                 else if (type == CIM_RES_TYPE_NET)
                         msg = rasd_to_vdev(inst,
                                            domain,
-                                           &domain->dev_net[domain->dev_net_ct++]);
+                                           &domain->dev_net[domain->dev_net_ct++],
+                                           ns);

                 if (msg != NULL)
                         return msg;
@@ -872,7 +877,8 @@
 typedef CMPIStatus (*resmod_fn)(struct domain *,
                                 CMPIInstance *,
                                 uint16_t,
-                                const char *);
+                                const char *,
+                                const char*);

 static struct virt_device **find_list(struct domain *dominfo,
                                       uint16_t type,
@@ -966,7 +972,8 @@
 static CMPIStatus resource_del(struct domain *dominfo,
                                CMPIInstance *rasd,
                                uint16_t type,
-                               const char *devid)
+                               const char *devid,
+                               const char *ns)
 {
         CMPIStatus s;
         CMPIObjectPath *op;
@@ -1013,7 +1020,8 @@
 static CMPIStatus resource_add(struct domain *dominfo,
                                CMPIInstance *rasd,
                                uint16_t type,
-                               const char *devid)
+                               const char *devid,
+                               const char *ns)
 {
         CMPIStatus s;
         CMPIObjectPath *op;
@@ -1060,7 +1068,7 @@

         dev->type = type;
         dev->id = strdup(devid);
-        rasd_to_vdev(rasd, dominfo, dev);
+        rasd_to_vdev(rasd, dominfo, dev, ns);

         s = _resource_dynamic(dominfo, dev, RESOURCE_ADD, CLASSNAME(op));
         if (s.rc != CMPI_RC_OK)
@@ -1078,7 +1086,8 @@
 static CMPIStatus resource_mod(struct domain *dominfo,
                                CMPIInstance *rasd,
                                uint16_t type,
-                               const char *devid)
+                               const char *devid,
+                               const char *ns)
 {
         CMPIStatus s;
         CMPIObjectPath *op;
@@ -1109,7 +1118,7 @@
                 struct virt_device *dev = &list[i];

                 if (STREQ(dev->id, devid)) {
-                        rasd_to_vdev(rasd, dominfo, dev);
+                        rasd_to_vdev(rasd, dominfo, dev, ns);
                         s = _resource_dynamic(dominfo,
                                               dev,
                                               RESOURCE_MOD,
@@ -1156,7 +1165,7 @@
                 goto out;
         }

-        s = func(dominfo, rasd, type, devid);
+        s = func(dominfo, rasd, type, devid, NAMESPACE(ref));
         if (s.rc != CMPI_RC_OK) {
                 CU_DEBUG("Resource transform function failed");
                 goto out;



Index: libvirt-cim.spec
===================================================================
RCS file: /cvs/pkgs/rpms/libvirt-cim/F-9/libvirt-cim.spec,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- libvirt-cim.spec	29 May 2008 19:55:27 -0000	1.13
+++ libvirt-cim.spec	30 May 2008 18:10:47 -0000	1.14
@@ -3,7 +3,7 @@
 Summary: A CIM provider for libvirt
 Name: libvirt-cim
 Version: 0.4
-Release: 1%{?dist}
+Release: 2%{?dist}
 License: LGPLv2+
 Group: Development/Libraries
 Source: libvirt-cim-%{version}.tar.gz
@@ -22,6 +22,7 @@
 Patch2: poolmember.patch
 Patch3: procfix.patch
 Patch4: vcpufix.patch
+Patch5: rasdns.patch
 
 %description
 Libvirt-cim is a CMPI CIM provider that implements the DMTF SVPC
@@ -38,6 +39,7 @@
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
+%patch5 -p1
 
 %build
 %configure --disable-werror
@@ -65,8 +67,8 @@
 %define REGISTRATION %{_datadir}/%{name}/*.registration
 %define SCHEMA %{_datadir}/%{name}/*.mof
 
-%define INTEROP_REG %{_datadir}/%{name}/{RegisteredProfile,ElementConformsToProfile}.registration
-%define INTEROP_MOF %{_datadir}/%{name}/{ComputerSystem,HostSystem,RegisteredProfile,ElementConformsToProfile}.mof
+%define INTEROP_REG %{_datadir}/%{name}/{RegisteredProfile,ElementConformsToProfile,ReferencedProfile}.registration
+%define INTEROP_MOF %{_datadir}/%{name}/{ComputerSystem,HostSystem,RegisteredProfile,ElementConformsToProfile,ReferencedProfile}.mof
 
 # _If_ there is already a version of this installed, we must deregister
 # the classes we plan to install in post, otherwise we may corrupt
@@ -86,6 +88,9 @@
 	-n root/virt \
 	-r %{REGISTRATION} -m %{SCHEMA} >/dev/null 2>&1 || true
 %{_datadir}/%{name}/provider-register.sh -t pegasus \
+	-n root/virt \
+	-r %{REGISTRATION} -m %{SCHEMA} >/dev/null 2>&1 || true
+%{_datadir}/%{name}/provider-register.sh -t pegasus \
 	-n root/interop \
 	-r %{INTEROP_REG} -m %{INTEROP_MOF} -v >/dev/null 2>&1 || true
 
@@ -114,6 +119,11 @@
 /etc/ld.so.conf.d/libvirt-cim.conf
 
 %changelog
+* Fri May 30 2008 Dan Smith <danms at us.ibm.com> - 0.4-2
+- Fixed schema registration to pick up ECTP in root/virt properly
+- Fixed schema registration to include ReferencedProfile in interop
+- Added RASD namespace fix
+
 * Wed May 21 2008 Dan Smith <danms at us.ibm.com> - 0.4-1
 - Updated to latest upstream source
 - Added default disk pool configuration patch




More information about the fedora-extras-commits mailing list