On Fri, Mar 20, 2020 at 01:41:11PM -0400, Jason Dillaman wrote:
The forthcoming Octopus release of librbd adds support
for sparse
copy-up writes [1] when your min OSD release is set to Octopus (reads
from the parent image were already sparse-read ops). Using holes was
previously not very practical due to the large allocations sizes on
the OSD, but with the change to 4KiB minimum block sizes, such a
technique would be possible (albeit a breaking change for all older
clients controlled via a new feature bit). You also have the ability
to control the RBD object sizes and use something smaller than the
4MiB default.
Also note, that EC pools do not support sparse reads, which makes it a
bit less useful, taking into account how common EC pools become now.
--
Mykola Golub