-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/13223/#review24650
-----------------------------------------------------------



plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java
<https://reviews.apache.org/r/13223/#comment48751>

          if (!lockFile.exists()) {                         
lockFile.createNewFile();
    
    Above stanza is not atomic. If two threads coming into this code at the 
same time, both will succeed. 
    
    Maybe just if (lockFile.createNewFile()) is good enough?


- edison su


On Aug. 5, 2013, 10:38 a.m., Wei Zhou wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/13223/
> -----------------------------------------------------------
> 
> (Updated Aug. 5, 2013, 10:38 a.m.)
> 
> 
> Review request for cloudstack, edison su and Wido den Hollander.
> 
> 
> Bugs: CLOUDSTACK-2729
> 
> 
> Repository: cloudstack-git
> 
> 
> Description
> -------
> 
> The storage pool issue (CLOUDSTACK-2729) is because of a bug in libvirt 
> (https://bugzilla.redhat.com/show_bug.cgi?id=977706)
> We need to prevent deleting a volume when refreshing the pool.
> This patch use a simple file lock to implement it.
> 
> PS: I have tested another file lock similar to Read/Write file lock, but it 
> was very unstable.
> 
> 
> Diffs
> -----
> 
>   
> plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java
>  a9baa52 
> 
> Diff: https://reviews.apache.org/r/13223/diff/
> 
> 
> Testing
> -------
> 
> Applied on 4.0.2 and 4.0.1
> 
> Testing On 4.0.1 From 20,June
> 3 nodes, create a VM on each node every 15 minutes. Destroy the VMs 5 minutes 
> later. expunge.inteval = 600 (10 minutes), expunge.worker = 2
>  
> 
> Testing On 4.0.2 From 01,July
> 2 nodes, create two VMs on each node every 5 minutes. Destroy the VMs 4 
> minutes later. expunge.inteval = 600 (10 minutes), expunge.worker = 2 
> 
> 
> Thanks,
> 
> Wei Zhou
> 
>

Reply via email to