mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-12-18 11:00:25 +00:00
rbd: move repairImageID() from rbdVolume struct to rbdImage
The `repairImageID()` function is useful for the `rbdSnapshot` objects as well. Move it to the `rbdImage` struct that is the base for both `rbdVolume` and `rbdSnapshot`. Signed-off-by: Niels de Vos <ndevos@ibm.com>
This commit is contained in:
parent
9c567fd8a0
commit
2d82cebfeb
@ -352,29 +352,30 @@ func (rv *rbdVolume) Exists(ctx context.Context, parentVol *rbdVolume) (bool, er
|
|||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// repairImageID checks if rv.ImageID is already available (if so, it was
|
// repairImageID checks if ri.ImageID is already available (if so, it was
|
||||||
// fetched from the journal), in case it is missing, the imageID is obtained
|
// fetched from the journal), in case it is missing, the imageID is obtained
|
||||||
// and stored in the journal.
|
// and stored in the journal.
|
||||||
// if the force is set to true, the latest imageID will get added/updated in OMAP.
|
// if the force is set to true, the latest imageID will get added/updated in OMAP.
|
||||||
func (rv *rbdVolume) repairImageID(ctx context.Context, j *journal.Connection, force bool) error {
|
func (ri *rbdImage) repairImageID(ctx context.Context, j *journal.Connection, force bool) error {
|
||||||
if force {
|
if force {
|
||||||
// reset the imageID so that we can fetch latest imageID from ceph cluster.
|
// reset the imageID so that we can fetch latest imageID from ceph cluster.
|
||||||
rv.ImageID = ""
|
ri.ImageID = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
if rv.ImageID != "" {
|
if ri.ImageID != "" {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
err := rv.getImageID()
|
err := ri.getImageID()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.ErrorLog(ctx, "failed to get image id %s: %v", rv, err)
|
log.ErrorLog(ctx, "failed to get image id %s: %v", ri, err)
|
||||||
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
err = j.StoreImageID(ctx, rv.JournalPool, rv.ReservedID, rv.ImageID)
|
|
||||||
|
err = j.StoreImageID(ctx, ri.JournalPool, ri.ReservedID, ri.ImageID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.ErrorLog(ctx, "failed to store volume id %s: %v", rv, err)
|
log.ErrorLog(ctx, "failed to store volume id %s: %v", ri, err)
|
||||||
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -110,6 +110,7 @@ type rbdImage struct {
|
|||||||
// This does not have a JSON tag as it is not stashed in JSON encoded
|
// This does not have a JSON tag as it is not stashed in JSON encoded
|
||||||
// config maps in v1.0.0
|
// config maps in v1.0.0
|
||||||
RequestName string
|
RequestName string
|
||||||
|
ReservedID string
|
||||||
NamePrefix string
|
NamePrefix string
|
||||||
// ParentName represents the parent image name of the image.
|
// ParentName represents the parent image name of the image.
|
||||||
ParentName string
|
ParentName string
|
||||||
@ -167,7 +168,6 @@ type rbdVolume struct {
|
|||||||
AdminID string
|
AdminID string
|
||||||
UserID string
|
UserID string
|
||||||
Mounter string
|
Mounter string
|
||||||
ReservedID string
|
|
||||||
MapOptions string
|
MapOptions string
|
||||||
UnmapOptions string
|
UnmapOptions string
|
||||||
LogDir string
|
LogDir string
|
||||||
@ -190,7 +190,6 @@ type rbdSnapshot struct {
|
|||||||
// SourceVolumeID is the volume ID of RbdImageName, that is exchanged with CSI drivers
|
// SourceVolumeID is the volume ID of RbdImageName, that is exchanged with CSI drivers
|
||||||
// RbdSnapName is the name of the RBD snapshot backing this rbdSnapshot
|
// RbdSnapName is the name of the RBD snapshot backing this rbdSnapshot
|
||||||
SourceVolumeID string
|
SourceVolumeID string
|
||||||
ReservedID string
|
|
||||||
RbdSnapName string
|
RbdSnapName string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user