]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitaa8ac0b2bcec78c82c2399726a68b10dfdf38303
tree6d577c2ac2a8a7b3fca878d9030dc9faa6226e4a
parent2a4f1de2f9f6a00fc2f4b9143419ab2693a1ad8b
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