Commit Graph

38248 Commits

Author SHA1 Message Date
Sage Weil
8a559720fb common: add 'enable experimental data corrupting features'
Signed-off-by: Sage Weil <sage@redhat.com>
2014-12-29 14:19:13 -08:00
Sage Weil
d54295e5a8 Merge pull request #3265 from yuyuyu101/coverify-fix
Event: Avoid illegal multiplication for memset

Reviewed-by: Sage Weil <sage@redhat.com>
2014-12-29 10:56:23 -08:00
John Wilkins
9b3c0b6140 Merge pull request #3260 from nilamdyuti/wip-doc-ceph-object-gateway
doc: Updates information for SSL configuration in Ceph Object Gateway installation.

Reviewed-by: John Wilkins <jowilkin@redhat.com>
2014-12-29 10:39:24 -08:00
Joao Eduardo Luis
783956ccb6 tools: ceph-monstore-tool: validate start/stop vals
on commands that use 'start' and 'stop'/'end' values, we should validate
them and inform the user when 'stop' > 'start'.

Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
2014-12-29 17:50:28 +00:00
Joao Eduardo Luis
60e9c3f003 tools: ceph-monstore-tool: output number of paxos versions dumped
Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
2014-12-29 17:50:28 +00:00
Joao Eduardo Luis
b27ca4c024 tools: ceph-monstore-tool: raw map to stdout if outfile not specified
Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
2014-12-29 17:50:28 +00:00
Joao Eduardo Luis
68f3b77ddd tools: ceph-monstore-tool: use subcmd parser helper
reduces the noise in the code

Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
2014-12-29 17:50:28 +00:00
Joao Eduardo Luis
a186ee1229 tools: ceph_monstore_tool: add sub-command parser helper function
Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
2014-12-29 17:50:28 +00:00
Joao Eduardo Luis
fe662c5ae2 tools: ceph-monstore-tool: a cli that works
Fixes: #10341

Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
2014-12-29 17:50:28 +00:00
Haomai Wang
793c32d5f1 Event: Avoid illegal multiplication for memset
Because "file_events" is "FileEvent" type and adding an integral value to
this pointer automatically scales that value by the size.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-12-28 21:31:35 +08:00
Yann Dupont
4193594cff mailmap: Chris Holcombe affiliation 2014-12-27 01:11:31 +01:00
Yann Dupont
bb09b20e53 mailmap: Alfredo Deza affiliation : Fix Typo.
Signed-off-by: Yann Dupont <yann@objoo.org>
2014-12-27 01:11:31 +01:00
Yann Dupont
f3fd07cb23 mailmap: Christos Stavrakakis affiliation
Signed-off-by: Yann Dupont <yann@objoo.org>
2014-12-27 01:11:31 +01:00
Yann Dupont
a8542d0e11 mailmap: Ning Yao affiliation
Signed-off-by: Yann Dupont <yann@objoo.org>
2014-12-27 01:11:31 +01:00
Yann Dupont
9636dfca37 mailmap: Shishir Gowda affiliation
Signed-off-by: Yann Dupont <yann@objoo.org>
2014-12-27 01:11:31 +01:00
Yann Dupont
eb659ce61a mailmap: David Anderson affiliation
Signed-off-by: Yann Dupont <yann@objoo.org>
2014-12-27 01:11:31 +01:00
Yann Dupont
977db4fe86 mailmap: Matt Benjamin affiliation
Signed-off-by: Yann Dupont <yann@objoo.org>
2014-12-27 01:11:31 +01:00
Yann Dupont
6cea1e3c98 mailmap: Yunchuan Wen affiliation
Signed-off-by: Yann Dupont <yann@objoo.org>
2014-12-27 01:11:30 +01:00
Haomai Wang
3f83e88008 Merge pull request #3255 from tchaikov/async-leak
AsyncMessenger: fix the leak of file_events
2014-12-26 22:42:33 +08:00
Nilamdyuti Goswami
fe44cd3199 doc: Updates information for SSL configuration in Ceph Object Gateway installation.
Signed-off-by: Nilamdyuti Goswami <ngoswami@redhat.com>
2014-12-26 19:58:57 +05:30
Kefu Chai
25cf82e2c8 AsyncMessenger: reset newly allocated file_events
* otherwise there is chance that Event could take them as already
  initialized ones even they are filled with random bits from heap.
2014-12-26 16:28:26 +08:00
Sage Weil
ec3b0e1166 Merge pull request #3257 from mslovy/wip-y02
PG:: filter_snapc: Return immediately if no snapc need to trim

Reviewed-by: Sage Weil <sage@redhat.com>
2014-12-25 20:52:06 -08:00
Sage Weil
3b14321536 Merge pull request #3256 from majianpeng/fix4
FileJournal: Don't cache journal data if journal w/o directio mode

Reviewed-by: Sage Weil <sage@redhat.com>
2014-12-25 20:48:40 -08:00
Ning Yao
852aab64f6 PG:: filter_snapc: Return immediately if no snapc need to trim
we can return immediately if no snapc need to trim. Do not iterater snapc vector and do extra judgement and ops.

Signed-off-by: Ning Yao <zay11022@gmail.com>
2014-12-26 04:20:35 +00:00
Jianpeng Ma
45fb9a3b5d FileJournal: Don't cache journal data if journal w/o directio mode
Only read journal data in osd starting.So no need to keep journal
data in kernel cache/buffer.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2014-12-26 09:58:24 +08:00
Kefu Chai
e4e1777894 AsyncMessenger: fix the leak of file_events
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2014-12-25 21:45:00 +08:00
Mykola Golub
70ef30f67e osd: osd tree to show primary-affinity value
Fixes: #10036

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
2014-12-25 14:42:21 +02:00
Sage Weil
aa56ee40c0 mon: provide encoded canonical full OSDMap from primary
Currently we make each monitor apply the incremental and encode the full
map locally.  The original motivation was to save bandwidth, but the
savings are minimal to modest and the complexity associated with doing this
is huge.

This strategy also causes problems now that we have OSDMap crc's and old
mons/clusters may have diverging full OSDMaps due to mixed version
clusters.  See #10422

Instead, include the encoded full map in the paxos transaction.  We will
still apply the incremental and check the crc, but if it fails and we have
the correct version, reload it from disk and move on.  If we don't, we
will continue as we have before--the primary mon doesn't have support for
crc's yet.  When it does we will start verifying and/or get our
full map back into sync.

Fixes: #10422
Signed-off-by: Sage Weil <sage@redhat.com>
2014-12-23 17:01:53 -08:00
Sage Weil
d7fd6fccc9 osdc/Objecter: improve pool deletion detection
Currently we can have a race like so:

 - send op in epoch X
 - osd replies
 - pool deleted in epoch X+1
 - client gets X+1, sends map epoch check
 - client gets reply
   -> fails assert that there is no map check in flight

Avoid this situation by inferring that the pool is deleted when we see
that we previously sent the request but the pool is no longer present.
Since pool ids are not reused there is no point in doing a synchronous
map check at all.

Backport: giant
Fixes: #10372
Signed-off-by: Sage Weil <sage@redhat.com>
2014-12-23 15:59:19 -08:00
Haomai Wang
a540ac3385 librados: only call watch_flush if necessary
Fix bug #10424
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>

(cherry picked from commit 926a1b7468)
2014-12-23 14:24:27 -08:00
Loic Dachary
6b030aa8ba mds: add default ctor for quota_info_t
http://tracker.ceph.com/issues/10400 Fixes: #10400

Signed-off-by: Loic Dachary <ldachary@redhat.com>
(cherry picked from commit 7f1e510165)
2014-12-23 12:52:46 -08:00
Sage Weil
203d549ddc Merge pull request #3241 from ceph/wip-10415
libcephfs/test.cc: close fd before umount

Reviewed-by: Sage Weil <sage@redhat.com>
2014-12-23 08:17:34 -08:00
Sage Weil
678a5cf78b Merge pull request #3245 from trociny/fix-10132
10132: osd: tries to set ioprio when the config option is blank

Reviewed-by: Sage Weil <sage@redhat.com>
2014-12-23 08:13:35 -08:00
Haomai Wang
ee6529b47d AsyncMessenger: Fix leak memory
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-12-23 21:09:09 +08:00
Mykola Golub
b41a739f68 10132: osd: tries to set ioprio when the config option is blank
According to documentation, ioprio params will only be used if both
osd disk thread ioprio class and osd disk thread ioprio priority are
set to a non default value.

So, add a proper check and do not generate "set_disk_tp_priority(22)
Invalid argument" warning for the default settings.
2014-12-23 13:39:33 +02:00
Haomai Wang
9aa65aa9aa Makefile: Restore check
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-12-23 19:22:10 +08:00
Haomai Wang
69dbfce5f3 AsyncConnection: Init peer_global_seq
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-12-23 19:22:10 +08:00
Haomai Wang
917ed9665b test_msgr: Avoid deadlock between send_message and dispatch
If connection holds Connection's lock and try to acquire
FakeDispatcher's lock while gtest thread try to send_message with
FakeDispatcher's lock and try to acquire Connection's lock,
it will be deadlock.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-12-23 19:22:09 +08:00
Haomai Wang
1cb78eeb73 AsyncMessenger: Make learn_addr async to avoid destroying lock rule
Make learn_addr become a async op, otherwise holding connection's
lock then acquire messenger's lock will destroy lock rule.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-12-23 19:22:09 +08:00
Haomai Wang
1c0af36c0f AsyncConnection:: Avoid getting stopping connection
Now AsyncConnection::_stop may consume a little time on deleting time events,
it may occur that accepting a connection get this stopping connection
because unregister call isn't met.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-12-23 19:22:09 +08:00
Haomai Wang
6b01b5e06f AsyncConnection: Ensure reply connect_seq larger than sent
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-12-23 19:22:09 +08:00
Loic Dachary
bb01f9e930 Merge pull request #3243 from yuyuyu101/wip-10424
librados: only call watch_flush if necessary

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2014-12-23 12:12:12 +01:00
Haomai Wang
926a1b7468 librados: only call watch_flush if necessary
Fix bug #10424
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-12-23 18:57:34 +08:00
Ning Yao
73257e85f7 os: WBThrottle: optimize map to unordered_map
Using unordered_map to save the cpu cost and acceralate map::find() operation.

Signed-off-by: Ning Yao <zay11022@gmail.com>
2014-12-23 05:52:39 +00:00
Yan, Zheng
d3fb563cee libcephfs/test.cc: close fd before umount
Fixes: #10415
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2014-12-23 10:22:00 +08:00
Sage Weil
b95c73eed6 librados: warn about rados_watch_flush() prior to ioctx shutdown
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 1fbe9b6f3a)
2014-12-22 17:41:37 -08:00
Sage Weil
93825bf05a librados: watch_flush() on shutdown
Users can easily forget this. It makes shutdown potentially block, but if
they have racing callbacks they get what they ask for.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 30678f6daf)
2014-12-22 17:41:32 -08:00
Sage Weil
7de1b4d4ff librados: add rados_watch_flush() call
Add a call so that callers can make sure all queued callbacks have
completed before shutting down the ioctx.  This avoids a segv triggered
by the LibRadosWatchNotifyPPTests/LibRadosWatchNotifyPP.WatchNotify2Timeout/1
test due to the ioctx being destroyed when the in-progress callback
does a notify_ack.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 4ebd4b4280)
2014-12-22 17:41:28 -08:00
Sage Weil
5cf4483cc4 osdc/Objecter: do notify completion callback in fast-dispatch context
The notify completion has exactly one user, the librados caller which
does nothing but take a local (inner) lock and signal a Cond.  Do this
in the fast-dispatch context for simplicity.

Notably, this makes the notify completion (and timeout) trigger a
notify2() return (with ETIMEDOUT) even when the finisher queue that
normally delivers notify is busy.. for example with a notify that is
being very slow.  In our case, the unit test is doing a sleep(3) to
test timeouts but also prevented the ETIMEDOUT notification from
being delivered to the caller.  This patch resolves that.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 9b78dafd4a)
2014-12-22 17:41:21 -08:00
Loic Dachary
e1384afd5a Merge pull request #3200 from boydc2014/master
fix unmatched op code

Reviewed-by: Loic Dachary <ldachary@redhat.com>
2014-12-23 00:56:17 +01:00