1. If the volume which is smaller size of image cache is requested, cinder should not create the volume with clone_volume method and it should be created as a new volume from the image.
2. Introduce a new image tag, like min_volume_size with value. If the tag is assigned, cinder created a image cache volume according to min_volume_size parameter, not requested volume size. After that, cinder clone the volume then extend the volume if needed.
I think there are several ways to fix this issue.
1. If the volume which is smaller size of image cache is requested, cinder should not create the volume with clone_volume method and it should be created as a new volume from the image.
2. Introduce a new image tag, like min_volume_size with value. If the tag is assigned, cinder created a image cache volume according to min_volume_size parameter, not requested volume size. After that, cinder clone the volume then extend the volume if needed.
Any inputs are welcomed.