mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-12-25 14:30:22 +00:00
rbd: add layering & deep flattenfeatures for groupsnapshot image
Signed-off-by: Rakshith R <rar@redhat.com>
(cherry picked from commit 50b2a0528e
)
This commit is contained in:
parent
12c9a8c2e0
commit
8fcb438794
@ -629,8 +629,10 @@ func flattenTemporaryClonedImages(ctx context.Context, rbdVol *rbdVolume, cr *ut
|
||||
}
|
||||
// If we start flattening all the snapshots at one shot the volume
|
||||
// creation time will be affected,so we will flatten only the extra
|
||||
// snapshots.
|
||||
extraSnapshots := min(len(snaps)-int(minSnapshotsOnImageToStartFlatten), len(children))
|
||||
// snapshots. Use the min of the extra snapshots and the number of children
|
||||
// to avoid scenario where number of children are less than the extra snapshots.
|
||||
// This occurs when the child images are in trash and not yet deleted.
|
||||
extraSnapshots := min((len(snaps) - int(minSnapshotsOnImageToStartFlatten)), len(children))
|
||||
children = children[:extraSnapshots]
|
||||
err = flattenClonedRbdImages(
|
||||
ctx,
|
||||
|
@ -276,6 +276,10 @@ func (rv *rbdVolume) NewSnapshotByID(
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// set the features for the clone image.
|
||||
f := []string{librbd.FeatureNameLayering, librbd.FeatureNameDeepFlatten}
|
||||
rv.ImageFeatureSet = librbd.FeatureSetFromNames(f)
|
||||
|
||||
options, err := rv.constructImageOptions(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
Loading…
Reference in New Issue
Block a user