rbd: remove snapshots on error in rbd_add()
authorAlex Elder <elder@inktank.com>
Fri, 26 Oct 2012 04:34:40 +0000 (23:34 -0500)
committerAlex Elder <elder@inktank.com>
Tue, 30 Oct 2012 13:34:28 +0000 (08:34 -0500)
commit41f38c2b2f8b66b176a0e548ef06294343a7bfa2
tree6d577c2ac2a8a7b3fca878d9030dc9faa6226e4a
parentf7760dad286829682a8d36f4563ab20a65732414
rbd: remove snapshots on error in rbd_add()

If rbd_dev_snaps_update() has ever been called for an rbd device
structure there could be snapshot structures on its snaps list.
In rbd_add(), this function is called but a subsequent error
path neglected to clean up any of these snapshots.

Add a call to rbd_remove_all_snaps() in the appropriate spot to
remedy this.  Change a couple of error labels to be a little
clearer while there.

Drop the leading underscores from the function name; there's nothing
special about that function that they might signify.  As suggested
in review, the leading underscores in __rbd_remove_snap_dev() have
been removed as well.

Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
drivers/block/rbd.c