All of lore.kernel.org
 help / color / mirror / Atom feed
* [Feature]Proposal for adding a new flag named shared to support performance and statistic purpose
@ 2014-06-05  7:01 Haomai Wang
  2014-06-05  7:25 ` Wido den Hollander
  2014-06-10  1:16 ` Josh Durgin
  0 siblings, 2 replies; 10+ messages in thread
From: Haomai Wang @ 2014-06-05  7:01 UTC (permalink / raw)
  To: Sage Weil, Josh Durgin; +Cc: ceph-devel

Hi,
Previously I sent a mail about the difficult of rbd snapshot size
statistic. The main solution is using object map to store the changes.
The problem is we can't handle with multi client concurrent modify.

Lack of object map(like pointer map in qcow2), it cause many problems
in librbd. Such as clone depth, the deep clone depth will cause
remarkable latency. Usually each clone wrap will increase two times of
latency.

I consider to make a tradeoff between multi-client support and
single-client support for librbd. In practice, most of the
volumes/images are used by VM, there only exist one client will
access/modify image. We can't only want to make shared image possible
but make most of use cases bad. So we can add a new flag called
"shared" when creating image. If "shared" is false, librbd will
maintain a object map for each image. The object map is considered to
durable, each image_close call will store the map into rados. If the
client  is crashed and failed to dump the object map, the next client
open the image will think the object map as out of date and reset the
objectmap.

We can easily find the advantage of this feature:
1. Avoid clone performance problem
2. Make snapshot statistic possible
3. Improve librbd operation performance including read, copy-on-write operation.

What do you think above? More feedbacks are appreciate!

-- 
Best Regards,

Wheat

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-07-14 14:34 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-05  7:01 [Feature]Proposal for adding a new flag named shared to support performance and statistic purpose Haomai Wang
2014-06-05  7:25 ` Wido den Hollander
2014-06-05  7:43   ` Haomai Wang
2014-06-05 13:55     ` Allen Samuels
2014-06-05 14:40       ` Haomai Wang
2014-06-10  1:16 ` Josh Durgin
2014-06-10  6:52   ` Haomai Wang
2014-06-10 19:38     ` Josh Durgin
2014-06-11  4:01       ` Gregory Farnum
2014-07-14 14:34         ` Haomai Wang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.