• Alex Elder's avatar
    rbd: remove snapshots on error in rbd_add() · 41f38c2b
    Alex Elder authored
    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: default avatarAlex Elder <elder@inktank.com>
    Reviewed-by: default avatarJosh Durgin <josh.durgin@inktank.com>
    41f38c2b
rbd.c 79.4 KB