From 67d73cd6e9c9cede7d89667165fde4020c77a771 Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Mon, 3 May 2021 16:32:40 +0530 Subject: [PATCH] rbd: flatten image if the depth is not zero flatten the image if the deep-flatten feature is present on the images in the chain or if the images in chain is not zero, as we cannot check the deep-flatten feature the images which are in trash. Signed-off-by: Madhu Rajanna --- internal/rbd/nodeserver.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/internal/rbd/nodeserver.go b/internal/rbd/nodeserver.go index 7fa58003a..1582ff78b 100644 --- a/internal/rbd/nodeserver.go +++ b/internal/rbd/nodeserver.go @@ -238,6 +238,7 @@ func (ns *NodeServer) stageTransaction(ctx context.Context, req *csi.NodeStageVo var err error var readOnly bool var feature bool + var depth uint var cr *util.Credentials cr, err = util.NewUserCredentials(req.GetSecrets()) @@ -272,7 +273,11 @@ func (ns *NodeServer) stageTransaction(ctx context.Context, req *csi.NodeStageVo if err != nil { return transaction, err } - if feature { + depth, err = volOptions.getCloneDepth(ctx) + if err != nil { + return transaction, err + } + if feature || depth != 0 { err = volOptions.flattenRbdImage(ctx, cr, true, rbdHardMaxCloneDepth, rbdSoftMaxCloneDepth) if err != nil { return transaction, err