Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 373517
b: refs/heads/master
c: 9bb81c9
h: refs/heads/master
i:
  373515: 86c1088
v: v3
  • Loading branch information
Alex Elder authored and Sage Weil committed May 2, 2013
1 parent 499c088 commit c4f4137
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 21 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 5de10f3b0c99983e3f9ec19baa1eb691685d9b8f
refs/heads/master: 9bb81c9be90c1ad265547f0a40f543548d263fb4
40 changes: 20 additions & 20 deletions trunk/drivers/block/rbd.c
Original file line number Diff line number Diff line change
Expand Up @@ -4755,26 +4755,13 @@ static int rbd_dev_probe_finish(struct rbd_device *rbd_dev)
{
int ret;

/* no need to lock here, as rbd_dev is not registered yet */
ret = rbd_dev_snaps_update(rbd_dev);
if (ret)
return ret;

ret = rbd_dev_spec_update(rbd_dev);
if (ret)
goto err_out_snaps;

ret = rbd_dev_header_watch_sync(rbd_dev, 1);
if (ret)
goto err_out_snaps;
return ret;

ret = rbd_dev_mapping_set(rbd_dev);
if (ret)
goto err_out_snaps;

ret = rbd_dev_probe_parent(rbd_dev);
if (ret)
goto err_out_mapping;
return ret;

/* generate unique id: find highest unique id, add one */
rbd_dev_id_get(rbd_dev);
Expand Down Expand Up @@ -4818,11 +4805,7 @@ static int rbd_dev_probe_finish(struct rbd_device *rbd_dev)
unregister_blkdev(rbd_dev->major, rbd_dev->name);
err_out_id:
rbd_dev_id_put(rbd_dev);
rbd_dev_remove_parent(rbd_dev);
err_out_mapping:
rbd_dev_mapping_clear(rbd_dev);
err_out_snaps:
rbd_remove_all_snaps(rbd_dev);

return ret;
}
Expand Down Expand Up @@ -4854,11 +4837,28 @@ static int rbd_dev_image_probe(struct rbd_device *rbd_dev)
if (ret)
goto out_err;

ret = rbd_dev_snaps_update(rbd_dev);
if (ret)
goto out_err;

ret = rbd_dev_spec_update(rbd_dev);
if (ret)
goto err_out_snaps;

ret = rbd_dev_probe_parent(rbd_dev);
if (ret)
goto err_out_snaps;

ret = rbd_dev_probe_finish(rbd_dev);
if (ret)
rbd_header_free(&rbd_dev->header);
goto err_out_parent;

return ret;
err_out_parent:
rbd_dev_remove_parent(rbd_dev);
rbd_header_free(&rbd_dev->header);
err_out_snaps:
rbd_remove_all_snaps(rbd_dev);
out_err:
kfree(rbd_dev->spec->image_id);
rbd_dev->spec->image_id = NULL;
Expand Down

0 comments on commit c4f4137

Please sign in to comment.