On Wed, Aug 17, 2011 at 10:36:26AM -0700, Gareth S Bestor wrote: > As you can see, this pool maps to /dev/disk/by-id. There may be a large > number of actual volume entries in /dev/disk/by-id, however it appears > only a distinct subset of them are actually added into the libvirt pool > when you do a pool-refresh. What does libvirt check when determining > which, and whether or not, to add one of these volume into the vol-list? > > In particular, we have a case when one specific volume in /dev/disk/by-id > is *not* added into the pool, and no amount of pool-refresh makes a > difference. We did notice that if you remove all the sym links in > /dev/disk/by-id and do a pool-refresh, that libvirt re-scans the bus, > recreates the links in /dev/disk/by-id, and adds (some of) the volumes > back into the vol-list. But not this one problematic vol, so clearly there > is something about this vol that libvirt doesnt like and why it is > (deliberately?) not added to the pool. > > What checks, etc does libvirt make against vols when determining whether > to add them to a pool? If we have an error processing any volume, that will be skipped. There is one non-error related check though, that may cause a volume to be skipped: /* We don't create volumes for devices other than disk and cdrom * devices, but finding a device that isn't one of those types * isn't an error, either. */ if (!(device_type == VIR_STORAGE_DEVICE_TYPE_DISK || device_type == VIR_STORAGE_DEVICE_TYPE_ROM)) { retval = 0; goto out; } What value is in /sys/bus/scsi/devices/XXXXX/type for the LUN in question ? And is that value different for all the other LUNs in that HBA ? 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 :|