[dm-devel] kpartx and udev problem

Ron Peterson rpeterso at mtholyoke.edu
Wed Jun 4 16:49:20 UTC 2008


2008-06-04_02:45:29-0400 Hannes Reinecke <hare at suse.de>:

> Problem being the 'interesting' device-mapper design.
> Whenever a 'table create' operation is triggered from user-space, it's
> actually being broken down by the device-mapper library into 4 distinct
> operations:
> 1. create device dm-X
> 2. suspend device
> 3. load table definition
> 4. resume device
> 
> and you'll be getting an 'add' event for the first operation, and a
> 'change' event for the second and the forth operation.
> But clearly the 'add' event is pretty much pointless, as there is
> not table loaded at that time, so you wouldn't know what to do with
> it. And the device is locked between the second and the fourth
> operation, so kpartx would refuse to touch it.
> 
> So, in essence: 'add' is evil for device-mapper devices.
> Use the 'change' event and check if the dm-device is not suspended
> when you get the event.

Aha.  It took a little finagaling, but I finally got it.

I had to install an updated version of dmsetup, because the version on
etch doesn't support the options in the dmsetup_env script I pilfered.
I put my dmsetup in its own location, and compiled w/ LD_RUN_PATH set
to the location of its own local libdevmapper.so library, because I
didn't want to replace my system's libdevmapper.so, because I'm not
entirely sure of the consequences.

Everything appears to be working great.  Thanks!

-- 
Ron Peterson
Network & Systems Manager
Mount Holyoke College
http://www.mtholyoke.edu/~rpeterso
-
I wish my computer would do what I want it to do - not what I tell it to do.




More information about the dm-devel mailing list