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 data 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

Reply via email to