[dm-devel] Question about dmevents

Peter Rockai prockai at redhat.com
Sun Jul 22 08:53:41 UTC 2007


On Fri, Jul 20, 2007 at 09:02:18AM -0700, Wood, Brian J wrote:
> After this long setup here's the problem I'm having. I run through the
> remaining function calls in _get_device_info() and my uuid for the
> dm_task is still null. The last call before sending this message off to
> dmeventd using the "_do_event()" is a call to dm_task_get_uuid() that is
> passed my dm_task struct. This should return a uuid string, but returns
> null since my dm_task is never getting a uuid set. Without this I get a
> failure on the dmeventd side stating I passed a null pointer into
> dm_strdup via the function _alloc_thread_status (where it checks the
> uuid field). 

This is indeed a bug in the code, first that libdevmapper-event fails
to check that the uuid it tries to use is valid (ie., it assumes that
whenever dm_task asking DM_DEVICE_INFO succeeds, it has a valid UUID,
which seems to be not the case). This needs fixing, as well as
dmeventd, which apparentlty breaks down on an invalid message (i have
to test this though).

In the meantime, please make sure you are only registering devices
that do have UUID (you don't need to supply it, it just needs to be
there in the device mapper info). In a future version, the code should
fail gracefully in case the UUID is not available.

Yours, Peter.

-- 
Peter Rockai | me()mornfall!net | prockai()redhat!com
 http://blog.mornfall.net | http://web.mornfall.net

"In My Egotistical Opinion, most people's C programs should be
 indented six feet downward and covered with dirt."
     -- Blair P. Houghton on the subject of C program indentation




More information about the dm-devel mailing list