diff options
author | Andreas Gruenbacher <agruen@kernel.org> | 2011-09-28 16:15:04 -0400 |
---|---|---|
committer | Philipp Reisner <philipp.reisner@linbit.com> | 2012-05-09 09:15:49 -0400 |
commit | 7b4e4d31268cbd885782bf3eee8027c852c9d191 (patch) | |
tree | cd6d3dbaa71d9d6b408b4a2f9e7c386f6990ff8b /drivers/block/drbd | |
parent | 40424e4a24bc500639cb4bf1bf846362b0e692a5 (diff) |
drbd: drbd_nl_resize(): Fix missing put_ldev() on error path
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block/drbd')
-rw-r--r-- | drivers/block/drbd/drbd_nl.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/block/drbd/drbd_nl.c b/drivers/block/drbd/drbd_nl.c index 6d116a2b2321..1a81d9ed1b24 100644 --- a/drivers/block/drbd/drbd_nl.c +++ b/drivers/block/drbd/drbd_nl.c | |||
@@ -1727,7 +1727,7 @@ static int drbd_nl_resize(struct drbd_conf *mdev, struct drbd_nl_cfg_req *nlp, | |||
1727 | 1727 | ||
1728 | if (rs.no_resync && mdev->agreed_pro_version < 93) { | 1728 | if (rs.no_resync && mdev->agreed_pro_version < 93) { |
1729 | retcode = ERR_NEED_APV_93; | 1729 | retcode = ERR_NEED_APV_93; |
1730 | goto fail; | 1730 | goto fail_ldev; |
1731 | } | 1731 | } |
1732 | 1732 | ||
1733 | if (mdev->ldev->known_size != drbd_get_capacity(mdev->ldev->backing_bdev)) | 1733 | if (mdev->ldev->known_size != drbd_get_capacity(mdev->ldev->backing_bdev)) |
@@ -1754,6 +1754,10 @@ static int drbd_nl_resize(struct drbd_conf *mdev, struct drbd_nl_cfg_req *nlp, | |||
1754 | fail: | 1754 | fail: |
1755 | reply->ret_code = retcode; | 1755 | reply->ret_code = retcode; |
1756 | return 0; | 1756 | return 0; |
1757 | |||
1758 | fail_ldev: | ||
1759 | put_ldev(mdev); | ||
1760 | goto fail; | ||
1757 | } | 1761 | } |
1758 | 1762 | ||
1759 | static int drbd_nl_syncer_conf(struct drbd_conf *mdev, struct drbd_nl_cfg_req *nlp, | 1763 | static int drbd_nl_syncer_conf(struct drbd_conf *mdev, struct drbd_nl_cfg_req *nlp, |