]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Windows: avoid cm_serverLock refcount leak
authorJeffrey Altman <jaltman@your-file-system.com>
Mon, 22 Aug 2011 13:00:47 +0000 (09:00 -0400)
committerJeffrey Altman <jaltman@openafs.org>
Tue, 23 Aug 2011 19:11:51 +0000 (12:11 -0700)
Reviewed-on: http://gerrit.openafs.org/5293
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
(cherry picked from commit add66023a05bf9a380eef34bd4fcc80d343fffad)

Change-Id: I021a7c77c5351914c9450bd7b28c2b6142f18567
Reviewed-on: http://gerrit.openafs.org/5295
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
src/WINNT/afsd/cm_volume.c

index 187ba2be161482fd4763aeb7bd02f6dc43c39f26..93aceea5b50cfd31df6bf7a19495c5c7f4585862 100644 (file)
@@ -1272,10 +1272,12 @@ cm_CheckOfflineVolumeState(cm_volume_t *volp, cm_vol_state_t *statep, afs_uint32
                 cm_VolumeStatusNotification(volp, statep->ID, statep->state, vl_alldown);
                 statep->state = vl_alldown;
             }
-        } else if (statep->state != vl_alldown) {
+        } else {
             lock_ReleaseRead(&cm_serverLock);
-            cm_VolumeStatusNotification(volp, statep->ID, statep->state, vl_alldown);
-            statep->state = vl_alldown;
+            if (statep->state != vl_alldown) {
+                cm_VolumeStatusNotification(volp, statep->ID, statep->state, vl_alldown);
+                statep->state = vl_alldown;
+            }
         }
     }
 }