[libvirt] [PATCH 0/9] Duplicate storage pool source refactoring and checks

John Ferlan jferlan at redhat.com
Thu Apr 2 17:39:37 UTC 2015


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




More information about the libvir-list mailing list