@@ -3478,7 +3478,7 @@ static int rbd_try_lock(struct rbd_device *rbd_dev)
if (ret) {
if (ret > 0)
ret = 0; /* have to request lock */
- goto out;
+ goto free_lockers;
}
rbd_warn(rbd_dev, "%s%llu seems dead, breaking lock",
@@ -3489,7 +3489,7 @@ static int rbd_try_lock(struct rbd_device *rbd_dev)
if (ret) {
rbd_warn(rbd_dev, "blacklist of %s%llu failed: %d",
ENTITY_NAME(lockers[0].id.name), ret);
- goto out;
+ goto free_lockers;
}
ret = ceph_cls_break_lock(&client->osdc, &rbd_dev->header_oid,
@@ -3497,13 +3497,11 @@ static int rbd_try_lock(struct rbd_device *rbd_dev)
lockers[0].id.cookie,
&lockers[0].id.name);
if (ret && ret != -ENOENT)
- goto out;
-
-again:
+ goto free_lockers;
+ again:
ceph_free_lockers(lockers, num_lockers);
}
-
-out:
+ free_lockers:
ceph_free_lockers(lockers, num_lockers);
return ret;
}