Commit Graph

70286 Commits

Author SHA1 Message Date
Igor Fedotov
2418b91411 test/store_test: adjust OnodeSizeTracking test case to measure full object metadata using empty Onode as a basis
Signed-off-by: Igor Fedotov <ifedotov@mirantis.com>
2017-03-28 13:43:43 +00:00
Igor Fedotov
7474ccaf33 os/bluestore: remove excessive 0x in logging
Signed-off-by: Igor Fedotov <ifedotov@mirantis.com>
2017-03-28 13:43:43 +00:00
Igor Fedotov
b9a33a858e os/bluestore: add test cases for BlueStore blob reuse.
Signed-off-by: Igor Fedotov <ifedotov@mirantis.com>
2017-03-28 13:43:42 +00:00
Igor Fedotov
1f455c2288 os/bluestore: try to reuse blob rather than create new one on overwrite.
Signed-off-by: Igor Fedotov <ifedotov@mirantis.com>
2017-03-28 13:43:40 +00:00
John Spray
af3b8ed617 Merge pull request #14021 from batrick/i19291
mds: set ceph-mds name uncond for external tools

Reviewed-by: John Spray <john.spray@redhat.com>
2017-03-28 09:29:29 -04:00
John Spray
dbe1f60aed Merge pull request #14017 from jcsp/wip-19282
mds: don't assert on read errors in RecoveryQueue

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2017-03-28 09:28:52 -04:00
John Spray
48120683cf Merge pull request #14015 from jcsp/wip-19288
mds: remove legacy "mds tell" command

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2017-03-28 09:28:13 -04:00
John Spray
afe7d0d78f Merge pull request #13904 from jcsp/wip-16709
mon: fix hiding mdsmonitor informative strings

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2017-03-28 09:27:38 -04:00
John Spray
d4959004d1 Merge pull request #12074 from batrick/i17604
mds: warn if insufficient standbys exist

Reviewed-by: John Spray <john.spray@redhat.com>
2017-03-28 09:25:24 -04:00
Jianpeng Ma
6d40622fa1 os/bluestore/bluefs_type: avoid interator all extents when call func get_allocated.
Only update extents it interator all extents to get allocated,
especially for recycling-log-file.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2017-03-28 20:24:50 +08:00
Jianpeng Ma
54e16d4f22 os/bluestore/BlueStore: make code more readable.
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2017-03-28 20:03:29 +08:00
Tim Serong
b976baee3c pybind/mgr/rest: don't set timezone to Chicago
Setting TIME_ZONE in the Django app causes the timestamps printed in
the mgr log to suddenly be wrong after the rest module starts up
(unless, I imagine, if the host happens to be in Chicago).

Signed-off-by: Tim Serong <tserong@suse.com>
2017-03-28 11:47:41 +02:00
Pan Liu
ff4dcf0290 rbd-nbd: polish the output info before and after ioctl NBD_DISCONNECT.
Signed-off-by: Pan Liu <liupan1111@gmail.com>
2017-03-28 16:48:21 +08:00
Pan Liu
3ba01aa6ce rbd-nbd: support signal handle for SIGHUP, SIGINT, and SIGTERM.
Fixes: http://tracker.ceph.com/issues/19349
Signed-off-by: Pan Liu <liupan1111@gmail.com>
2017-03-28 16:33:25 +08:00
Jos Collin
324ed1554a rgw: Removed Unwanted headers
The following headers are already included by the other included header files in rgw_common.h. So removed them.

Signed-off-by: Jos Collin <jcollin@redhat.com>
2017-03-28 13:41:25 +05:30
Brad Hubbard
b2ab85101e common: Fix heap buffer overflow in do_request
Fixes: http://tracker.ceph.com/issues/19393
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2017-03-28 17:28:18 +10:00
Amir Vadai
1890e924ca msg/async/rdma: Extract sockets stuff from RDMAStack.h
This is a preparation commit, in order to make review easier. In this
commit I move code from RDMAStack.h into the new file
RDMAConnectedSocketImpl.h - without changing the code.

In the next commit, the actual logic changes will be done and socket
classes will be split into a base RDMAConnected classes and child
classes with TCP connection establishment specific code.

Issue: 995322
Change-Id: I639fda490a6fbd02addb95d3158c5ac1e7390ef0
Signed-off-by: Amir Vadai <amir@vadai.me>
2017-03-28 09:52:07 +03:00
Amir Vadai
94eddb1ec5 msg/async/rdma: Initialize device on first connect
Allocate Device's IB resources only when first connect for a device is
called.

Also, removed Infiniband::MemoryManager::Chunk::post_srq() which is not
used anywhere in the code.

Issue: 995322
Change-Id: I2ac1e36aff645ad7d8bbc06c87530bf33c4b3ecf
Signed-off-by: Amir Vadai <amir@vadai.me>
2017-03-28 09:49:41 +03:00
Fabian Grünbichler
ae2ee3d383 common: fix segfault in public IPv6 addr picking
sockaddr is only 16 bytes big, so declaring net as sockaddr
and then casting to sockaddr_in6 in case of IPv6 cannot
work.

using sockaddr_storage works for both IPv4 and IPv6, and is
used in other code parts as well.

note that the tests did not find this issue as they declared
the bigger structs and casted the references to (sockaddr *)

Fixes: http://tracker.ceph.com/issues/19371
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2017-03-28 08:26:32 +02:00
David Zafman
4c8ec8a2c3 Merge pull request #13423 from dzafman/wip-18533-tool
Fixes: http://tracker.ceph.com/issues/18533

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2017-03-27 15:15:43 -07:00
Dan Mick
64ee8e8dde Merge pull request #14132 from dmick/wip-arm-crc
arch: fix cmake's ARM CRC intrinsics test to handle duplicitous gcc 4.8.5

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-03-27 12:50:57 -07:00
Dan Mick
ac4815f74b cmake/modules/SIMDExt.cmake: armv8 crypto intrinsics
Test not only for -march support, but also the actual
presence of the intrinsic routines.  Not sure why, but gcc
4.8.5 passes the first but not the second.

Fixes: http://tracker.ceph.com/issues/19386
Signed-off-by: Dan Mick <dan.mick@redhat.com>
2017-03-27 09:35:22 -07:00
Jason Dillaman
f3984f00de librbd: random unit test failures due to shut down race
Fixes: http://tracker.ceph.com/issues/19389
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-03-27 11:41:35 -04:00
David Zafman
1704f62c08 filestore, tools: Fix logging of DBObjectMap check() repairs
Signed-off-by: David Zafman <dzafman@redhat.com>
2017-03-27 08:33:34 -07:00
David Zafman
738156a99e osd: Simplify DBObjectMap by no longer creating complete tables
Bump the version for new maps to 3
Make clone less efficient but simpler
Add rename operation (use instead of clone/unlink)
For now keep code that understands version 2 maps

Signed-off-by: David Zafman <dzafman@redhat.com>
2017-03-27 08:33:34 -07:00
David Zafman
1dda0411f4 ceph-osdomap-tool: Fix seg fault with large amount of check error output
Signed-off-by: David Zafman <dzafman@redhat.com>
2017-03-27 08:33:34 -07:00
David Zafman
4cd3c74c92 osd: Add automatic repair for DBObjectMap bug
Add repair command to ceph-osdomap-tool too

Under some situations the previous rm_keys() code would
generated a corrupt complete table.  There is no way to
figure out what the table should look like now.  By removing
the entries we fix the corruption and aren't much worse off
because the corruption caused some deleted keys to re-appear.

This doesn't breaking the parent/child relationship during
repair because some of the keys may still be contained
in the parent.

Signed-off-by: David Zafman <dzafman@redhat.com>
2017-03-27 08:33:34 -07:00
David Zafman
666f14ed90 ceph-osdomap-tool: Fix tool exit status
Signed-off-by: David Zafman <dzafman@redhat.com>
2017-03-27 08:33:05 -07:00
Samuel Just
c4dffb68ea DBObjectMap: rewrite rm_keys and merge_new_complete
Leverage the updated in_complete_region and needs_parent to simplify
these methods.

Signed-off-by: Samuel Just <sjust@redhat.com>
2017-03-27 08:33:05 -07:00
Samuel Just
97b35f4d7d DBObjectMap: strengthen in_complete_region post condition
Previously, in_complete_region didn't guarantee anything about
where it left complete_iter pointing.  It will be handy for
complete_iter to be pointing at the lowest interval which ends
after to_test.  Make it so.

Signed-off-by: Samuel Just <sjust@redhat.com>
2017-03-27 08:33:05 -07:00
Samuel Just
74a7631d09 DBObjectMap: fix next_parent()
The previous implementation assumed that
lower_bound(parent_iter->key()) always leaves the iterator
on_parent().  There isn't any guarantee, however, that that
key isn't present on the child as well.

Signed-off-by: Samuel Just <sjust@redhat.com>
2017-03-27 08:33:05 -07:00
Samuel Just
f131dbcf5b test_object_map: add tests to trigger some bugs related to 18533
Signed-off-by: Samuel Just <sjust@redhat.com>
2017-03-27 08:33:05 -07:00
David Zafman
0e97a01bd7 test: Add ceph_test_object_map to make check tests
Signed-off-by: David Zafman <dzafman@redhat.com>
2017-03-27 08:33:05 -07:00
David Zafman
5fb2b2d139 ceph-osdomap-tool: Add --debug and only show internal logging if enabled
Signed-off-by: David Zafman <dzafman@redhat.com>
2017-03-27 08:33:05 -07:00
David Zafman
fcf1e17c64 osd: DBOjectMap::check: Dump complete mapping when inconsistency found
Signed-off-by: David Zafman <dzafman@redhat.com>
2017-03-27 08:33:05 -07:00
David Zafman
053a273cbc test_object_map: Use ASSERT_EQ() for check() so failure doesn't stop testing
Signed-off-by: David Zafman <dzafman@redhat.com>
2017-03-27 08:33:05 -07:00
David Zafman
e5e8eb962d tools: Check for overlaps in internal "complete" table for DBObjectMap
Changed check to return an error count and fix tool error message

Signed-off-by: David Zafman <dzafman@redhat.com>
2017-03-27 08:33:04 -07:00
David Zafman
f4101591ad tools: Add dump-headers command to ceph-osdomap-tool
Signed-off-by: David Zafman <dzafman@redhat.com>
2017-03-27 08:32:28 -07:00
David Zafman
2d94889e9e tools: Add --oid option to ceph-osdomap-tool
Signed-off-by: David Zafman <dzafman@redhat.com>
2017-03-27 08:31:12 -07:00
David Zafman
937e6a03ea osd: Remove unnecessary assert and assignment in DBObjectMap
Fix and add comment(s)

Signed-off-by: David Zafman <dzafman@redhat.com>
2017-03-27 08:31:12 -07:00
Kefu Chai
52468ae1f9 Merge pull request #13754 from liewegas/wip-objectstore-random
os: allow 'osd objectstore = random' to pick either filestore or bluestore

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-03-27 22:58:29 +08:00
Jianpeng Ma
903b3fcf4a os/bluestore: remove unuse perfcounter:l_bluestore_read_wait_flush_lat.
Now read don't need flush(). See commit 83e33a32fd.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2017-03-27 10:38:36 -04:00
Haomai Wang
53e0344628 Merge pull request #14088 from Adirl/rdma-cm-2
msg/async/rdma: Move resource handling to Device

Reviewed-by: Haomai Wang <haomai@xsky.com>
2017-03-27 22:25:09 +08:00
John Spray
31fa2fe35f Merge pull request #13915 from jcsp/wip-19253
qa: whitelist new fullness messages in fs tests
2017-03-27 10:22:43 -04:00
Jason Dillaman
91ce416c36 Merge pull request #14159 from tchaikov/wip-rbd-size_t-is-not-uint64_t-on-arm32
librbd: pass an uint64_t to clip_io() as the third param

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-03-27 09:33:56 -04:00
Igor Fedotov
5043d29c4e os/bluestore: do garbage collection after main write path to be able to call set_lextent from _do_alloc_write (will be required later for blob alignment).
Signed-off-by: Igor Fedotov <ifedotov@mirantis.com>
2017-03-27 12:34:45 +00:00
Igor Fedotov
367231cea2 os/bluestore: make punch_hole call from set_lextent optional.
Signed-off-by: Igor Fedotov <ifedotov@mirantis.com>
2017-03-27 12:34:45 +00:00
Igor Fedotov
4ea0f18fc4 os/bluestore: refactor bluestore_blob_t to encapsulate extents/*length fields.
Signed-off-by: Igor Fedotov <ifedotov@mirantis.com>
2017-03-27 12:34:42 +00:00
Igor Fedotov
4457aaa286 os/bluestore: store blob logical length rather than recalculate it on pextent vector
Signed-off-by: Igor Fedotov <ifedotov@mirantis.com>
2017-03-27 11:54:52 +00:00
Kefu Chai
f7f5cc7aa1 librbd: pass an uint64_t to clip_io() as the 3rd param
because, on arm32, size_t is "unsigned", while uint64_t is "long long
unsigned int", compiler is not able to promote the former to the latter
automatically. and ImageRequest::Extents::value_type::second_type is
indeed uint64_t, which is expected by clip_io(). so let's just use
"auto" here.

Fixes: http://tracker.ceph.com/issues/18938
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-03-27 12:04:35 +08:00