Commit Graph

35849 Commits

Author SHA1 Message Date
Yan, Zheng
83bd3430e3 mds: fix replay locking
When replaying EImportFinish/EFragment event, the replay thread may call
MDS::queue_waiters. MDS::queue_waiters() requires its caller to hold the
mds_lock. Otherwise assert(waiter_mutex == __null || waiter_mutex->is_locked())
in Cond::Signal() will be tiggered.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
2014-09-10 16:48:47 +08:00
Zhiqiang Wang
b40cce7ad0 osd: set min_read_recency_for_promote to default 1 when doing upgrade
When upgrading from a build without the promotion on 2nd read feature,
should set min_read_recency_for_promote to the default value 1, instead
of 0.

Signed-off-by: Zhiqiang Wang <wonzhq@hotmail.com>
2014-09-10 11:58:32 +08:00
Xiaoxi Chen
d734600f92 Change CrushWrapper::crush to private
Currently in CrushWrapper, the member "struct crush_map *crush"  is a public member,
so people can break the encapsulation and manipulate directly to the crush structure.

This is not a good practice for encapsulation and will lead to inconsistent if code
mix use the CrushWrapper API and crush C API.A simple example could be:
1.some code use crush_add_rule(C-API) to add a rule, which will not set the have_rmap flag to false in CrushWrapper
2.another code using CrushWrapper trying to look up the newly added rule by name will get a -ENOENT.

This patch move CrushWrapper::crush to private, together with three reverse map(type_rmap, name_rmap, rule_name_rmap)
and also change codes accessing the CrushWrapper::crush to make it compile.

Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
2014-09-10 09:08:22 +08:00
Sage Weil
5a784cd3eb osdc/Objecter: drop bad session nref assert
This is a bad assert.  Specifically, handle_osd_op_reply may still be
holding the session ref while it is calling the completion for a previous
request.  This is safe: it is only holding the session ref after it dropped
the global map rwlock because of the per-session completion locks.  The
request in question was already marked completed by the time our thread
took the session lock.

Fixes: #9241
Signed-off-by: Sage Weil <sage@redhat.com>
2014-09-09 17:28:54 -07:00
Josh Durgin
e11f0617b1 Merge pull request #2433 from ceph/wip-rbd-force-write-back
rbd should use write-back when caching is enabled

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-09-09 16:40:07 -07:00
Sage Weil
3c6e8884df osd/ClassHandler: fix build
Broken by 70ce400a8b.

Signed-off-by: Sage Weil <sage@redhat.com>
2014-09-09 14:45:28 -07:00
Samuel Just
d165238b4e FileStore: report l_os_j_lat as commit latency
l_os_commit_lat is actually the commit cycle latency.

Fixes: #9269
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-09-09 14:07:17 -07:00
Samuel Just
1bce730be2 Merge pull request #2441 from ceph/wip-9365
osd/ClassHandler: improve error logging

Reviewed-by: Samuel Just <sam.just@inktank.com>
2014-09-09 13:53:11 -07:00
Sage Weil
70ce400a8b osd/ClassHandler: improve error logging
Fixes: #9365
Signed-off-by: Sage Weil <sage@redhat.com>
2014-09-09 13:38:49 -07:00
Sage Weil
1388f35bf8 Merge pull request #2412 from dachary/wip-9370-flush-logs
tests: flush logs before grepping them
2014-09-09 13:36:53 -07:00
Sage Weil
0c24bff6cd Merge pull request #2434 from dachary/wip-9381-erasure-code-rpm
packaging: add to RPM packages isa and lrc

Reviewed-by: Sage Weil <sage@redhat.com>
2014-09-09 13:14:42 -07:00
Gregory Farnum
0d66922cfb Merge pull request #2427 from ceph/wip-9362
librados: do not write to user buffer after timeout

Reviewed-by: Greg Farnum <greg@inktank.com>
2014-09-09 13:11:04 -07:00
Samuel Just
4597401ec2 Merge pull request #2437 from athanatos/wip-9339
ReplicatedPG: create max hitset size

Reviewed-by: Sage Weil <sage@redhat.com>
2014-09-09 13:10:29 -07:00
Sage Weil
2305b2897a osdc/Objecter: revoke rx_buffer on op_cancel
If we cancel a read, revoke the rx buffers to avoid a use-after-free and/or
other undefined badness by using user buffers that may no longer be
present.

Fixes: #9362
Backport: firefly, dumpling
Reported-by: Matthias Kiefer <matthias.kiefer@1und1.de>
Signed-off-by: Sage Weil <sage@redhat.com>
2014-09-09 13:01:41 -07:00
Sage Weil
f295c1fee4 ceph_test_rados_api_io: add read timeout test
Verify we don't receive data after a timeout.

Based on reproducer for #9362 written by
Matthias Kiefer <matthias.kiefer@1und1.de>.

Signed-off-by: Sage Weil <sage@redhat.com>
2014-09-09 13:01:41 -07:00
Sage Weil
977d289055 ceph_test_rados_api_*: expose nspace
Signed-off-by: Sage Weil <sage@redhat.com>
2014-09-09 13:01:41 -07:00
Samuel Just
1349383ac4 Objecter::_recalc_linger_op: resend for any acting set change
Fixes: #9220
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-09-09 12:58:07 -07:00
Sage Weil
b477abbf50 Merge pull request #2439 from athanatos/wip-9054
Wip 9054

Reviewed-by: Sage Weil <sage@redhat.com>
2014-09-09 12:43:57 -07:00
Samuel Just
4843fd510b ReplicatedPG:start_flush send a second delete
Suppose we start with the following in the cache pool:

30:[29,21,20,15,10,4]:[22(21), 15(15,10), 4(4)]+head

The object doesn't exist at 29 or 20.

First, we flush 4 leaving the backing pool with:

3:[]+head

Then, we begin to flush 15 with a delete with snapc 4:[4] leaving the
backing pool with:

4:[4]:[4(4)]

Then, we finish flushing 15 with snapc 9:[4] with leaving the backing
pool with:

9:[4]:[4(4)]+head

Next, snaps 10 and 15 are removed causing clone 10 to be removed leaving
the cache with:

30:[29,21,20,4]:[22(21),4(4)]+head

We next begin to flush 22 by sending a delete with snapc 4(4) since
prev_snapc is 4 <---------- here is the bug

The backing pool ignores this request since 4 < 9 (ORDERSNAP) leaving it
with:

9:[4]:[4(4)]

Then, we complete flushing 22 with snapc 19:[4] leaving the backing pool
with:

19:[4]:[4(4)]+head

Then, we begin to flush head by deleting with snapc 22:[21,20,4] leaving
the backing pool with:

22[21,20,4]:[22(21,20), 4(4)]

Finally, we flush head leaving the backing pool with:

30:[29,21,20,4]:[22(21*,20*),4(4)]+head

When we go to flush clone 22, all we know is that 22 is dirty, has snaps
[21], and 4 is clean. As part of flushing 22, we need to do two things:
1) Ensure that the current head is cloned as cloneid 4 with snaps [4] by
sending a delete at snapc 4:[4].
2) Flush the data at snap sequence < 21 by sending a copyfrom with snapc
20:[20,4].

Unfortunately, it is possible that 1, 1&2, or 1 and part of the flush
process for some other now non-existent clone have already been
performed.  Because of that, between 1) and 2), we need to send
a second delete ensuring that the object does not exist at 20.

Fixes: #9054
Backport: firefly
Related: 66c7439ea0
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-09-09 12:37:41 -07:00
John Wilkins
ead619505a Merge pull request #2256 from ceph/wip-9005
doc: add calamari to the api/index section.

Reviewed-by: John Wilkins <jowilkin@redhat.com>
2014-09-09 12:36:55 -07:00
Samuel Just
937d2b0e48 Revert "ReplicatedPG:start_flush send a second delete"
This reverts commit a525bf3190.

Conflicts:
	src/osd/ReplicatedPG.cc
2014-09-09 12:36:45 -07:00
Samuel Just
78d7499d72 Revert "osd/ReplicatedPG: avoid dereferencing iterator at end()"
This reverts commit ded1cf4a93.
2014-09-09 12:36:45 -07:00
Samuel Just
3578b1193d ReplicatedPG: create max hitset size
Otherwise, hit_set_create could create an unbounded size hitset
object.

Fixes: #9339
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-09-09 12:26:49 -07:00
Sage Weil
18176b7ad1 Merge pull request #2436 from athanatos/wip-9293
PG::init: clear rollback info for backfill as well
2014-09-09 12:11:48 -07:00
Sage Weil
8d9da05a4c Merge pull request #2435 from athanatos/wip-9179
PG: wait until we've build the missing set to discover_all_missing

Reviewed-by: Sage Weil <sage@redhat.com>
2014-09-09 12:10:12 -07:00
Sage Weil
f00ff5f352 Merge pull request #2430 from yuyuyu101/kvstore-scrub-inconsistence
Kvstore scrub inconsistence

Reviewed-by: Sage Weil <sage@redhat.com>
2014-09-09 11:19:39 -07:00
Sage Weil
245a62c85d Merge pull request #2429 from yuyuyu101/kvstore-fix-superblock
KeyValueStore: Fix upgrade from non-exist superblock OSD version error

Reviewed-by: Sage Weil <sage@redhat.com>
2014-09-09 11:17:56 -07:00
Sage Weil
0cd989a7f1 Merge pull request #2428 from ceph/wip-yasm
fix yasm checks for x32

Reviewed-by: Daniel Schepler <dschepler@gmail.com>
2014-09-09 10:23:49 -07:00
Loic Dachary
e9b09e8cc1 packaging: add all erasure code plugins to RPM packages
It means distributing a few plugins that are only used for unit testing
but it does not use much disk space and this is otherwise harmless.

Explicitly listing which plugins are to be installed is problematic
because some of them (isa for now and maybe more later) are not
available for all architectures. Properly maintaining the list of
plugins to install would therefore mean exactly matching which
architecture has which plugins.

http://tracker.ceph.com/issues/9381 Fixes: #9381

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
2014-09-09 17:05:56 +02:00
Loic Dachary
df666549c5 Merge pull request #2305 from majianpeng/fix5
Make ceph_erasure_code_benchmark more robust.

Reviewed-by: Loic Dachary <loic-201408@dachary.org>
2014-09-09 13:54:49 +02:00
Ma Jianpeng
c5bafae6fd erasure-code: Avoid k/m that we set are not equal in erasure-plugin.
Because erasure-plugin has default k/m and can autotune if k or m
invalid. Check k/m they are the same as we want.

Signed-off-by: Ma Jianpeng <jianpeng.ma@intel.com>
2014-09-09 18:15:53 +08:00
Haomai Wang
9606232bb9 KeyValueStore: Fix scrub causing inconsistence state
Fix #8589
Backport #Firefly
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-09-09 17:54:14 +08:00
Haomai Wang
ae05edda7c ObjectStore Test: Add test for simulating scrub behavior
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-09-09 17:48:32 +08:00
Haomai Wang
c664179197 KeyValueStore: Fix upgrade from non-exist superblock OSD version error
If user upgrade OSD from Firefly or lower than 0.84, it won't get valid
keyvaluestore backend.

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
2014-09-09 16:27:51 +08:00
Loic Dachary
cb41c54931 Merge pull request #2378 from swamireddy/wip-orgnaizationmap
mailmap updates

Reviewed-by: Loic Dachary <loic-201408@dachary.org>
2014-09-09 08:58:48 +02:00
Swami Reddy
6681008b7d mailmap: M Ranga Swami Reddy affiliation
Signed-off-by: M Ranga Swami Reddy <swamireddy@gmail.com>
2014-09-09 12:05:21 +05:30
Swami Reddy
448342ec75 mailmap: John Spray name normalization
Signed-off-by: M Ranga Swami Reddy <swamireddy@gmail.com>
Reviewed-by: John Spray <jspray@redhat.com>
2014-09-09 11:42:39 +05:30
Swami Reddy
2f2c37ffa8 mailmap: Marco Garcês affiliation
Signed-off-by: M Ranga Swami Reddy <swamireddy@gmail.com>
Reviewed-by: Marco Garcês <marco@garces.cc>
2014-09-09 11:42:38 +05:30
Swami Reddy
02049987c6 mailmap: Erik Logtenberg affiliation
Signed-off-by: M Ranga Swami Reddy <swamireddy@gmail.com>
Reviewed-by: Erik Logtenberg <erik@logtenberg.eu>
2014-09-09 11:42:28 +05:30
Swami Reddy
284fb49d1a mailmap: François Lafont affiliation
Signed-off-by: M Ranga Swami Reddy <swamireddy@gmail.com>
2014-09-09 11:30:43 +05:30
Josh Durgin
8d3f13540b Merge pull request #2422 from ceph/wip-6494
Enforce cache size on read requests

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-09-08 17:48:45 -07:00
Sage Weil
63075361fd configure: do not try yasm on x32
Signed-off-by: Sage Weil <sage@redhat.com>
2014-09-08 15:51:58 -07:00
John Wilkins
d5777c4215 doc: Fixed broken links and clarified terms for new authentication docs.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2014-09-08 14:04:33 -07:00
John Wilkins
e2de11a844 doc: Minor cleanup.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2014-09-08 13:24:52 -07:00
Sage Weil
06e69be0c1 Merge pull request #2424 from ceph/wip-9366
lttng: Fix 'make tag' when configured --without-lttng
2014-09-08 13:13:36 -07:00
Thorsten Glaser
9ab46dc5b4 debian: only B-R yasm on amd64
Make yasm dependency amd64 only, it isn?t used elsewhere
but breaks x32 (which is mis-detected as amd64)

Signed-off-by: Sage Weil <sage@redhat.com>
2014-09-08 12:49:58 -07:00
Josh Durgin
aa041f885c Merge pull request #2390 from ceph/wip-9311
Parallelize RBD import/export

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-09-08 12:47:42 -07:00
Josh Durgin
0e8237203e Merge pull request #2426 from ceph/wip-doc-qemu
doc: Added more robust usage example for uid and conf for QEMU.

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-09-08 12:22:29 -07:00
Sage Weil
c050afdbe0 Merge remote-tracking branch 'gh/next' 2014-09-08 12:19:45 -07:00
Sage Weil
836a6701d6 doc/release-notes: v0.85
Signed-off-by: Sage Weil <sage@redhat.com>
2014-09-08 12:19:34 -07:00