mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-17 20:00:23 +00:00
cleanup: reformat generateVolFromSnap() to rbdSnapshot.toVolume()
Signed-off-by: Niels de Vos <ndevos@ibm.com>
This commit is contained in:
parent
a517290ea7
commit
ba05c0f5f1
@ -666,7 +666,7 @@ func (cs *ControllerServer) createVolumeFromSnapshot(
|
||||
|
||||
// update parent name(rbd image name in snapshot)
|
||||
rbdSnap.RbdImageName = rbdSnap.RbdSnapName
|
||||
parentVol := generateVolFromSnap(rbdSnap)
|
||||
parentVol := rbdSnap.toVolume()
|
||||
// as we are operating on single cluster reuse the connection
|
||||
parentVol.conn = rbdVol.conn.Copy()
|
||||
|
||||
@ -1237,7 +1237,7 @@ func cloneFromSnapshot(
|
||||
cr *util.Credentials,
|
||||
parameters map[string]string,
|
||||
) (*csi.CreateSnapshotResponse, error) {
|
||||
vol := generateVolFromSnap(rbdSnap)
|
||||
vol := rbdSnap.toVolume()
|
||||
err := vol.Connect(cr)
|
||||
if err != nil {
|
||||
uErr := undoSnapshotCloning(ctx, rbdVol, rbdSnap, vol, cr)
|
||||
@ -1322,7 +1322,7 @@ func (cs *ControllerServer) doSnapshotClone(
|
||||
cr *util.Credentials,
|
||||
) (*rbdVolume, error) {
|
||||
// generate cloned volume details from snapshot
|
||||
cloneRbd := generateVolFromSnap(rbdSnap)
|
||||
cloneRbd := rbdSnap.toVolume()
|
||||
defer cloneRbd.Destroy()
|
||||
// add image feature for cloneRbd
|
||||
f := []string{librbd.FeatureNameLayering, librbd.FeatureNameDeepFlatten}
|
||||
@ -1480,7 +1480,7 @@ func (cs *ControllerServer) DeleteSnapshot(
|
||||
// Deleting snapshot and cloned volume
|
||||
log.DebugLog(ctx, "deleting cloned rbd volume %s", rbdSnap.RbdSnapName)
|
||||
|
||||
rbdVol := generateVolFromSnap(rbdSnap)
|
||||
rbdVol := rbdSnap.toVolume()
|
||||
|
||||
err = rbdVol.Connect(cr)
|
||||
if err != nil {
|
||||
@ -1511,7 +1511,7 @@ func (cs *ControllerServer) DeleteSnapshot(
|
||||
// cleanUpImageAndSnapReservation cleans up the image from the trash and
|
||||
// snapshot reservation in rados OMAP.
|
||||
func cleanUpImageAndSnapReservation(ctx context.Context, rbdSnap *rbdSnapshot, cr *util.Credentials) error {
|
||||
rbdVol := generateVolFromSnap(rbdSnap)
|
||||
rbdVol := rbdSnap.toVolume()
|
||||
err := rbdVol.Connect(cr)
|
||||
if err != nil {
|
||||
return status.Error(codes.Internal, err.Error())
|
||||
|
@ -162,7 +162,7 @@ func checkSnapCloneExists(
|
||||
snapData.ImagePool, rbdSnap.Pool)
|
||||
}
|
||||
|
||||
vol := generateVolFromSnap(rbdSnap)
|
||||
vol := rbdSnap.toVolume()
|
||||
defer vol.Destroy()
|
||||
err = vol.Connect(cr)
|
||||
if err != nil {
|
||||
|
@ -1053,7 +1053,7 @@ func genSnapFromSnapID(
|
||||
// updateSnapshotDetails will copy the details from the rbdVolume to the
|
||||
// rbdSnapshot. example copying size from rbdVolume to rbdSnapshot.
|
||||
func updateSnapshotDetails(rbdSnap *rbdSnapshot) error {
|
||||
vol := generateVolFromSnap(rbdSnap)
|
||||
vol := rbdSnap.toVolume()
|
||||
err := vol.Connect(rbdSnap.conn.Creds)
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -98,23 +98,24 @@ func cleanUpSnapshot(
|
||||
return nil
|
||||
}
|
||||
|
||||
func generateVolFromSnap(rbdSnap *rbdSnapshot) *rbdVolume {
|
||||
vol := new(rbdVolume)
|
||||
vol.ClusterID = rbdSnap.ClusterID
|
||||
vol.VolID = rbdSnap.VolID
|
||||
vol.Monitors = rbdSnap.Monitors
|
||||
vol.Pool = rbdSnap.Pool
|
||||
vol.JournalPool = rbdSnap.JournalPool
|
||||
vol.RadosNamespace = rbdSnap.RadosNamespace
|
||||
vol.RbdImageName = rbdSnap.RbdSnapName
|
||||
vol.ImageID = rbdSnap.ImageID
|
||||
// copyEncryptionConfig cannot be used here because the volume and the
|
||||
// snapshot will have the same volumeID which cases the panic in
|
||||
// copyEncryptionConfig function.
|
||||
vol.blockEncryption = rbdSnap.blockEncryption
|
||||
vol.fileEncryption = rbdSnap.fileEncryption
|
||||
|
||||
return vol
|
||||
func (rbdSnap *rbdSnapshot) toVolume() *rbdVolume {
|
||||
return &rbdVolume{
|
||||
rbdImage: rbdImage{
|
||||
ClusterID: rbdSnap.ClusterID,
|
||||
VolID: rbdSnap.VolID,
|
||||
Monitors: rbdSnap.Monitors,
|
||||
Pool: rbdSnap.Pool,
|
||||
JournalPool: rbdSnap.JournalPool,
|
||||
RadosNamespace: rbdSnap.RadosNamespace,
|
||||
RbdImageName: rbdSnap.RbdSnapName,
|
||||
ImageID: rbdSnap.ImageID,
|
||||
// copyEncryptionConfig cannot be used here because the volume and the
|
||||
// snapshot will have the same volumeID which cases the panic in
|
||||
// copyEncryptionConfig function.
|
||||
blockEncryption: rbdSnap.blockEncryption,
|
||||
fileEncryption: rbdSnap.fileEncryption,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func undoSnapshotCloning(
|
||||
|
Loading…
Reference in New Issue
Block a user