A precursor to some changes I'm working on - I figured it was better not to hoard the patches and then drop a 15 patch series... Anyway, patches 1-4 refactor the iSCSI <source> duplicate checks into a separate subroutine. While I was at it, I realized the Host checks are duplicate of the NETFS check - so I further separated things out. As I was looking at other possible defs I realized not all of the proposed storage pool defs go through duplicate checks because the switch statement had the 'default:' case - so I removed that, added all the options with the hope that new storage pool types will add their own checking. This left me with a bit of sleuthing for cases I added. I was able to determine that Sheepdog and Gluster both have the possibility of "a" single source host, so I added that check as it doesn't seem like it would be a good idea to have two storage pools looking at the same gluster/sheepdog source For the zfs pool it seems that it's like the DISK, LOGICAL, and FS pools with regard to not having duplicate devices in the pool For mpath there doesn't seem to be any need, but I could be wrong For rbd it wasn't completely clear what to check since multiple hosts are allowed for a single pool - I suppose a proposed definition should check that none of it's definitions match, but then again I'm not clear so I left it alone John Ferlan (9): storage: Refactor iSCSI Source matching storage: Refactor matchISCSISource storage: Invert logic for matchISCSISource storage: Create matchPoolSourceHost storage: Use matchPoolSourceHost for NETFS storage: Remove default from switch in virStoragePoolSourceFindDuplicate storage: Add duplicate host check for Sheepdog pool def storage: Add duplicate host check for Gluster pool def storage: Add duplicate devices check for zfs pool def src/conf/storage_conf.c | 59 +++++++++++++++++++++++++++++++++++-------------- 1 file changed, 43 insertions(+), 16 deletions(-) -- 2.1.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list