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