From 74e2e03db4996e478715cbb55d610786a525ba67 Mon Sep 17 00:00:00 2001 From: Alex Elder Date: Fri, 26 Apr 2013 09:43:47 -0500 Subject: [PATCH] --- yaml --- r: 373503 b: refs/heads/master c: 9f5dffdc8f5dbc16493566b6aac59f275d5cb3f9 h: refs/heads/master i: 373501: 5323fca2ecc69a4bb2f3e37a37cefd3095d9bada 373499: 4684e6560324c64a3c58e3efb12c1ecb1b050657 373495: 454155b29c7980d957d0313813c8d58bcfa254ee 373487: f1c20e4a1af8df5415d225d120d35eac46ac8c8a 373471: bd7074f88d9ca6a4f9be9dd6f4ec088afec84604 373439: 60fd963b4f8bed63d2a68ad235ddb03873e5c1f0 373375: 02dbabed499172240cd0769340f7158f3ea51e98 373247: 30061d9a3d6c181c61e1bba4c0abe486175057cf v: v3 --- [refs] | 2 +- trunk/drivers/block/rbd.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 401874ecdb7e..7fc9127d0c95 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 468521c1b1450d8e9bda22df9455deaa4feed00f +refs/heads/master: 9f5dffdc8f5dbc16493566b6aac59f275d5cb3f9 diff --git a/trunk/drivers/block/rbd.c b/trunk/drivers/block/rbd.c index b6775ae1a770..e6dab9f7dd75 100644 --- a/trunk/drivers/block/rbd.c +++ b/trunk/drivers/block/rbd.c @@ -3425,8 +3425,6 @@ static struct rbd_device *rbd_dev_create(struct rbd_client *rbdc, static void rbd_dev_destroy(struct rbd_device *rbd_dev) { - rbd_spec_put(rbd_dev->parent_spec); - kfree(rbd_dev->header_name); rbd_put_client(rbd_dev->rbd_client); rbd_spec_put(rbd_dev->spec); kfree(rbd_dev); @@ -4788,6 +4786,8 @@ static int rbd_dev_probe_finish(struct rbd_device *rbd_dev) return ret; err_out_parent: + rbd_spec_put(rbd_dev->parent_spec); + kfree(rbd_dev->header_name); rbd_dev_destroy(parent); err_out_spec: rbd_spec_put(parent_spec); @@ -4910,6 +4910,8 @@ static ssize_t rbd_add(struct bus_type *bus, return count; err_out_rbd_dev: + rbd_spec_put(rbd_dev->parent_spec); + kfree(rbd_dev->header_name); rbd_dev_destroy(rbd_dev); err_out_client: rbd_put_client(rbdc); @@ -4960,6 +4962,8 @@ static void rbd_dev_release(struct device *dev) /* done with the id, and with the rbd_dev */ rbd_dev_id_put(rbd_dev); rbd_assert(rbd_dev->rbd_client != NULL); + rbd_spec_put(rbd_dev->parent_spec); + kfree(rbd_dev->header_name); rbd_dev_destroy(rbd_dev); /* release module ref */