[Ocfs2-tools-devel] [Ocfs2-devel] [PATCH] ocfs2console: Allow ocfs2console to enumerate device mapper devices

Jeff Mahoney jeffm at suse.com
Tue Aug 12 12:37:58 PDT 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Joel Becker wrote:
> [Cc'ing ocfs2-tools-devel]
> 
> On Tue, Aug 12, 2008 at 11:18:31AM -0400, Jeff Mahoney wrote:
>>  ocfs2console will currently display device mapper devices as dm-#, where
>>  the number can be dynamic across reboots making it non-obvious which
>>  device the user is using. While LVM volumes aren't safe to use across
>>  physical nodes, they are often used with virtual machines. Many ocfs2
>>  users also use dm-multipath.
>>
>>  This patch refactors partition_info_fill to separate hashing from
>>  enumeration so that it is trivial to add a device-mapper enumerator.
>>
>>  The device mapper enumerator is automatically enabled if libdevmapper
>>  is present at build time. When enabled, it suppresses the dm-# devices
>>  from enumeration. If disabled, the dm-# devices are used instead.
>>
>>  I have a bug report for this (Novell Bugzilla 414756) and it was easy
>>  enough to bang out quickly.
> 
> 	Nice!  I've not played with libdevmapper - I assume that the
> enumerator returns "preferred" names when there are 10 different
> symlinks for the same volume?  :-)

It uses the canonical device mapper names. The symlinks are added by
add-on tools like multipath or LVM. This enumerates the names that
device mapper knows about. It's the same list that "dmsetup ls" would
show, especially since I used that code as a template. :)

So, for example, it won't show you /dev/system/root, but instead will do
/dev/mapper/system-root. I'd have preferred to have the former, but not
so much that I want to teach ocfs2console about every DM add-on out there.

>> +LIBDEVMAPPER_FOUND=
>> +AC_CHECK_HEADER(libdevmapper.h, LIBDEVMAPPER_FOUND=yes,
>> +  [AC_MSG_WARN([libdevmapper.h not found, device-mapper support will not be built])])
>> +AC_SUBST(LIBDEVMAPPER_FOUND)
> 
> 	Please check for the lib too:
> 
> LIBDEVMAPPER_FOUND=
> AC_CHECK_LIB(devmapper, dm_task_create,
>   [AC_CHECK_HEADER(libdevmapper.h, LIBDEVMAPPER_FOUND=yes,
>     [AC_MSG_WARN([libdevmapper.h not found, device-mapper support will not be built])])],
>   [AC_MSG_WARN([libdevmapper not found, device-mapper support will not
> be built])])
> AC_SUBST(LIBDEVMAPPER_FOUND)

Great, thanks for the quick review. I'll fix that up and resend.

- -Jeff

- --
Jeff Mahoney
SUSE Labs
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org

iEYEARECAAYFAkih5ncACgkQLPWxlyuTD7KXDgCfYIjaPKjmJimI1IadFQjzSBof
wHAAmgO3qk1Tglq6Z+bMW0cp2rZu73y2
=OEZR
-----END PGP SIGNATURE-----



More information about the Ocfs2-tools-devel mailing list