[libvirt] [PATCH] check device-mapper when building without storage mpath
Daniel P. Berrange
berrange at redhat.com
Fri Feb 18 12:19:04 UTC 2011
On Fri, Feb 18, 2011 at 08:00:34PM +1100, Justin Clift wrote:
> On 18/02/2011, at 7:46 PM, Jiri Denemark wrote:
> <snip>
> >
> >> Thanks for the fix, actually It can be reproduced simply by:
> >> % ./autogen.sh --with-storage-mpath=no
> >> % make
> >>
> >> As src/util/util.c invokes "dm_is_dm_major".
> >
> > Yes it does, but I'm not convinced this is the right approach to fix it. Why
> > should libvirt always require device-mapper libraries?
>
> As a data point, device-mapper isn't available on non-Linux platforms. If
> Osier was meaning to make it "required", I can see a problem about there. ;)
Since device-mapper is Linux specific, then by definition
virIsDevMapperDevice() will always return false on those
platforms. So there is no requirement for any device-mapper
libs on non-Linux, you just trivially make it do:
#if HAVE_DEVICE_MAPPER
bool
virIsDevMapperDevice(const char *devname)
{
struct stat buf;
if (!stat(devname, &buf) &&
S_ISBLK(buf.st_mode) &&
dm_is_dm_major(major(buf.st_rdev)))
return true;
return false;
}
#else
bool
virIsDevMapperDevice(const char *devname ATTRIBUTE_UNUSED)
{
return false;
}
#endif
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list