diff --git a/drivers/md/md-cluster.c b/drivers/md/md-cluster.c index 057a9733f74894696ae9c244cbb744c0a4c91648..411b4306840ff04a8a16145afa2bf133a4aa1d2b 100644 --- a/drivers/md/md-cluster.c +++ b/drivers/md/md-cluster.c @@ -647,8 +647,10 @@ static int gather_all_resync_info(struct mddev *mddev, int total_slots) lockres_free(bm_lockres); continue; } - if (ret) + if (ret) { + lockres_free(bm_lockres); goto out; + } /* TODO: Read the disk bitmap sb and check if it needs recovery */ dlm_unlock_sync(bm_lockres); lockres_free(bm_lockres);