os/bluestore: simplify allocator release flow #12343

Merged
merged 7 commits into from Dec 16, 2016

Projects

None yet

4 participants

@liewegas
Member
liewegas commented Dec 6, 2016

No need for the allocator to coordinate with the kv commit cycle. Instead,
make it hte caller's responsibility to not release extents until their dereference
has been committed.

@liewegas liewegas added the bluestore label Dec 6, 2016
@somnathr
Contributor
somnathr commented Dec 6, 2016

@liewegas Will take this patch and apply multi kv_sync on top..Will keep you posted on this..

@liewegas
Member
liewegas commented Dec 6, 2016

rebased on latest master, which now includes the bitalloc dump

@chhabaramesh
Contributor

@liewegas , looks good to me.

@varadakari

Looks good to me

@liewegas liewegas added the needs-qa label Dec 7, 2016
@somnathr
Contributor
somnathr commented Dec 7, 2016

@liewegas I am seeing some degradation after porting my multi kv_sync changes on top of these commits + latest master. Not sure if it is because of the allocator changes or something else (because I was working on probably 3 weeks old master). Will revert these commits and see.

@chhabaramesh
Contributor

@liewegas , I think we should remove TBD comment in BitMapAllocator.cc for making commiting logic concurrent:

  • TBD list:
    1. Make commiting and un commiting lists concurrent.
      */
liewegas added some commits Dec 6, 2016
@liewegas liewegas os/bluestore: release alloc directly into usable pool
Wait until after the kv transaction commits, and then
release extents directly into the usable pool.

This will let us remove the commit_{start,end} business.

Signed-off-by: Sage Weil <sage@redhat.com>
b605a14
@liewegas liewegas os/bluestore: defer bluefs reclaimed extent release
Signed-off-by: Sage Weil <sage@redhat.com>
65ead28
@liewegas liewegas os/bluestore/BlueFS: defer releasing extents explicitly
Don't rely on the Allocator to do this for us (that is
about to go away!).

Signed-off-by: Sage Weil <sage@redhat.com>
e0ec06e
@liewegas liewegas os/bluestore/BlueFS: do not call commit_{start,finish}
Signed-off-by: Sage Weil <sage@redhat.com>
9fad893
@liewegas liewegas os/bluestore: do not call commit_{start,finish}
Signed-off-by: Sage Weil <sage@redhat.com>
9e41b4c
@liewegas liewegas os/bluestore: remove commit_{start,finish} from Allocator
Signed-off-by: Sage Weil <sage@redhat.com>
5522dee
@liewegas liewegas os/bluestore: clone_range of len 0 creates but does not size object
This mimics, roughly,

 open(..., O_WRONLY|O_CREAT, ...)
 seek(...)
 if (len > 0)
   write(...)

Signed-off-by: Sage Weil <sage@redhat.com>
a411f58
@liewegas liewegas merged commit 3cf1ca5 into ceph:master Dec 16, 2016

3 checks passed

Signed-off-by all commits in this PR are signed
Details
Unmodifed Submodules submodules for project are unmodified
Details
default Build finished.
Details
@liewegas liewegas deleted the liewegas:wip-bluestore-release branch Dec 16, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment