From e699318accea6a31850da8d77746e3c1bb185b9f Mon Sep 17 00:00:00 2001 From: Yug Date: Tue, 1 Dec 2020 15:12:53 +0530 Subject: [PATCH] rbd: pass parent volume to undoSnapshotCloning function as we are supporting the creation of clone to a new pool we need to pass the correct parent volume to cleanup the snapshot on parent volume. Co-authored-by: Madhu Rajanna Signed-off-by: Yug --- internal/rbd/controllerserver.go | 4 ++-- internal/rbd/rbd_journal.go | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/internal/rbd/controllerserver.go b/internal/rbd/controllerserver.go index 14fde0a2d..503f071be 100644 --- a/internal/rbd/controllerserver.go +++ b/internal/rbd/controllerserver.go @@ -844,7 +844,7 @@ func cloneFromSnapshot(ctx context.Context, rbdVol *rbdVolume, rbdSnap *rbdSnaps vol := generateVolFromSnap(rbdSnap) err := vol.Connect(cr) if err != nil { - uErr := undoSnapshotCloning(ctx, vol, rbdSnap, vol, cr) + uErr := undoSnapshotCloning(ctx, rbdVol, rbdSnap, vol, cr) if uErr != nil { util.WarningLog(ctx, "failed undoing reservation of snapshot: %s %v", rbdSnap.RequestName, uErr) } @@ -868,7 +868,7 @@ func cloneFromSnapshot(ctx context.Context, rbdVol *rbdVolume, rbdSnap *rbdSnaps if errors.Is(err, ErrFlattenInProgress) { readyToUse = false } else if err != nil { - uErr := undoSnapshotCloning(ctx, vol, rbdSnap, vol, cr) + uErr := undoSnapshotCloning(ctx, rbdVol, rbdSnap, vol, cr) if uErr != nil { util.WarningLog(ctx, "failed undoing reservation of snapshot: %s %v", rbdSnap.RequestName, uErr) } diff --git a/internal/rbd/rbd_journal.go b/internal/rbd/rbd_journal.go index 9048a539e..f0368e816 100644 --- a/internal/rbd/rbd_journal.go +++ b/internal/rbd/rbd_journal.go @@ -167,7 +167,7 @@ func checkSnapCloneExists(ctx context.Context, parentVol *rbdVolume, rbdSnap *rb return false, err } } - err = undoSnapshotCloning(ctx, vol, rbdSnap, vol, cr) + err = undoSnapshotCloning(ctx, parentVol, rbdSnap, vol, cr) } return false, err } @@ -193,7 +193,7 @@ func checkSnapCloneExists(ctx context.Context, parentVol *rbdVolume, rbdSnap *rb sErr := vol.createSnapshot(ctx, rbdSnap) if sErr != nil { util.ErrorLog(ctx, "failed to create snapshot %s: %v", rbdSnap, sErr) - err = undoSnapshotCloning(ctx, vol, rbdSnap, vol, cr) + err = undoSnapshotCloning(ctx, parentVol, rbdSnap, vol, cr) return false, err } } @@ -205,13 +205,13 @@ func checkSnapCloneExists(ctx context.Context, parentVol *rbdVolume, rbdSnap *rb sErr := vol.getImageID() if sErr != nil { util.ErrorLog(ctx, "failed to get image id %s: %v", vol, sErr) - err = undoSnapshotCloning(ctx, vol, rbdSnap, vol, cr) + err = undoSnapshotCloning(ctx, parentVol, rbdSnap, vol, cr) return false, err } sErr = j.StoreImageID(ctx, vol.JournalPool, vol.ReservedID, vol.ImageID) if sErr != nil { util.ErrorLog(ctx, "failed to store volume id %s: %v", vol, sErr) - err = undoSnapshotCloning(ctx, vol, rbdSnap, vol, cr) + err = undoSnapshotCloning(ctx, parentVol, rbdSnap, vol, cr) return false, err } }