提交 b480815a 编写于 作者: A Alex Elder 提交者: Sage Weil

rbd: kill __rbd_remove()

The function __rbd_remove() is used in two spots, and it's fairly
simple.  It combines cleanup of part of the ceph-side state as well
as cleaning up the Linux-side state.  Just open code it in the two
callers and eliminate the function.
Signed-off-by: NAlex Elder <elder@inktank.com>
Reviewed-by: NJosh Durgin <josh.durgin@inktank.com>
上级 d1cf5788
...@@ -4992,12 +4992,6 @@ static void rbd_dev_release(struct device *dev) ...@@ -4992,12 +4992,6 @@ static void rbd_dev_release(struct device *dev)
module_put(THIS_MODULE); module_put(THIS_MODULE);
} }
static void __rbd_remove(struct rbd_device *rbd_dev)
{
rbd_remove_all_snaps(rbd_dev);
rbd_bus_del_dev(rbd_dev);
}
static void rbd_dev_remove_parent(struct rbd_device *rbd_dev) static void rbd_dev_remove_parent(struct rbd_device *rbd_dev)
{ {
while (rbd_dev->parent_spec) { while (rbd_dev->parent_spec) {
...@@ -5013,7 +5007,8 @@ static void rbd_dev_remove_parent(struct rbd_device *rbd_dev) ...@@ -5013,7 +5007,8 @@ static void rbd_dev_remove_parent(struct rbd_device *rbd_dev)
first = second; first = second;
second = third; second = third;
} }
__rbd_remove(second); rbd_remove_all_snaps(second);
rbd_bus_del_dev(second);
rbd_spec_put(first->parent_spec); rbd_spec_put(first->parent_spec);
first->parent_spec = NULL; first->parent_spec = NULL;
first->parent_overlap = 0; first->parent_overlap = 0;
...@@ -5058,8 +5053,8 @@ static ssize_t rbd_remove(struct bus_type *bus, ...@@ -5058,8 +5053,8 @@ static ssize_t rbd_remove(struct bus_type *bus,
rbd_dev_remove_parent(rbd_dev); rbd_dev_remove_parent(rbd_dev);
__rbd_remove(rbd_dev); rbd_remove_all_snaps(rbd_dev);
rbd_bus_del_dev(rbd_dev);
done: done:
mutex_unlock(&ctl_mutex); mutex_unlock(&ctl_mutex);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册