• M
    network_conf: Drop virNetworkObjIsDuplicate · d9706aea
    Michal Privoznik 提交于
    This function does not make any sense now, that network driver is
    (almost) dropped. I mean, previously, when threads were
    serialized, this function was there to check, if no other network
    with the same name or UUID exists. However, nowadays that threads
    can run more in parallel, this function is useless, in fact it
    gives misleading return values. Consider the following scenario.
    Two threads, both trying to define networks with same name but
    different UUID (e.g. because it was generated during XML parsing
    phase, whatever). Lets assume that both threads are about to call
    networkValidate() which immediately calls
    virNetworkObjIsDuplicate().
    
    T1: calls virNetworkObjIsDuplicate() and since no network with
    given name or UUID exist, success is returned.
    T2: calls virNetworkObjIsDuplicate() and since no network with
    given name or UUID exist, success is returned.
    
    T1: calls virNetworkAssignDef() and successfully places its
    network into the virNetworkObjList.
    T2: calls virNetworkAssignDef() and since network with the same
    name exists, the network definition is replaced.
    
    Okay, this is mainly because virNetworkAssignDef() does not check
    whether name and UUID matches. Well, lets make it so! And drop
    useless function too.
    Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
    d9706aea
libvirt_private.syms 52.9 KB