On Wed, Dec 11, 2019 at 08:41:10AM -0500, Jason Dillaman wrote: > On Tue, Dec 10, 2019 at 11:02 PM Li Wang <laurence.liwang@xxxxxxxxx> wrote: > > > > Hi Jason, > > If possible to do the following optimization, > > (1) For write, update in memory map first, then write data and > > asynchrously update map, > > therefore will not have the first write performance problem > > (2) For rbd open, after exclusive lock acquired, before loading the map, > > write a flag MAP_IN_USE into the rbd header > > (3) Before releasing exclusive lock, flush pending map writes, clean the flag > > (4) For rbd open, if the flag exists before loading map, discard and > > rebuild the map > > Changing the behaviour like this would break backwards compatibility > with older clients. Therefore, it would really need a new feature bit > to describe "object-map v2". Rebuilding the map on a large image is > not a "free" operation since you might have to loop through tens of > thousands of objects. That could be quite the unexpected surprise for > a user attempting to restart a failed VM. Could mark the map as invalid on open and start rebuilding in background? -- Mykola Golub _______________________________________________ Dev mailing list -- dev@xxxxxxx To unsubscribe send an email to dev-leave@xxxxxxx