From: Alex Elder <elder@inktank.com>
To: ceph-devel@vger.kernel.org
Subject: [PATCH 5/6] rbd: remove parent devices on probe error
Date: Sat, 27 Apr 2013 07:37:51 -0500 [thread overview]
Message-ID: <517BC69F.6020906@inktank.com> (raw)
In-Reply-To: <517BC608.5030008@inktank.com>
When an error occurs while finishing probing a device it is assumed
that parent devices get cleaned up when deleting a device. They
don't. Add a call to clean them up. Note that this means the
parent spec will already be cleaned up so it doesn't have to be
in one of the rbd_add() error paths.
Signed-off-by: Alex Elder <elder@inktank.com>
---
drivers/block/rbd.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
index 99d231b..c81b319 100644
--- a/drivers/block/rbd.c
+++ b/drivers/block/rbd.c
@@ -4806,8 +4806,8 @@ static int rbd_dev_probe_finish(struct rbd_device
*rbd_dev)
return ret;
err_out_bus:
- /* this will also clean up rest of rbd_dev stuff */
-
+ if (rbd_dev->parent)
+ rbd_dev_remove_parent(rbd_dev);
rbd_bus_del_dev(rbd_dev);
return ret;
@@ -4922,7 +4922,6 @@ 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:
--
1.7.9.5
next prev parent reply other threads:[~2013-04-27 12:37 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-27 12:35 [PATCH 0/6] rbd: parent probe cleanup Alex Elder
2013-04-27 12:36 ` [PATCH 1/6] rbd: encapsulate probing for parent devices Alex Elder
2013-04-27 12:36 ` [PATCH 2/6] rbd: encapsulate removing " Alex Elder
2013-04-27 12:37 ` [PATCH 3/6] rbd: kill __rbd_remove() Alex Elder
2013-04-27 12:37 ` [PATCH 4/6] rbd: fix rbd_dev_remove_parent() Alex Elder
2013-04-27 12:37 ` Alex Elder [this message]
2013-04-27 12:38 ` [PATCH 6/6] rbd: probe for the parent earlier Alex Elder
2013-04-30 18:45 ` [PATCH 0/6] rbd: parent probe cleanup Josh Durgin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=517BC69F.6020906@inktank.com \
--to=elder@inktank.com \
--cc=ceph-devel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.