nfs and cifs port display in yawn page.
Stephen Gallagher
sgallagh at redhat.com
Fri Oct 4 12:04:48 UTC 2013
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 10/04/2013 03:22 AM, Jan Synacek wrote:
> Hi,
>
> On 10/03/2013 09:08 PM, sunil kumar wrote:
>> hi!.
>>
>> we need to know, how to debug and trace the program from where i
>> start. We have return to view the nfs port and cifs port in the
>> yawn page..
>>
>>
>> here is the code for that.!..
>>
>> CMPIStatus res = { CMPI_RC_OK, NULL }; Network *network =
>> mi->hdl; const char *ns = KNameSpace(cop);
>>
>> char *name; Port *port; int pid;
>>
>> network_lock(network); const Ports *ports =
>> network_get_ports(network); for (size_t i = 0; i <
>> ports_length(ports); ++i) { if (!KOkay(res)) { break; } port =
>> ports_index(ports, i); asprintf(&name, "%s_%ld",
>> port_get_id(port), i); LMI_ProtocolEndpoint w;
>> LMI_ProtocolEndpoint_Init(&w, _cb, ns);
>> LMI_ProtocolEndpoint_Set_SystemName(&w, get_system_name());
>> LMI_ProtocolEndpoint_Set_SystemCreationClassName(&w,
>> get_system_creation_class_name());
>> LMI_ProtocolEndpoint_Set_CreationClassName(&w,
>> LMI_ProtocolEndpoint_ClassName);
>> LMI_ProtocolEndpoint_Set_Name(&w, name); free(name); pid = (int)
>> *port_get_id(port); switch (pid) { case 4200:
>> LMI_ProtocolEndpoint_Set_ProtocolIFType_NFS(&w);
>> LMI_ProtocolEndpoint_Set_ProtocolIFType(&w,
>> LMI_ProtocolEndpoint_ProtocolIFType_NFS); break; case 4201:
>> LMI_ProtocolEndpoint_Set_ProtocolIFType_CIFS(&w);
>> LMI_ProtocolEndpoint_Set_ProtocolIFType(&w,
>> LMI_ProtocolEndpoint_ProtocolIFType_CIFS); break; default:
>> break; } if (!ReturnInstance(cr, w)) { error("Unable to return
>> instance of class " LMI_ProtocolEndpoint_ClassName);
>> CMSetStatus(&res, CMPI_RC_ERR_FAILED); break; } }
>>
>> network_unlock(network); return res;
>>
>>
>>
>> i need to know how to trace this.. how could i do this..
>
> If I understand correctly, you want to know how to attach a
> debugger to the provider process.
>
> This is probably server dependent. I'll try to describe how it
> works when using tog-pegasus, which is the CIMOM we prefer.
>
> Everytime you make a request that needs your provider to be run,
> the server forks a new process (unless you are running it with
> forceProviderProcesses=false option). The process exists in the
> system until it gets automatically cleaned up by the server. That
> happens after 5 minutes of idleness. So you have 5 minutes to do
> the following.
>
> The process' name is usually in form of "cimprovagt
> <provider_name>". You can identify it e.g. by using 'top'. Then,
> you can attach your favorite debugger to the running process like
> so:
>
> $ gdb /usr/bin/cimprovagt <process_id>
>
> Hope this helps.
>
This is the sort of information that we *really* want to include on
the Wiki/Drupal. Perhaps on
https://fedorahosted.org/openlmi/wiki/ProviderTutorial ?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.14 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iEYEARECAAYFAlJOruAACgkQeiVVYja6o6Mn7QCgpI6kX8CwfBqq0RKVC3Bdfzsi
M8EAn0eHmdbEdMDg9mZGFDejFg0NjD6V
=580f
-----END PGP SIGNATURE-----
More information about the openlmi-devel
mailing list