summary:
Rbd clone shares objects with its parent, unless writing data to clone. When
read data from clone, it copy data from its parent if
object doesn't exits in clone. Each time read the same object(not in clone),
the clone must send request to its parent. Usually the network latency
is bottleneck of read performance. If store the object into clone after copyup
it from parent, then the next time read the same object
just in clone, which can improve read performance.
Copy entire object from parent,no matter read entire or part of object.
Min Chen (3):
librbd: copy-on-read for clones, add an option for copy-on-read
librbd: copy-on-read for clones, read entire object from parent
librbd: copy-on-read for clones, write entire object into child
asychronously
src/common/config_opts.h | 1 +
src/include/xlist.h | 1 +
src/librbd/AioRequest.cc | 88 ++++++++++++++++++++++++++++++++++++++++++++--
src/librbd/AioRequest.h | 4 +++
src/librbd/ImageCtx.cc | 68 +++++++++++++++++++++++++++++++++++
src/librbd/ImageCtx.h | 6 ++++
src/librbd/internal.cc | 4 +++
7 files changed, 169 insertions(+), 3 deletions(-)
--
1.7.10.4
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html