rbd: add ParentInTrash parameter in rbdImage struct

This commit adds ParentInTrash parameter in rbdImage struct
and makes use of it in getParent() function in order to avoid
error in case the parent is present but in trash.

Signed-off-by: Rakshith R <rar@redhat.com>
This commit is contained in:
Rakshith R 2024-03-29 15:26:02 +05:30 committed by mergify[bot]
parent 058426dce6
commit c34b31ee05

View File

@ -116,6 +116,8 @@ type rbdImage struct {
ParentName string
// Parent Pool is the pool that contains the parent image.
ParentPool string
// ParentInTrash indicates the parent image is in trash.
ParentInTrash bool
// Cluster name
ClusterName string
@ -1615,6 +1617,7 @@ func (ri *rbdImage) getImageInfo() error {
} else {
ri.ParentName = parentInfo.Image.ImageName
ri.ParentPool = parentInfo.Image.PoolName
ri.ParentInTrash = parentInfo.Image.Trash
}
// Get image creation time
tm, err := image.GetCreateTimestamp()
@ -1633,7 +1636,9 @@ func (ri *rbdImage) getParent() (*rbdImage, error) {
if err != nil {
return nil, err
}
if ri.ParentName == "" {
// The image may not have a parent or the parent maybe in trash.
// Return nil in both the cases.
if ri.ParentName == "" || ri.ParentInTrash {
return nil, nil
}