Commit Graph

98258 Commits

Author SHA1 Message Date
Jason Dillaman
a786cfd0ab librbd: avoid bl manipulation on single object read/writes
If a read or write only spans a single object and buffer extent,
there isn't any need to build a new bufferlist from a full sub-bl.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-05-13 13:30:09 -04:00
Jason Dillaman
cac640c564 librbd: switch to lightweight striper for hot IO path
Optimize non-complex IO requests using the new lightweight object
striper that avoids heap allocations for small requests.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-05-13 13:30:09 -04:00
Jason Dillaman
f5a93d6802 librbd: drop data oid parameter from IO path
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-05-13 13:30:09 -04:00
Jason Dillaman
10bebfcac0 librbd: helper method to generate data object OIDs on-demand
The new generator avoids multiple string length and copy operations
that are currently required in the Striper.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-05-13 13:07:04 -04:00
Jason Dillaman
58bbb87c5c osdc/Striper: implemented a lightweight version of StripedReadResult
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-05-13 13:07:04 -04:00
Jason Dillaman
a3448eda33 osdc/Striper: implemented a lightweight version of file_to_extents
The previous versions of file_to_extents resulted in numerous heap
allocations for maps, vectors, and strings -- in addition to using
a CPU inefficient oid name formater.

librbd doesn't require the use of object_t and it would be better to
avoid any heap allocations on the IO path for the common case.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-05-13 12:38:13 -04:00
Jason Dillaman
cc7ec3e18d common/Finisher: avoid memory re-allocations for finisher queue
Since there is only a single thread associated with the Finisher,
swap between two queues to avoid the need to re-allocate a new
vector for each iteration through the loop. Also replace the
condition broadcast with a signal since there is only a single
thread to wake up.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-05-13 12:38:12 -04:00
Jason Dillaman
99826fbe75
Merge pull request #27999 from trociny/wip-rbd-sparse_copyup
librbd: clone copy-on-write operations should preserve sparseness

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2019-05-13 12:15:51 -04:00
Kefu Chai
5a79b4c822
Merge pull request #28071 from tchaikov/wip-crimson-perf-regres
crimson,osd: performance fixes

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-05-14 00:00:00 +08:00
Casey Bodley
782be351c8
Merge pull request #27270 from theanalyst/beast-fe-ipv6
rgw: normalize v6 endpoint behaviour for the beast frontend

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
2019-05-13 10:02:21 -04:00
Nathan Cutler
cfa2c5fb4d
Merge pull request #26281 from smithfarm/wip-git-describe-long
make-dist: set version number only once

Reviewed-by: Tim Serong <tserong@suse.com>
2019-05-13 15:10:20 +02:00
Casey Bodley
d39f6a5008
Merge pull request #28045 from cbodley/wip-39635
cls/user: cls_user_set_buckets_info overwrites creation_time

Reviewed-by: Abhishek Lekshmanan <abhishek@suse.com>
2019-05-13 09:09:17 -04:00
Casey Bodley
f1f223d103
Merge pull request #27980 from cbodley/wip-24991
rgw: delete_obj_index() takes mtime for bilog

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
2019-05-13 09:07:04 -04:00
Casey Bodley
cd236e7a42
Merge pull request #28031 from ivancich/wip-rgw-admin-unordered
rgw: allow radosgw-admin to list bucket w --allow-unordered

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Abhishek Lekshmanan <abhishek@suse.com>
2019-05-13 09:05:29 -04:00
Casey Bodley
b59fcb0c95
Merge pull request #27676 from mkogan1/wip-rgw-39380
rgw: fix default_placement containing "/" when storage_class is standard

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2019-05-13 08:53:58 -04:00
Casey Bodley
1ad2cb777d
Merge pull request #27984 from cbodley/wip-test-rgw-multisite-sh
test/rgw: fix test-rgw-multisite.sh script for creating multisite clusters

Reviewed-by: Shilpa Jagannath <smanjara@redhat.com>
2019-05-13 08:51:47 -04:00
Kefu Chai
e8da9e1e13
Merge pull request #27807 from cyb70289/utf8-encode
common: optimize encode_utf8

Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-05-13 20:42:24 +08:00
Mykola Golub
76e4f2ce24
Merge pull request #28051 from dillaman/wip-39521
librbd: fix issues with object-map/fast-diff feature interlock

Reviewed-by: Mykola Golub <mgolub@suse.com>
2019-05-13 15:25:09 +03:00
Mykola Golub
b2c799e7d0
Merge pull request #28063 from dillaman/wip-39656
qa/workunits/rbd: use https protocol for devstack git operations

Reviewed-by: Mykola Golub <mgolub@suse.com>
2019-05-13 15:24:39 +03:00
Kefu Chai
a09a4f342c cmake: define BOOST_SP_DISABLE_THREADS for crimson
because we are single-threaded

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-05-12 22:41:02 +08:00
Radoslaw Zarzynski
0291178ede osd/osd_internal_types: bring moving semantics to ObjectState.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-05-12 22:40:43 +08:00
Radoslaw Zarzynski
d2b49dae15 crimson/osd: simplify write handling in PG::do_osd_ops.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-05-12 22:40:35 +08:00
Mykola Golub
750e61ac91 librbd: clone copy-on-write operations should preserve sparseness
Signed-off-by: Mykola Golub <mgolub@suse.com>
2019-05-12 09:03:25 +01:00
J. Eric Ivancich
ce1df3ceef
Merge pull request #27870 from theanalyst/rgw-objexp-fixes-cli
rgw: object expirer fixes

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
2019-05-11 09:10:54 -04:00
Kefu Chai
93ba1a31df
Merge pull request #27926 from tchaikov/wip-38627
pybind/mgr: convert str to int using "int()"

Reviewed-by: Noah Watkins <noahwatkins@gmail.com>
2019-05-11 09:37:39 +08:00
David Zafman
624d1172c3
Merge pull request #27914 from dzafman/wip-39304
osd: Include dups in copy_after() and copy_up_to()

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
2019-05-10 17:41:31 -07:00
David Zafman
09fb7a5a12
Merge pull request #27961 from dzafman/wip-39582
osd: Output Base64 encoding of CRC header if binary data present

Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-05-10 15:46:16 -07:00
David Zafman
f526c6d55c osd: Fix merge_log_dups() not remove dup corresponding to log.tail
The log tail is not inclusive of the log, so not an overlap
Fix unittest_pglog to verify proper operation

Signed-off-by: David Zafman <dzafman@redhat.com>
2019-05-10 15:31:51 -07:00
David Zafman
d0d244d222 test: unittest_pglog: Additional test cases for trim, copy_up_to and copy_after
Signed-off-by: David Zafman <dzafman@redhat.com>
2019-05-10 15:31:51 -07:00
David Zafman
a008bd8c18 test: unittest_pglog: Remove irrelevant config values
osd_min_pg_log_entries and osd_max_pg_log_entries are not involved
in the log handling code being tested.

Signed-off-by: David Zafman <dzafman@redhat.com>
2019-05-10 15:31:51 -07:00
David Zafman
7959159e83 test: Adding standalone test of log copy handling
Signed-off-by: David Zafman <dzafman@redhat.com>
2019-05-10 15:31:51 -07:00
Sage Weil
62e241e4da Merge PR #27782 into master
* refs/pull/27782/head:
	os/bluestore: protect BlueFS::FileReader::buf
	os/bluestore: log 'buffered' in KernelDevice::read_random
	os/bluestore: support RocksDB prefetching at BlueFS
	os/bluestore: call BlueFS::_init_logger earlier.
	tools/ceph-objectstore-tool: dump perf counters on competion.
	os/bluestore: optimize mapping offset to extent in BlueFS.

Reviewed-by: Sage Weil <sage@redhat.com>
2019-05-10 16:29:35 -05:00
Sage Weil
5229e1ec7f Merge PR #27928 into master
* refs/pull/27928/head:
	mon/OSDMonitor: require nautilus to set pg_autoscale_mode
	mon/OSDMonitor: allow pg_num to increase when require_osd_release < N

Reviewed-by: Neha Ojha <nojha@redhat.com>
2019-05-10 16:22:40 -05:00
Sage Weil
4982bd58fc Merge PR #27877 into master
* refs/pull/27877/head:
	mon: paxos: introduce new reset_pending_committing_finishers for safety

Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-05-10 16:21:58 -05:00
Neha Ojha
de5c5d8468
Merge pull request #21722 from mslovy/wip-parial-recovery
osd: partial recovery strategy based on PGLog

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
2019-05-10 11:48:23 -07:00
Alfredo Deza
d362301306
Merge pull request #28060 from ceph/wip-bz1666822
ceph-volume: use the Device.rotational property instead of sys_api

Reviewed-by: Alfredo Deza <adeza@redhat.com>
2019-05-10 14:37:35 -04:00
Andrew Schoen
f1db0a8648 ceph-volume: skip missing interpreters when running tox tests
This will skip tests for versions of python that don't exist on the node
that's running the tests.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2019-05-10 11:04:35 -05:00
Andrew Schoen
8ebff475df ceph-volume: use the Device.rotational property instead of sys_api
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1666822

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
2019-05-10 10:41:49 -05:00
Jason Dillaman
fb4f9a8a08 qa/workunits/rbd: use https protocol for devstack git operations
Fixes: http://tracker.ceph.com/issues/39656
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2019-05-10 11:09:54 -04:00
Sage Weil
d2c591a142 mon/OSDMonitor: require nautilus to set pg_autoscale_mode
Signed-off-by: Sage Weil <sage@redhat.com>
2019-05-10 09:31:03 -05:00
Sage Weil
7e7134aa93 mon/OSDMonitor: allow pg_num to increase when require_osd_release < N
Setting pg_num_target has no effect when we encode our OSDMap with mimic
or luminous features.  Fall back to the pre-nautilus behavior of directly
setting pg_num.

Fixes: http://tracker.ceph.com/issues/39570
Signed-off-by: Sage Weil <sage@redhat.com>
2019-05-10 09:31:03 -05:00
Casey Bodley
8107bc6aef
Merge pull request #27795 from cbodley/wip-rgw-beast-async-body
rgw: beast frontend uses yield_context to read/write body

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Reviewed-by: Abhishek Lekshmanan <abhishek@suse.com>
2019-05-10 09:05:32 -04:00
Lenz Grimmer
e7ad5ed68d
mgr/dashboard: Added Object Gateway menu tab tests (#27565)
mgr/dashboard: Added Object Gateway menu tab tests

Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
2019-05-10 12:41:09 +02:00
Nathan Cutler
ae4f94c868
Merge pull request #28042 from smithfarm/wip-doc-ceph-backport-sh
doc: improve ceph-backport.sh comment block

Reviewed-by: Abhishek Lekshmanan <abhishek@suse.com>
2019-05-10 11:27:30 +02:00
Nathan Cutler
0b6c121805 doc: improve ceph-backport.sh comment block
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2019-05-10 10:22:50 +02:00
Samuel Just
d20076b7b4
Merge pull request #28048 from athanatos/sjust/wip-peering-state-cleanup
More PeeringState and related cleanups to ease use in crimson

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2019-05-09 20:34:06 -07:00
Sage Weil
5cca06aab8 Merge PR #27811 into master
* refs/pull/27811/head:
	commom: make cluster_network work.

Reviewed-by: Sage Weil <sage@redhat.com>
2019-05-09 20:42:16 -05:00
David Zafman
00f279db37 osd: Include dups in copy_after() and copy_up_to()
Client saw out of order results in a test with a very small
pg_log because a backfill/recovery sent a small number of
log entries for duplicate checks.

Since these copy operations are equivalent to both a copy
and trim (an argument controls how many log entries
transfer), we need to include any new dups with enough
existing dups up to the configured maximum.

Fixes: http://tracker.ceph.com/issues/39304

Signed-off-by: David Zafman <dzafman@redhat.com>
2019-05-09 17:50:27 -07:00
Xie Xingguo
a14545d592
Merge pull request #28050 from dillaman/wip-39448
msg/async: reduce verbosity of connection timeout failures

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
2019-05-10 08:39:15 +08:00
sjust@redhat.com
0d7115584e osd/: Move PG::_prepare_write_info into osd_types prepare_info_keymap
Signed-off-by: Samuel Just <sjust@redhat.com>
2019-05-09 17:22:34 -07:00