]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
os/bluestore: restructure deferred writes
authorSage Weil <sage@redhat.com>
Tue, 11 Apr 2017 21:54:57 +0000 (17:54 -0400)
committerSage Weil <sage@redhat.com>
Wed, 26 Apr 2017 20:03:35 +0000 (16:03 -0400)
commitc27df932299737d531d965b455dbb63ee3d55627
tree20040f7537204a08813311641e326f9a7078d6ec
parent8c32e69c668b7ba8bfe0f535e9056def9e9d64e9
os/bluestore: restructure deferred writes

Explicitly aggregate deferred writes into a batch.  When we
submit, take the opportunity to coalesce contiguous writes.
Handle aio completion independently from the original txcs.

Note that this paves the way for a few additional steps:

1- we could make deallocations cancel deferred writes.
2- we could drop the txc deferred states entirely and rely on
the explicit deferred write batch machinery instead... if we
build an alternative way to complete the SharedBlob writes
and ensure the lifecycle issue are dealt with.  (I'm not sure
it would be worth it, but it might be.)

Signed-off-by: Sage Weil <sage@redhat.com>
src/os/bluestore/BlueStore.cc
src/os/bluestore/BlueStore.h