Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mimic: os/bluestore: apply shared_alloc_size to shared device with log level change #30219

Conversation

@vumrao
Copy link
Contributor

vumrao commented Sep 6, 2019

backport tracker https://tracker.ceph.com/issues/41339

Backport of #29537


originally opened by @liewegas at #29746

#29746 was superseded by @jdurgin 's PR #29861

this PR supersedes #29861 adding log level change

liewegas added 2 commits Aug 16, 2019
Both stupid and bitmap allocator returs -ENOSPC if they're
unable to allocate any space. Existing callers aren't always
respect this - hence doing some cleanup.

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit a1246da)

- allocator fallback not there
- allocator fallback not there
Add a separate config option that controls the alloc_size for the shared
device (BDEV_SLOW).

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit c69c953)
@vumrao

This comment has been minimized.

Copy link
Contributor Author

vumrao commented Sep 6, 2019

@neha-ojha - As discussed.

liewegas and others added 5 commits Aug 19, 2019
Keep an alloc_size vector so that we have this value handy at all times.
Allow bluestore to fetch this value directly instead of looking at the
bluefs_* config options since this encapsulates things a bit better, and
also isn't vulnerable to the config setting changing at runtime.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit e8b5a45)

 Conflicts:
	src/os/bluestore/BlueFS.cc
- assert vs ceph_assert
- no allocator naming
- missing some device expansion code
- missing allocator fallback
- no BDEV_NEW*
	src/os/bluestore/BlueStore.cc
- missing allocator fallback, has freespace balancing code
- degenerates into a pretty trivial patch to this file
This does not appear in master because this code was removed with the
allocator fallback behavior, which was not backported.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 98c04c4)
First try to gift using the larger alloc_size (normally bluefs_alloc_size,
but here max(bluefs_alloc_size,bluefs_shared_alloc_size) just in case the
settings are weird.  If that fails, then try the shared_alloc_size.  If
that fails, fail and complain as before, with an more accurate error
message.

This is a slightly modified version of the luminous patch,
91a1fa1

Signed-off-by: Sage Weil <sage@redhat.com>
…e to log level 1

Fixes: https://tracker.ceph.com/issues/41399

Signed-off-by: Vikhyat Umrao <vumrao@redhat.com>
(cherry picked from commit 96d48af)
Returning 0 from _balance_bluefs_freespace() skips recording
allocations in the superblock, so we fail the consistency check on
startup. The elseif branch handles this case already, so just remove
it from the first branch. This is luminous/mimic specific, since
bluefs extents are not recorded in the superblock in later releases.

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
@vumrao vumrao force-pushed the vumrao:wip-vumrao-bluefs-shared-alloc-with-log-level-change-mimic branch from 92c2282 to f1e0ea7 Sep 10, 2019
@vumrao

This comment has been minimized.

Copy link
Contributor Author

vumrao commented Sep 10, 2019

@jdurgin Hi Josh - I think it should be good now. Thanks.

@yuriw

This comment has been minimized.

Copy link
Contributor

yuriw commented Oct 8, 2019

@yuriw yuriw merged commit c8d3b9d into ceph:mimic Oct 15, 2019
4 checks passed
4 checks passed
Docs: build check OK - docs built
Details
Signed-off-by all commits in this PR are signed
Details
Unmodified Submodules submodules for project are unmodified
Details
make check make check succeeded
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants
You can’t perform that action at this time.