Background
We provide virtual machines for customers to use, which include an
important feature: in the initial state, the disks in the virtual
machine do not occupy actual storage space, and the data read by users
is all zeros until the user writes data for the first time. This can
save a large amount of storage.
Problem
However, after introducing dm-crypt, this feature has failed. Because we
expect the data read by users in the initial state to be zero, we have
to write all zeros from dm-crypt.
Hence we'd like to propose to bypass zero data for dm-crypt, for
example:
before:
zero data -> encrypted zero data
decrypted zero data -> zero data
others
after:
zero data -> zero data
decrypted zero data -> encrypted zero data
others(doesn't change)
We'd like to hear from the community for suggestions first, before we
start. :)
Thanks,
Kuai