Feature #17178
open
[OpenStack Glance] update store driver to sparsify rbd-backed images
Added by Jason Dillaman over 7 years ago.
Updated almost 7 years ago.
Description
If a task flow isn't being utilized to automatically convert qcow2 images to raw images on the glance backend, the user must upload raw images to RBD-back glance pools. It would be nice if the RBD glance store would support skipping fully zeroed blocks when importing the image to the RBD pool.
Is the python rbd binding support skipping fully zeroed blocks? I found use cli, it will, but python binding is not, which tested 1 years ago.
@Tianqing Li: there is logic within the rbd CLI's import tool to skip fully zeroed blocks. We could optionally put some logic deep within the librbd IO path to convert a write of all zeroes to a discard operation. However, not only would this take a little more CPU to scan the buffer for each write request, if the writes are small enough (i.e. not block size), librbd would still just end up writing zeroes to the OSDs and by default the OSDs don't punch holes (filestore_punch_hole = false) -- so you'd just end up with a potentially fully allocated file again. That is why it's best to fix this upstream.
I know,we should implement the similar logic of rbd CLI's import tool in glance store. I can help on it.
- Status changed from New to In Progress
Also available in: Atom
PDF