Skip to content

Commit

Permalink
rbd: move repairImageID() from rbdVolume struct to rbdImage
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
nixpanic authored and mergify[bot] committed Sep 26, 2024
1 parent 9c567fd commit 2d82ceb
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 10 deletions.
17 changes: 9 additions & 8 deletions internal/rbd/rbd_journal.go
Original file line number Diff line number Diff line change
Expand Up @@ -352,29 +352,30 @@ func (rv *rbdVolume) Exists(ctx context.Context, parentVol *rbdVolume) (bool, er
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
// and stored in the journal.
// 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 {
// 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
}

err := rv.getImageID()
err := ri.getImageID()
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
}
err = j.StoreImageID(ctx, rv.JournalPool, rv.ReservedID, rv.ImageID)

err = j.StoreImageID(ctx, ri.JournalPool, ri.ReservedID, ri.ImageID)
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
}
Expand Down
3 changes: 1 addition & 2 deletions internal/rbd/rbd_util.go
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ type rbdImage struct {
// This does not have a JSON tag as it is not stashed in JSON encoded
// config maps in v1.0.0
RequestName string
ReservedID string
NamePrefix string
// ParentName represents the parent image name of the image.
ParentName string
Expand Down Expand Up @@ -167,7 +168,6 @@ type rbdVolume struct {
AdminID string
UserID string
Mounter string
ReservedID string
MapOptions string
UnmapOptions string
LogDir string
Expand All @@ -190,7 +190,6 @@ type rbdSnapshot struct {
// SourceVolumeID is the volume ID of RbdImageName, that is exchanged with CSI drivers
// RbdSnapName is the name of the RBD snapshot backing this rbdSnapshot
SourceVolumeID string
ReservedID string
RbdSnapName string
}

Expand Down

0 comments on commit 2d82ceb

Please sign in to comment.