• M
    sanlock: Retry after EINPROGRESS · 96a02703
    Michal Privoznik 提交于
    It may take some time for sanlock to add a lockspace. And if user
    restart libvirtd service meanwhile, the fresh daemon can fail adding
    the same lockspace with EINPROGRESS. Recent sanlock has
    sanlock_inq_lockspace() function which should block until lockspace
    changes state. If we are building against older sanlock we should
    retry a few times before claiming an error. This issue can be easily
    reproduced:
    
    for i in {1..1000} ; do echo $i; service libvirtd restart; sleep 2; done
    20
    Stopping libvirtd daemon:                                  [FAILED]
    Starting libvirtd daemon:                                  [  OK  ]
    21
    Stopping libvirtd daemon:                                  [  OK  ]
    Starting libvirtd daemon:                                  [  OK  ]
    22
    Stopping libvirtd daemon:                                  [  OK  ]
    Starting libvirtd daemon:                                  [  OK  ]
    
     error : virLockManagerSanlockSetupLockspace:334 : Unable to add
     lockspace /var/lib/libvirt/sanlock/__LIBVIRT__DISKS__: Operation now in
     progress
    96a02703
configure.ac 105.7 KB