]> git.proxmox.com Git - pve-access-control.git/commitdiff
cleanup: avoid writing user.cfg twice
authorDietmar Maurer <dietmar@proxmox.com>
Fri, 14 Aug 2015 05:55:36 +0000 (07:55 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Fri, 14 Aug 2015 05:55:36 +0000 (07:55 +0200)
PVE/AccessControl.pm

index d3f1cf6661b1fcc5221e2630a521d8b7cb8f9639..0400aee030522fd40e2e88536f448915acd23297 100644 (file)
@@ -1093,18 +1093,20 @@ sub remove_vm_access {
     my ($vmid) = @_;
     my $delVMaccessFn = sub {
         my $usercfg = cfs_read_file("user.cfg");
+       my $modified;
 
-        if (my $acl = $usercfg->{acl}->{'/vms/'.$vmid}) {
-            delete $usercfg->{acl}->{'/vms/'.$vmid};
-            cfs_write_file("user.cfg", $usercfg);
+        if (my $acl = $usercfg->{acl}->{"/vms/$vmid"}) {
+            delete $usercfg->{acl}->{"/vms/$vmid"};
+           $modified = 1;
         }
         if (my $pool = $usercfg->{vms}->{$vmid}) {
             if (my $data = $usercfg->{pools}->{$pool}) {
                 delete $data->{vms}->{$vmid};
                 delete $usercfg->{vms}->{$vmid};
-                cfs_write_file("user.cfg", $usercfg);
+               $modified = 1;
             }
         }
+       cfs_write_file("user.cfg", $usercfg) if $modified;
     };
 
     lock_user_config($delVMaccessFn, "access permissions cleanup for VM $vmid failed");