librbd: add 'write_zeroes' public C/C++ API methods
Unlike the existing 'discard' option which is more of a hint to
attempt to release space, the new 'write_zeroes' APIs will ensure
that the entire provided extent is fully zeroed.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit
ae6dd86b22e928dc23a385faf41cf76b0d293576)
Conflicts:
src/librbd/api/Io.h/cc: logic exists in ImageRequestWQ files
src/librbd/librbd.cc: trivial resolution due missing api::Io
src/test/librbd/test_librbd.cc: trivial resolution
(cherry picked from commit
0e3add97ff1f919d81a1c644b150672cbd691c84)
Conflicts:
src/librbd/io/ImageRequestWQ.cc: different locks and no overlap guard
src/test/librbd/test_librbd.cc: trivial resolution