ceph/doc/changelog/v0.80.6.txt

3267 lines
112 KiB
Plaintext
Raw Normal View History

commit f93610a4421cb670b08e974c6550ee715ac528ae (tag: refs/tags/v0.80.6, refs/remotes/gh/firefly)
Author: Jenkins <jenkins@inktank.com>
Date: Wed Oct 1 09:37:12 2014 -0700
0.80.6
commit 2ecf362e15301ee07b511b2a84585ad691543569
Merge: 1fafd6b 76341b0
Author: Sage Weil <sage@redhat.com>
Date: Mon Sep 29 13:55:02 2014 -0700
Merge pull request #2603 from dachary/wip-9620-test-mon-thrash-firefly
qa/workunits/cephtool/test.sh: fix thrash (ultimate)
Reviewed-by: Sage Weil <sage@redhat.com>
commit 76341b0b7581194273ac787df2b940221825d083
Author: Loic Dachary <loic-201408@dachary.org>
Date: Mon Sep 29 13:47:06 2014 +0200
qa/workunits/cephtool/test.sh: fix thrash (ultimate)
Keep the osd trash test to ensure it is a valid command but make it a
noop by giving it a zero argument (meaning thrash 0 OSD maps).
Remove the loops that were added after the command in an attempt to wait
for the cluster to recover and not pollute the rest of the tests. Actual
testing of osd thrash would require a dedicated cluster because it the
side effects are random and it is unnecessarily difficult to ensure they
are finished.
http://tracker.ceph.com/issues/9620 Fixes: #9620
Signed-off-by: Loic Dachary <loic-201408@dachary.org>
(cherry picked from commit beade63a17db2e6fc68d1f55332d602f8f7cb93a)
Conflicts:
qa/workunits/cephtool/test.sh
commit 1fafd6bf2ef03672dfa27ec7a201a274927040b7
Merge: ebb5995 71005c1
Author: Josh Durgin <josh.durgin@inktank.com>
Date: Thu Sep 25 10:08:03 2014 -0700
Merge pull request #2576 from ceph/wip-9593
osd/ReplicatedPG: fix objecter locking in start_flush
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
commit 71005c1bdf38212ea2fde12de08c45598c815d37
Author: Sage Weil <sage@redhat.com>
Date: Thu Sep 25 09:59:29 2014 -0700
osd/ReplicatedPG: fix objecter locking in start_flush
Broken in backport fd96eb62ece27f5c660429584c2ff2e058bc6e94.
Signed-off-by: Sage Weil <sage@redhat.com>
commit ebb599545d70e4289e385f88b4f0594b4f23f3b7
Merge: 2abd7a3 2e60c2f
Author: Samuel Just <sam.just@inktank.com>
Date: Tue Sep 23 10:37:27 2014 -0700
Merge pull request #2548 from dachary/wip-9547-python-rados-truncate-firefly
python radio aio_read must not truncate on \000 (firefly)
Reviewed-by: Samuel Just <sam.just@inktank.com>
commit 2abd7a3fd018b52f45f9d6b7c9d847242aa97fe9
Merge: 2675b0d 80f2f9c
Author: Samuel Just <sam.just@inktank.com>
Date: Tue Sep 23 10:27:15 2014 -0700
Merge branch 'wip-sam-testing-firefly' into firefly
commit 80f2f9cf687e25d6f2c4cee34fef55215ac6b027
Merge: bb9e65b e6da732
Author: Samuel Just <sam.just@inktank.com>
Date: Sun Sep 21 10:04:30 2014 -0700
Merge remote-tracking branch 'origin/wip-9240' into wip-sam-testing-firefly
commit bb9e65bd9292e2ee03a260cc98aa6715008e6682
Author: Samuel Just <sam.just@inktank.com>
Date: Thu Aug 28 15:32:22 2014 -0700
PG: wait until we've build the missing set to discover_all_missing
Fixes: #9179
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 970d9830a3a6e8568337c660fb8b4c4a60a2b3bf)
Conflicts:
src/osd/PG.cc
commit fa645b21b587b6a1d9adbb9cedce1af3af1e5a62
Author: Samuel Just <sam.just@inktank.com>
Date: Tue Aug 26 16:53:02 2014 -0700
PG: mark_log_for_rewrite on resurrection
Fixes: #8777
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 8346e10755027e982f26bab4642334fd91cc31aa)
commit fd96eb62ece27f5c660429584c2ff2e058bc6e94
Author: Samuel Just <sam.just@inktank.com>
Date: Sun Sep 7 20:13:41 2014 -0700
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: 66c7439ea0888777b5cfc08bcb0fbd7bfd8653c3
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 4843fd510b33a71999cdf9c2cfa2b4c318fa80fd)
commit 5aa35ac262c6e0910f99086f46dd792775ab6790
Author: Samuel Just <sam.just@inktank.com>
Date: Mon Aug 11 12:59:16 2014 -0700
ReplicatedPG::start_flush: remove superfluous loop
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 66c7439ea0888777b5cfc08bcb0fbd7bfd8653c3)
commit 14fb643bbda51cc31919197541973c332b0c37bc
Merge: c468507 3578b11
Author: Samuel Just <sam.just@inktank.com>
Date: Sun Sep 21 10:03:53 2014 -0700
Merge remote-tracking branch 'origin/wip-9339' into wip-sam-testing-firefly
commit 2e60c2f1ec8c2aaf56b73a64f55becd679dd2825
Author: Loic Dachary <loic-201408@dachary.org>
Date: Sat Sep 20 12:41:30 2014 +0200
test: check python rados aio_read with buffers containing null
http://tracker.ceph.com/issues/9547 Refs: #9547
Signed-off-by: Loic Dachary <loic-201408@dachary.org>
(cherry picked from commit 226c0c7ac6ee95ff2c1665d4e7164e2962c0346e)
commit 72a46dec211d5c08d1ca9f969013d939c4361ba9
Author: Mohammad Salehe <salehe+dev@gmail.com>
Date: Sun May 25 10:42:11 2014 +0430
pybind: Fix aio_read handling of string buffer
Read data may contain \0, and buf.value interprerts them as string terminator.
Signed-off-by: Mohammad Salehe <salehe+dev@gmail.com>
(cherry picked from commit 8bda44ff37fd04a0fc9498fbbc22f0daf515d721)
commit 2675b0d159ff0608bc6e607be3727ed23e7e2976
Merge: a67f915 d535fab
Author: Sage Weil <sage@redhat.com>
Date: Fri Sep 19 11:30:17 2014 -0700
Merge pull request #2535 from dachary/wip-9470-pidfile-firefly
daemons: write pid file even when told not to daemonize (firefly)
Reviewed-by: Sage Weil <sage@redhat.com>
commit d535fab6ac4a025541340ded0d3568f565acf1cd
Author: Alexandre Oliva <oliva@gnu.org>
Date: Wed Jul 30 23:08:43 2014 -0300
daemons: write pid file even when told not to daemonize
systemd wants to run daemons in foreground, but daemons wouldn't write
out the pid file with -f. Fixed.
Signed-off-by: Alexandre Oliva <oliva@gnu.org>
(cherry picked from commit bccb0eb64891f65fd475e96b6386494044cae8c1)
commit c4685075f583ff58cc05220a3044a10b8392033c (refs/remotes/gh/wip-log-crash-firefly)
Author: Samuel Just <sam.just@inktank.com>
Date: Mon Sep 15 15:44:11 2014 -0700
PGLog::claim_log_and_clear_rollback_info: fix rollback_info_trimmed_to
We have been setting it to the old head value. This is usually
harmless since the new head will virtually always be ahead of the
old head for claim_log_and_clear_rollback_info, but can cause trouble
in some edge cases.
Fixes: #9481
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 0769310ccd4e0dceebd8ea601e8eb5c0928e0603)
commit 112f6f021bd063e2647169ba42729a447e5848e1
Merge: a67f915 92cfd37 07f54f2
Author: Samuel Just <sam.just@inktank.com>
Date: Thu Sep 18 09:46:38 2014 -0700
Merge remote-tracking branches 'origin/wip-9497' and 'origin/wip-9482' into wip-log-crash-firefly
commit 07f54f28df7429a88dd9243800281ecf23f10036
Author: Samuel Just <sam.just@inktank.com>
Date: Mon Sep 15 16:53:21 2014 -0700
PG::find_best_info: let history.last_epoch_started provide a lower bound
If we find a info.history.last_epoch_started above any
info.last_epoch_started, we must be missing updates and
min_last_update_acceptable should provisionally be max().
Fixes: #9482
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
commit 92cfd370395385ca5537b5bc72220934c9f09026
Author: Samuel Just <sam.just@inktank.com>
Date: Tue Sep 16 20:36:51 2014 -0700
PG::choose_acting: let the pg go down if acting is smaller than min_size
Even if the backfill peer would bring us up to min_size, we can't go
active since build_prior will not consider the interval maybe_went_rw.
Fixes: #9497
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
commit a67f9152f128d693d160e5b08f2ac8b8bc83e8e0
Author: Josh Durgin <josh.durgin@inktank.com>
Date: Thu Jul 24 15:29:40 2014 -0700
librbd: fix crash using clone of flattened image
The crash occurs due to ImageCtx->parent->parent being uninitialized,
since the inital open_parent() -> open_image(parent) ->
ictx_refresh(parent) occurs before ImageCtx->parent->snap_id is set,
so refresh_parent() is not called to open an ImageCtx for the parent
of the parent. This leaves the ImageCtx->parent->parent NULL, but the
rest of ImageCtx->parent updated to point at the correct parent snapshot.
Setting the parent->snap_id earlier has some unintended side effects
currently, so for now just call refresh_parent() during
open_parent(). This is the easily backportable version of the
fix. Further patches can clean up this whole initialization process.
Fixes: #8845
Backport: firefly, dumpling
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
(cherry picked from commit 2545e80d274b23b6715f4d8b1f4c6b96182996fb)
commit 2422f9fd634c239a1159c99aa4a49cfb5c5d097f
Author: JuanJose 'JJ' Galvez <jgalvez@redhat.com>
Date: Sun Sep 14 20:38:20 2014 -0700
init-radosgw.sysv: Support systemd for starting the gateway
When using RHEL7 the radosgw daemon needs to start under systemd.
Check for systemd running on PID 1. If it is then start
the daemon using: systemd-run -r <cmd>. pidof returns null
as it is executed too quickly, adding one second of sleep and
script reports startup correctly.
Signed-off-by: JuanJose 'JJ' Galvez <jgalvez@redhat.com>
(cherry picked from commit ddd52e87b25a6861d3b758a40d8b3693a751dc4d)
commit 6070383bc2c433e36f7ab5dc1ec09a3e7439d523
Merge: 668cd13 7b25512
Author: Sage Weil <sage@redhat.com>
Date: Fri Sep 12 17:31:03 2014 -0700
Merge pull request #2479 from ceph/wip-9444
mds: fix root and mdsdir inodes' rsubdirs
Reviewed-by: Sage Weil <sage@redhat.com>
commit 7b25512d65c6337cbddc7d6c6f55747ba1591be5
Author: Yan, Zheng <zheng.z.yan@intel.com>
Date: Fri May 2 23:08:41 2014 +0800
mds: fix root and mdsdir inodes' rsubdirs
inode rstat accounts inode itself.
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
(cherry picked from commit da17394941386dab88ddbfed4af2c8cb6b5eb72f)
commit 668cd1359c94698bbb4f7b841e2f30264d4af937
Author: Samuel Just <sam.just@inktank.com>
Date: Tue Sep 9 14:03:50 2014 -0700
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>
(cherry picked from commit d165238b4ee7e925e06ca22890c1e9dac101a7da)
commit 7686966677867d098141aa08f45364eaa97121dd
Author: Samuel Just <sam.just@inktank.com>
Date: Tue Sep 9 12:58:07 2014 -0700
Objecter::_recalc_linger_op: resend for any acting set change
Fixes: #9220
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 1349383ac416673cb6df2438729fd2182876a7d1)
Conflicts:
src/osdc/Objecter.cc
src/osdc/Objecter.h
commit 3abf95456783346e6686919b803c4819d5e82ab7
Author: Sage Weil <sage@redhat.com>
Date: Mon Sep 8 13:44:57 2014 -0700
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>
(cherry picked from commit 2305b2897acba38384358c33ca3bbfcae6f1c74e)
(adjusted for op->con instead of s->con)
commit bc4108443a17de47b7c582e50fb884396a287152
Author: Sage Weil <sage@redhat.com>
Date: Mon Sep 8 13:45:52 2014 -0700
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>
(cherry picked from commit f295c1fee4afb9447cdf46f05a44234274d23b6c)
commit 19e7606545f829e5b9ea0255049d9130c51e42fd
Author: Sage Weil <sage@redhat.com>
Date: Mon Sep 8 13:42:43 2014 -0700
ceph_test_rados_api_*: expose nspace
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 977d289055d69ab8a7baaf7ef68c013019225833)
commit 881c267fa4f8257a9205ec897c631183ef5c6388
Author: Samuel Just <sam.just@inktank.com>
Date: Tue Sep 9 12:40:51 2014 -0700
Revert "PG: mark_log_for_rewrite on resurrection"
Actually, we don't want to backport this one without the fix
for #9293.
This reverts commit 7ddf0a252bb887553b29fd93e58d01cac38835e6.
commit 3578b1193d497373db14d040ff7f0fc9e06e5ac2
Author: Samuel Just <sam.just@inktank.com>
Date: Wed Sep 3 15:49:47 2014 -0700
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>
commit d73eb895cdc792ddef2626643e61c1521cf53434
Author: Samuel Just <sam.just@inktank.com>
Date: Wed Aug 27 16:21:41 2014 -0700
PG::can_discard_op: do discard old subopreplies
Otherwise, a sub_op_reply from a previous interval can stick around
until we either one day go active again and get rid of it or delete the
pg which is holding it on its waiting_for_active list. While it sticks
around futily waiting for the pg to once more go active, it will cause
harmless slow request warnings.
Fixes: #9259
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit ae3d87348ca4e2dde809c9593b0d54ce0469f7a0)
commit 7ddf0a252bb887553b29fd93e58d01cac38835e6
Author: Samuel Just <sam.just@inktank.com>
Date: Tue Aug 26 16:53:02 2014 -0700
PG: mark_log_for_rewrite on resurrection
Fixes: #8777
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 8346e10755027e982f26bab4642334fd91cc31aa)
commit 49a08eb46ef277225fff0d9a0920c37427175f54
Author: Thorsten Glaser <tg@mirbsd.de>
Date: Mon Sep 8 12:49:50 2014 -0700
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>
(cherry picked from commit 9ab46dc5b49219aa6194861c393c938f23001c52)
commit f19162adc241e627ce20140360352ac96f809a6e
Author: Sage Weil <sage@redhat.com>
Date: Tue Aug 26 17:43:10 2014 -0700
osd: fix osd_tp shutdown
We need to clear the queue, not just drain the currently executing jobs.
Fixes: #9218
Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit c2f21c04207b9a2a65e514994a775632b36d6874)
Conflicts:
src/osd/OSD.cc
commit 598cde42e7f57fd0b294f70c0a930f94fd361fb3
Author: Sage Weil <sage@redhat.com>
Date: Wed Aug 27 06:19:12 2014 -0700
osd/PG: fix crash from second backfill reservation rejection
If we get more than one reservation rejection we should ignore them; when
we got the first we already sent out cancellations. More importantly, we
should not crash.
Fixes: #8863
Backport: firefly, dumpling
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 2b13de16c522754e30a0a55fb9d072082dac455e)
commit 0a9d49e5b5867c58ca1f5c6b9a4c5106639a8d01
Author: Sage Weil <sage@redhat.com>
Date: Mon Sep 8 06:58:45 2014 -0700
mon/Paxos: don't spam log with is_readable at dout level 1
Backport: firefly, dumpling
Reported-by: Aanchal Agrawal <Aanchal.Agrawal@sandisk.com>
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 62ca27d0b119b597ebad40dde64c4d86599e466d)
commit 1660503ffafd69fac3722aea9915008113906e05
Author: Alfredo Deza <alfredo.deza@inktank.com>
Date: Thu Sep 4 13:58:14 2014 -0400
doc: add note on soft JS dependency for navigating docs
Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
(cherry picked from commit 657be818375bea2d8b5998ea1e5505eedc2f294d)
commit 2f075d442f58e9cfefdbc421b9b20f2034a56314
Author: Alfredo Deza <alfredo.deza@inktank.com>
Date: Wed Sep 3 21:21:45 2014 -0400
doc: fix missing bracket
Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
(cherry picked from commit 69638dfaeb0dcd96dac4b5f5c00ed08042432487)
commit 4dacb593e830f42cd0394486333315f1709b502f
Author: Alfredo Deza <alfredo.deza@inktank.com>
Date: Wed Sep 3 20:47:54 2014 -0400
doc: attempt to get the ayni JS into all head tags
Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
(cherry picked from commit 35663fa55ac1579a3b0c8b67028a3a8dfea87b48)
commit 275df4407b37923cb47510890a686ed370e2f39e
Author: Dmitry Smirnov <onlyjob@member.fsf.org>
Date: Sat Aug 23 22:41:30 2014 +1000
Fix FTBFS on alpha due to incorrect check on BLKGETSIZE
Ceph FTBFS on Alpha with:
~~~~
libtool: compile: g++ -DHAVE_CONFIG_H -I. -D__CEPH__ -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D_GNU_SOURCE -DCEPH_LIBDIR=\"/usr/lib/alpha-linux-gnu\" -DCEPH_PKGLIBDIR=\"/usr/lib/alpha-linux-gnu/ceph\" -DGTEST_HAS_TR1_TUPLE=0 -D_FORTIFY_SOURCE=2 -I/usr/include/nss -I/usr/include/nspr -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -rdynamic -ftemplate-depth-1024 -Wnon-virtual-dtor -Wno-invalid-offsetof -Wstrict-null-sentinel -g -O2 -Wformat -Werror=format-security -c common/blkdev.cc -fPIC -DPIC -o common/.libs/blkdev.o
In file included from /usr/include/alpha-linux-gnu/asm/ioctls.h:4:0,
from /usr/include/alpha-linux-gnu/bits/ioctls.h:23,
from /usr/include/alpha-linux-gnu/sys/ioctl.h:26,
from common/blkdev.cc:3:
common/blkdev.cc:13:7: error: missing binary operator before token "int"
#elif BLKGETSIZE
^
~~~~
This error occurs because the value of BLKGETSIZE is tested in a
c-preprocessor conditional compilation test whereas the test should
be for existence.
From: Michael Cree <mcree@orcon.net.nz>
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=756892
Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org>
(cherry picked from commit 6ad8e61a428cfc9fc60ccdb9bce812e1f49822ac)
Reviewed-by: Greg Farnum <greg@inktank.com>
commit fbbdc31a8cd4c6457e06570ddeb9b2021563498e
Merge: 46d9611 895bddc
Author: Sage Weil <sage@redhat.com>
Date: Fri Aug 29 17:31:29 2014 -0700
Merge pull request #2356 from dachary/wip-9273-mon-preload-erasure-code-firefly
erasure-code: preload the default plugins in the mon (firefly)
Reviewed-by: Sage Weil <sage@redhat.com>
commit 46d9611aedd3194cfd55a338e5f94011e6e70668
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Fri Aug 29 20:21:25 2014 +0100
osd: OSDMap: ordered blacklist on non-classic encode function
Fixes: #9211
Backport: firefly
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 81102044f417bd99ca570d9234b1df5195e9a8c9)
commit 994a9e35e96984c0806261f7eb349d95c0fb4873
Author: Sage Weil <sage@redhat.com>
Date: Tue Aug 26 08:16:29 2014 -0700
osd/OSDMap: encode blacklist in deterministic order
When we use an unordered_map the encoding order is non-deterministic,
which is problematic for OSDMap. Construct an ordered map<> on encode
and use that. This lets us keep the hash table for lookups in the general
case.
Fixes: #9211
Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 4672e50922b75d642056020b9745a3a5844424d3)
commit 895bddc5d4dabd2f05c13c343eb0d7457d6f132f
Author: Loic Dachary <loic-201408@dachary.org>
Date: Fri Aug 29 18:13:08 2014 +0200
erasure-code: preload the default plugins in the mon
The commit 164f1a1959a863848319585fa752250c7b261381 preloads the
jerasure plugin in the OSD. They must also be preloaded in the mon for
the same reasons.
http://tracker.ceph.com/issues/9273 Fixes: #9273
Signed-off-by: Loic Dachary <loic-201408@dachary.org>
commit db8d6e6e190de964ec3d5d1bbc87da2dcb3213f5
Author: John Spray <john.spray@redhat.com>
Date: Tue Aug 26 17:36:16 2014 +0100
mds: fix FP error in ROUND_UP_TO
Explicitly handle case where denominator is 0, instead of
passing into ROUND_UP_TO.
Regression from 9449520b121fc6ce0c64948386d4ff77f46f4f5f
Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit bf3e4835dabc057982def1b5c9a6499c04ac5312)
commit 8e3120fcb379a00d370e4c04d34af35e596e2de9
Author: Sage Weil <sage@redhat.com>
Date: Thu Aug 21 11:14:39 2014 -0700
mon: generate cluster_fingerprint if null
This triggers after an upgrade of a legacy cluster that has no fingerprint.
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit b245d600163f6337af15aedd1fea68f4e2a668a8)
commit ebcdeb4cfe201dd0c630386226f9970650689ccf
Author: Sage Weil <sage@redhat.com>
Date: Wed Aug 20 08:59:46 2014 -0700
mon: add a cluster fingerprint
Generate it on cluster creations with the initial monmap. Include it in
the report. Provide no way for this uuid to be fed in to the cluster
(intentionally or not) so that it can be assumed to be a truly unique
identifier for the cluster.
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 675b0042eff0ad5e1453838410210b1206c39004)
commit b3b029165d4ac0af3f2143fad205f4e8ab08a30f
Merge: 21e1faa 07e1ceb
Author: Sage Weil <sage@redhat.com>
Date: Tue Aug 26 13:13:08 2014 -0700
Merge pull request #2244 from dachary/wip-9044-use-ruleset-firefly
erasure-code: OSDMonitor::crush_ruleset_create_erasure needs ruleset (firefly)
commit 21e1faa75da4e9cab8e139a8e2a1c4fc0ee30867
Author: Samuel Just <sam.just@inktank.com>
Date: Tue Aug 12 16:41:38 2014 -0700
ReplicatedPG::cancel_copy: clear cop->obc
Otherwise, an objecter callback might still be hanging
onto this reference until after the flush.
Fixes: #8894
Introduced: 589b639af7c8834a1e6293d58d77a9c440107bc3
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 5040413054e923d6d5a2b4928162dba140d980e0)
commit e6da7323655f3bfa4f669fb8361fcaa96f633456
Author: Samuel Just <sam.just@inktank.com>
Date: Tue Aug 26 12:02:52 2014 -0700
PG: recover from each osd at most once
Signed-off-by: Samuel Just <sam.just@inktank.com>
commit 8a1723f67f995253c9e6da95ab433743ef23f61c
Author: Samuel Just <sam.just@inktank.com>
Date: Tue Aug 26 11:38:53 2014 -0700
PG: make the reservation sets more descriptively named
These sets won't precisely be the backfill_targets or actingbackfill
shortly.
%s/sorted_backfill_set/remote_shards_to_reserve_backfill/g
%s/acting_osd_it/remote_recovery_reservation_it/g
%s/sorted_actingbackfill_set/remote_shards_to_reserve_recovery/g
Signed-off-by: Samuel Just <sam.just@inktank.com>
commit 938d735697e2af0b01dd2613a9152b3caef5db57
Merge: 2f11631 9ca451a
Author: Samuel Just <sam.just@inktank.com>
Date: Tue Aug 26 10:30:14 2014 -0700
Merge pull request #2203 from ceph/wip-scrub-firefly
backport scrub throttling to firefly
Reviewed-by: Samuel Just <sam.just@inktank.com>
commit 2f11631f3144f2cc0e04d718e40e716540c8af19
Author: Sage Weil <sage@redhat.com>
Date: Sat Aug 16 12:42:33 2014 -0700
os/FileStore: fix mount/remount force_sync race
Consider:
- mount
- sync_entry is doing some work
- umount
- set force_sync = true
- set done = true
- sync_entry exits (due to done)
- ..but does not set force_sync = false
- mount
- journal replay starts
- sync_entry sees force_sync and does a commit while op_seq == 0
...crash...
Fixes: #9144
Backport: firefly, dumpling
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit dd11042f969b94f7a461d02e1475794031c79f61)
Conflicts:
src/os/FileStore.cc
commit a38cf1bd503a09843d439f65937e7d60aed163e2
Author: Haomai Wang <haomaiwang@gmail.com>
Date: Thu Jul 10 10:32:17 2014 +0800
Add random_cache.hpp to Makefile.am
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
(cherry picked from commit a3e5c6d632119febd2150944a6f2cbce33cfda3a)
commit a2c1532b5610207eccd24b8253643eec6bb05294
Author: Sage Weil <sage@redhat.com>
Date: Tue Aug 26 06:42:12 2014 -0700
os/KeyValueStore, MemStore: fix warning
os/MemStore.cc: In member function 'void MemStore::_do_transaction(ObjectStore::Transaction&)':
os/MemStore.cc:956:18: warning: unused variable 'expected_object_size' [-Wunused-variable]
os/MemStore.cc:957:18: warning: unused variable 'expected_write_size' [-Wunused-variable]
os/KeyValueStore.cc: In member function 'unsigned int KeyValueStore::_do_transaction(ObjectStore::Transaction&, KeyValueStore::BufferTransaction&, ThreadPool::TPHandle*)':
os/KeyValueStore.cc:1426:18: warning: unused variable 'expected_object_size' [-Wunused-variable]
os/KeyValueStore.cc:1427:18: warning: unused variable 'expected_write_size' [-Wunused-variable]
Signed-off-by: Sage Weil <sage@redhat.com>
commit 2b86bf4f4c1be2603368d5031ee7d706056e2d1e
Author: Sage Weil <sage@inktank.com>
Date: Tue Apr 29 11:23:58 2014 -0700
osd: automatically scrub PGs with invalid stats
If a PG has recnetly split and has invalid stats, scrub it now, even if
it has scrubbed recently. This helps the stats become valid again soon.
Fixes: #8147
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 68b440d66539e820c9ce86a6942c3188be4ee1ec)
commit 271ca7d9bc41e3a2ac387b05ca9f30d8a250fb62
Merge: 54333a4 87cd3a8
Author: Sage Weil <sage@redhat.com>
Date: Tue Aug 26 06:38:34 2014 -0700
Merge pull request #2328 from dachary/wip-9209-round-up-to-firefly
common: ROUND_UP_TO accepts any rounding factor (firefly)
commit 54333a49c9e99a398bf3695845b248ba76ee3930
Merge: 4bff6f3 58d0871
Author: Sage Weil <sage@redhat.com>
Date: Tue Aug 26 06:09:17 2014 -0700
Merge pull request #2326 from yuyuyu101/wip-kvstore-firefly
Backport from master to Firefly(KeyValueStore)
commit 87cd3a8f6e190aed06e361595afc4ec83148da98
Author: Loic Dachary <loic-201408@dachary.org>
Date: Mon Aug 25 17:05:04 2014 +0200
common: ROUND_UP_TO accepts any rounding factor
The ROUND_UP_TO function was limited to rounding factors that are powers
of two. This saves a modulo but it is not used where it would make a
difference. The implementation is changed so it is generic.
http://tracker.ceph.com/issues/9209 Fixes: #9209
Signed-off-by: Loic Dachary <loic-201408@dachary.org>
(cherry picked from commit 9449520b121fc6ce0c64948386d4ff77f46f4f5f)
commit 58d08714340049a5165ad682ec5b54292525b45d
Author: Haomai Wang <haomaiwang@gmail.com>
Date: Thu Mar 20 14:09:49 2014 +0800
Remove exclusive lock on GenericObjectMap
Now most of GenericObjectMap interfaces use header as argument not the union of
coll_t and ghobject_t. So caller should be responsible for maintain the
exclusive header.
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
commit 98df982a6f830154ff6880f5ee00350ba3375b6b
Author: Haomai Wang <haomaiwang@gmail.com>
Date: Wed Jul 23 11:26:18 2014 +0800
common/RandomCache: Fix inconsistence between contents and count
The add/clear method may cause count inconsistent with the real size of
contents.
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
commit c8ec7721526ccf4bfd91a220fee0dd75bef8fb21
Author: Haomai Wang <haomaiwang@gmail.com>
Date: Tue Aug 26 04:41:28 2014 +0000
Add random cache and replace SharedLRU in KeyValueStore
SharedLRU plays pool performance in KeyValueStore with large header cache size,
so a performance optimized RandomCache could improve it.
RandomCache will record the lookup frequency of key. When evictint element,
it will randomly compare several elements's frequency and evict the least
one.
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Conflicts:
src/common/config_opts.h
src/os/KeyValueStore.cc
commit 33ca26a103a0d99627fddc30f2916c5aeb37c691
Author: Haomai Wang <haomaiwang@gmail.com>
Date: Tue Aug 26 04:40:16 2014 +0000
Add Header cache to KeyValueStore
In the performance statistic recently, the header lookup becomes the main time
consuming for the read/write operations. Most of time it occur 50% to deal with
header lookup, decode/encode logics.
Now adding header cache using SharedLRU structure which will maintain the header
cache and caller will get the pointer to the real header. It also avoid too much
header copy operations overhead.
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Conflicts:
src/os/KeyValueStore.cc
src/os/KeyValueStore.h
commit e8dcb8cc603cff64bafc11ee42c5c04a9cf85d12
Author: Haomai Wang <haomaiwang@gmail.com>
Date: Wed Feb 26 17:46:07 2014 +0800
Fix write operation on a deleted object in the same transaction
If the following op happened:
touch obj
delete obj
write obj
KeyValueStore will fail at "write" operation.
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
commit e0ae6f9de685b60eee5efa5ca960c7a15481e41a
Author: Haomai Wang <haomaiwang@gmail.com>
Date: Tue Aug 26 04:35:57 2014 +0000
Remove SequencerPosition from KeyValueStore
Now KeyValueStore expects kv backend to ensure consistency and there is unusable
for KeyValueStore to store a SequencerPosition.
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Conflicts:
src/os/KeyValueStore.cc
src/os/KeyValueStore.h
commit 44721f71266e3098169ed00f1ca7e86496b76b07
Author: Haomai Wang <haomaiwang@gmail.com>
Date: Wed Jun 4 12:58:07 2014 +0800
Fix keyvaluestore fiemap bug
The result of fiemap is wrong and the offset get from
"StripObjectMap::file_to_extents" need to multiply by sequence number
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
commit 4bff6f3476e5df400db3dc1f0ad7b35a2a41830e
Author: Sage Weil <sage@redhat.com>
Date: Thu Aug 21 13:05:35 2014 -0700
mon: fix occasional message leak after session reset
Consider:
- we get a message, put it on a wait list
- the client session resets
- we go back to process the message later and discard
- _ms_dispatch returns false, but nobody drops the msg ref
Since we call _ms_dispatch() a lot internally, we need to always return
true when we are an internal caller.
Fixes: #9176
Backport: firefly, dumpling
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 19df386b2d36d716be2e6d02de0386fac9e7bc1f)
commit ca3ac907aa73c5d77760e12da6f1509ea860e894
Merge: fdbab46 8d7e77b
Author: Sage Weil <sage@redhat.com>
Date: Thu Aug 21 10:14:18 2014 -0700
Merge pull request #2298 from dachary/wip-9153-jerasure-upgrade-firefly
erasure-code: preload the jerasure plugin variant (sse4,sse3,generic)
Reviewed-by: Sage Weil <sage@redhat.com>
commit 8d7e77b9747f1b3dc3c10d1b0877a4b9c899ba86
Author: Loic Dachary <loic-201408@dachary.org>
Date: Thu Aug 21 14:41:55 2014 +0200
erasure-code: preload the jerasure plugin variant (sse4,sse3,generic)
The preloading of the jerasure plugin ldopen the plugin that is in
charge of selecting the variant optimized for the
CPU (sse4,sse3,generic). The variant plugin itself is not loaded because
it does not happen at load() but when the factory() method is called.
The JerasurePlugin::preload method is modified to call the factory()
method to load jerasure_sse4 or jerasure_sse3 or jerasure_generic as a
side effect.
Indirectly loading another plugin in the factory() method is error prone
and should be moved to the load() method instead. This change should be
done in a separate commit.
http://tracker.ceph.com/issues/9153 Fixes: #9153
Signed-off-by: Loic Dachary <loic-201408@dachary.org>
commit fdbab46852e74d405b5c747da98564a5866ec8a7
Author: Haomai Wang <haomaiwang@gmail.com>
Date: Tue May 20 14:32:18 2014 +0800
Fix set_alloc_hint op cause KeyValueStore crash problem
Now KeyValueStore doesn't support set_alloc_hit op, the implementation of
_do_transaction need to consider decoding the arguments. Otherwise, the
arguments will be regarded as the next op.
Fix the same problem for MemStore.
Fix #8381
Reported-by: Xinxin Shu <xinxin.shu5040@gmail.com>
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
(cherry picked from commit c08adbc98ff5f380ecd215f8bd9cf3cab214913c)
commit 922e24e658f09a8a772309f18a8d54c560fad653
Merge: ae787cf 164f1a1
Author: Sage Weil <sage@redhat.com>
Date: Wed Aug 20 10:10:08 2014 -0700
Merge pull request #2286 from dachary/wip-9153-jerasure-upgrade-firefly
erasure-code: preload the jerasure plugin (firefly)
Reviewed-by: Sage Weil <sage@redhat.com>
commit 164f1a1959a863848319585fa752250c7b261381
Author: Loic Dachary <loic-201408@dachary.org>
Date: Tue Aug 19 01:30:15 2014 +0200
erasure-code: preload the jerasure plugin
Load the jerasure plugin when ceph-osd starts to avoid the following
scenario:
* ceph-osd-v1 is running but did not load jerasure
* ceph-osd-v2 is installed being installed but takes time : the files
are installed before ceph-osd is restarted
* ceph-osd-v1 is required to handle an erasure coded placement group and
loads jerasure (the v2 version which is not API compatible)
* ceph-osd-v1 calls the v2 jerasure plugin and does not reference the
expected part of the code and crashes
Although this problem shows in the context of teuthology, it is unlikely
to happen on a real cluster because it involves upgrading immediately
after installing and running an OSD. Once it is backported to firefly,
it will not even happen in teuthology tests because the upgrade from
firefly to master will use the firefly version including this fix.
While it would be possible to walk the plugin directory and preload
whatever it contains, that would not work for plugins such as jerasure
that load other plugins depending on the CPU features, or even plugins
such as isa which only work on specific CPU.
http://tracker.ceph.com/issues/9153 Fixes: #9153
Backport: firefly
Signed-off-by: Loic Dachary <loic-201408@dachary.org>
(cherry picked from commit 9b802701f78288ba4f706c65b853415c69002d27)
Conflicts:
src/test/erasure-code/test-erasure-code.sh
src/common/config_opts.h
commit ae787cfa88dfd0f5add5932b297258c46af4e333
Author: Matt Benjamin <matt@linuxbox.com>
Date: Thu May 29 10:34:20 2014 -0400
Work around an apparent binding bug (GCC 4.8).
A reference to h->seq passed to std::pair ostensibly could not bind
because the header structure is packed. At first this looked like
a more general unaligned access problem, but the only location the
compiler rejects is a false positive.
Signed-off-by: Matt Benjamin <matt@linuxbox.com>
(cherry picked from commit c930a1f119069a424af28a618b0abff4947c221f)
commit 486deefdc1496b72cc680e432a61d71e5fa265c9
Author: Sage Weil <sage@redhat.com>
Date: Sun Aug 17 20:54:28 2014 -0700
qa/workunits/rbd/qemu-iotests: touch common.env
This seems to be necessary on trusty.
Backport: firefly, dumpling
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 055be68cf8e1b84287ab3631a02e89a9f3ae6cca)
commit cc4e6258d67fb16d4a92c25078a0822a9849cd77
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Fri May 23 16:52:08 2014 +0100
unittest_strtol: fix compilation warning
Was fixed in master by a4923f5bc373d530d1ffdf6c58a4d88139daedd2
Signed-off-by: Sage Weil <sage@redhat.com>
commit 7f9fe22a1c73d5f2783c3303fb9f3a7cfcea61c5
Author: huangjun <hjwsm1989@gmail.com>
Date: Tue Jun 17 13:12:58 2014 +0800
Fix EINVAL err when use "ceph tell osd.* bench"
Signed-off-by: huangjun <hjwsm1989@gmail.com>
(cherry picked from commit 7dc93a9651f602d9c46311524fc6b54c2f1ac595)
commit 14607fc045aa169f1e8fa6872b412fba8f09d645
Author: Ma Jianpeng <jianpeng.ma@intel.com>
Date: Wed Jul 16 17:48:34 2014 -0700
qa/workunits/cephtool/test.sh: fix get erasure_code_profile test
Manual backport of 4d6899c7560e990650959b442980a7249f0ba4c1
Signed-off-by: Sage Weil <sage@redhat.com>
commit 068b906ee396f1ad717968f214610ea86dd8d6b4
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Fri Jun 27 21:41:18 2014 +0100
mon: OSDMonitor: add 'osd pool get-quota' command
Enables us to obtain current quotas for a given pool.
Fixes: #8523
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 714a9bb5a058b2553f3be3e4cfb7e7f30150e75a)
commit 2ed0fa034aa8e49ab703bdb798bd6211a83e3a9d
Author: John Spray <jspray@redhat.com>
Date: Tue Jun 3 10:12:41 2014 +0100
mon: name instead of id in "has tiers" message
Instead of "Pool foo has tiers 1 2" print
"Pool foo has tiers bar baz".
Signed-off-by: John Spray <jspray@redhat.com>
(cherry picked from commit 97772c2f53f726bd71710d0d3e34159d2679390a)
commit 7e509b1b8b5a3679094f794cd9334598aef4441e
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Fri May 23 17:01:38 2014 +0100
common/config.cc: allow integer values to be parsed as SI units
We are allowing this for all and any integer values; that is, OPT_INT,
OPT_LONGLONG, OPT_U32 and OPT_U64.
It's on the user to use appropriate units. For instance, the user should
not use 'E(xabyte)' when setting a signed int, and use his best judgment
when setting options that, for instance, ought to receive seconds.
Fixes: 8265
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 5500437e064cd6b4b45d63ee9396193df87f4d44)
commit 4e34d83e337d0febf20c86b051721878feef49a8
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Fri May 23 16:52:08 2014 +0100
test/strtol.cc: Test 'strict_strtosi()'
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 40587d4792fd55db72d33870aae8b6a806c9baaf)
commit 3b06b8f4893bd18440ecb9705414831a827cef90
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Fri May 23 16:51:37 2014 +0100
common/strtol.cc: strict_strtosi() converts str with SI units to uint64_t
Accepts values with a suffix (B, K, M, G, T, P, E) and returns the
appropriate byte value.
E.g., 10B = 10, while 10K = 10240.
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 67dc5751ba9a4e527ff12ea65000d1ba45d956f6)
commit 92ab6ecf321ab68ea8fe3e8c2b310303a5726af3
Author: Alfredo Deza <alfredo.deza@inktank.com>
Date: Wed Aug 13 15:50:20 2014 -0400
ceph-disk: linter cleanup
Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
(cherry picked from commit d74ed9d53fab95f27a9ad8e9f5dab7192993f6a3)
commit 08772fd888fb0eca4570bd6b4bb25f8122691cb4
Author: Sage Weil <sage@redhat.com>
Date: Wed Aug 13 12:00:50 2014 -0700
ceph-disk: warn about falling back to sgdisk (once)
This way the user knows something funny might be up if dmcrypt is in use.
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 6f7798e37e098de38fbc73f86c4c6ee705abbe38)
commit 50166efd205f46fa325dec9636d817387e5d4d3b
Author: Sage Weil <sage@redhat.com>
Date: Wed Aug 13 11:40:34 2014 -0700
ceph-disk: only fall back to sgdisk for 'list' if blkid seems old
If the blkid doesn't show us any ID_PART_ENTRY_* fields but we know it is
a GPT partition, *then* fallback. Otherwise, don't bother.
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit b1651afb34d9d2c324db3bf5f54ac9ce001c6af9)
commit a45e815cb00f1a807691cbf687990839995f7629
Author: Sage Weil <sage@redhat.com>
Date: Wed Aug 13 11:39:47 2014 -0700
ceph-disk: add get_partition_base() helper
Return the base devices/disk for a partition device.
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit b75e8a340c49cbc067baa19790b994a5f904bb4f)
commit 8c04e475efb4471c605e3c921ec8a03b67934899
Author: Sage Weil <sage@redhat.com>
Date: Tue Aug 12 17:26:07 2014 -0700
ceph-disk: display information about dmcrypted data and journal volumes
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit c7a1ceba441fa99a82e19ed2cd3c6782a5d77636)
commit b09e659226b26002b58c7697f8c600d06fe78c58
Author: Sage Weil <sage@redhat.com>
Date: Tue Aug 12 17:25:42 2014 -0700
ceph-disk: move fs mount probe into a helper
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit f80ed26d2403ba12e80da6459fc45c22584f72de)
commit 6775f46e4a5862ddbf81bef11016bc036222fda9
Author: Sage Weil <sage@redhat.com>
Date: Tue Aug 12 17:25:10 2014 -0700
ceph-disk: use partition type UUIDs, and blkid
Use blkid to give us the GPT partition type. This lets us distinguish
between dmcrypt and non-dmcrypt partitions. Fake it if blkid doesn't
give us what we want and try with sgdisk. This isn't perfect (it can't
tell between dmcrypt and not dmcrypt), but such is life, and we are better
off than before.
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 6c77f5f2f994c881232d76ce9c69af80d10772bd)
commit 1804a83400b7c3dc07650e09da5224bb999d0940
Author: Sage Weil <sage@redhat.com>
Date: Tue Aug 12 13:53:16 2014 -0700
ceph-disk: fix log syntax error
File "/usr/sbin/ceph-disk", line 303, in command_check_call
LOG.info('Running command: %s' % ' '.join(arguments))
TypeError: sequence item 2: expected string, NoneType found
Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 1088d6cd11b476cd67ed30e07edd363c4057a003)
commit 8a8a9c35349d3f58d899afa1a9e219b99586bc9f
Author: Sage Weil <sage@redhat.com>
Date: Mon Aug 11 15:58:15 2014 -0700
Revert "Fix for bug #6700"
This reverts commit 673394702b725ff3f26d13b54d909208daa56d89.
This appears to break things when the journal and data disk are *not* the same.
And I can't seem to reproduce the original failure...
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 2edf01ffa4a7425af2691b4e94bc5fd0bfab1e5b)
commit 50b700fadf6ce6e0bf14b5daa2288786426d7359
Author: Sage Weil <sage@redhat.com>
Date: Mon Aug 11 15:57:52 2014 -0700
ceph-disk: fix verify_no_in_use check
We only need to verify that partitions aren't in use when we want to
consume the whole device (osd data), not when we want to create an
additional partition for ourselves (osd journal).
Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit d6e6ba198efc4b3afff0c70af53497a70c6b3f19)
commit c9847ef059f182ad15ef027c8bdfae6c99d91867
Author: Alfredo Deza <alfredo@deza.pe>
Date: Thu May 22 17:04:28 2014 -0400
better error reporting on incompatible device requirements
Signed-off-by: Alfredo Deza <alfredo@deza.pe>
(cherry picked from commit 1ac3a503a15ddf7f7c1a33310a468fac10a1b7b6)
commit 40649902891244242d5861ccd9538aec026cae3a
Author: Stuart Longland <stuartl@vrt.com.au>
Date: Tue May 6 14:06:36 2014 -0700
ceph-disk: fix list for encrypted or corrupt volume
Continue gracefully if an fs type is not detected, either because it is
encrypted or because it is corrupted.
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 09beebe3f1fd1b179547743648049b891cb8bc56)
commit 80896dcf2c3ccba0b9b0b1bd9f6e075585e3d502
Author: Alfredo Deza <alfredo.deza@inktank.com>
Date: Fri Jun 13 09:37:33 2014 -0400
support dmcrypt partitions when activating
Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
(cherry picked from commit ef8a1281512c4ee70a3764b28891da691a183804)
commit 1b0da81d733a36de4a9dc80263058a6cdf05c745
Author: Sage Weil <sage@redhat.com>
Date: Fri Aug 15 16:41:43 2014 -0700
init-ceph: don't use bashism
-z STRING
the length of STRING is zero
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 0d6d1aa7e0c5e0b5f99c9b548a1f890c511b4299)
commit 9005f33d0d80d6d2b93493b38866b7f74f87d1eb
Author: Sage Weil <sage@redhat.com>
Date: Fri Aug 15 14:28:57 2014 -0700
osd: fix feature requirement for mons
These features should be set on the client_messenger, not
cluster_messenger.
Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit ae0b9f17760eda9a7e09a6babac50bfe8ebb4b36)
commit 9e46c5ad7dadd1c342c82629577b5a1bf037fe75
Author: Sage Weil <sage@redhat.com>
Date: Fri Aug 15 13:54:11 2014 -0700
unittest_osdmap: test EC rule and pool features
TODO: tiering feature bits.
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 2f0e2951d773b6acce781b4b991d6d8e817ee2f9)
commit dbbe0c627bcd4a60c1346bb120698b5a0c2192c2
Author: Sage Weil <sage@redhat.com>
Date: Fri Aug 15 14:04:05 2014 -0700
unittest_osdmap: create an ec pool in test osdmap
This is part of 7294e8c4df6df9d0898f82bb6e0839ed98149310.
Signed-off-by: Sage Weil <sage@redhat.com>
commit c2aa74a22718d9a59d60201d71213aaff2492ff8
Author: Sage Weil <sage@redhat.com>
Date: Fri Aug 15 08:55:10 2014 -0700
osd: only require crush features for rules that are actually used
Often there will be a CRUSH rule present for erasure coding that uses the
new CRUSH steps or indep mode. If these rules are not referenced by any
pool, we do not need clients to support the mapping behavior. This is true
because the encoding has not changed; only the expected CRUSH output.
Fixes: #8963
Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 16dadb86e02108e11a970252411855d84ab0a4a2)
commit 12430fed85b2cfeaeb33a443e6a4c6538d0833f8
Author: Sage Weil <sage@redhat.com>
Date: Fri Aug 15 08:52:37 2014 -0700
crush: add is_v[23]_rule(ruleid) methods
Add methods to check if a *specific* rule uses v2 or v3 features. Refactor
the existing checks to use these.
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 1d95486780a54c85a5c88936a4da4bdc3576a7b8)
commit 2427ea8f153caf55b3bce77cd2fc88935563c7b3
Author: Samuel Just <sam.just@inktank.com>
Date: Mon Jun 30 13:40:07 2014 -0700
PGLog: fix clear() to avoid the IndexLog::zero() asserts
Introduced in:
c5b8d8105d965da852c79add607b69d5ae79a4d4
ac11ca40b4f4525cbe9b1778b1c5d9472ecb9efa
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 959f2b25910360b930183fbf469ce984a48542dd)
commit 9ca451a6bf2f29e75f72cbd3dbcff0bf8986e462
Author: Sage Weil <sage@redhat.com>
Date: Thu Jun 19 12:34:36 2014 -0700
osd: allow io priority to be set for the disk_tp
The disk_tp covers scrubbing, pg deletion, and snap trimming
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit d9073f486527ca13cdb2774745c4c63c218333ad)
commit 11858d7e7a493c9493f7039b7e45dc03fc4feb90
Author: Sage Weil <sage@redhat.com>
Date: Wed Jun 18 11:02:09 2014 -0700
common/WorkQueue: allow io priority to be set for wq
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit dd6badcb5eedfec6748b3e6ca4d46e3b266038f6)
Conflicts:
src/common/WorkQueue.cc
commit b75f85a2c4dd9807947862f7b89a5f25dfa1defe
Author: Sage Weil <sage@redhat.com>
Date: Wed Jun 18 11:01:42 2014 -0700
common/Thread: allow io priority to be set for a Thread
Ideally, set this before starting the thread. If you set it after, we
could potentially race with create() itself.
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 1b8741022c5a2ebae38905215dadee696433e931)
commit 9f29788fbc19aea341b4fe997a567aa3054b9d1c
Author: Sage Weil <sage@redhat.com>
Date: Wed Jun 18 11:01:09 2014 -0700
common/io_priority: wrap ioprio_set() and gettid()
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit a2b49110ef65efd526c3430ad03c988ca9dde768)
commit fac5bfafef1eb82f8cf23c369fb5f50502e2e6f3
Author: Sage Weil <sage@inktank.com>
Date: Tue Jun 17 10:47:24 2014 -0700
osd: introduce simple sleep during scrub
This option is similar to osd_snap_trim_sleep: simply inject an optional
sleep in the thread that is doing scrub work. This is a very kludgey and
coarse knob for limiting the impact of scrub on the cluster, but can help
until we have a more robust and elegant solution.
Only sleep if we are in the NEW_CHUNK state to avoid delaying processing of
an in-progress chunk. In this state nothing is blocked on anything.
Conveniently, chunky_scrub() requeues itself for each new chunk.
Backport: firefly, dumpling
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit c4e8451cc5b4ec5ed07e09c08fb13221e31a7ac6)
commit ad82f28122dc41095d5e703279a8a5c494d35913
Author: Sage Weil <sage@inktank.com>
Date: Sat Jun 14 10:30:50 2014 -0700
osd: add sanity check/warning on a few key configs
Warn when certain config values are set to bad values.
Backport: firefly, dumpling
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit f3ec7d0b23fdee39a34bda7595cd2a79c08daf8a)
commit 289360c5dc57a4788289472f90d63781143539be
Author: Sage Weil <sage@inktank.com>
Date: Thu May 1 17:24:48 2014 -0700
osd: prevent pgs from getting too far ahead of the min pg epoch
Bound the range of PG epochs between the slowest and fastest pg
(epoch-wise) with 'osd map max advance'. This value should be set to
something less than 'osd map cache size' so that the maps we are
processing will be in memory as many PGs advance forward in time in
loose synchrony.
This is part of the solution to #7576.
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit cf25bdf6b0090379903981fe8cee5ea75efd7ba0)
commit 662af7ac83b67af8c9edc554bbd505de717f9709
Author: Sage Weil <sage@redhat.com>
Date: Thu Aug 7 17:42:06 2014 -0700
osd: fix pg epoch floor tracking
If you call erase() on a multiset it will delete all instances of a value;
we only want to delete one of them. Fix this by passing an iterator.
Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit a52a855f6c92b03dd84cd0cc1759084f070a98c2)
commit 229a346d824d84c361d7963a356af5251adc9e2e
Author: Sage Weil <sage@inktank.com>
Date: Wed Apr 2 14:29:08 2014 -0700
osd: track per-pg epochs, min
Add some simple tracking so that we can quickly determine what the min
pg osdmap epoch is.
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 81e4c47722255ac3d46f701a80e104cc390e766c)
commit 38c3a3c0b0d1903aea2fdc6224fc4f70bbc39329
Author: Sage Weil <sage@redhat.com>
Date: Wed Aug 13 13:31:10 2014 -0700
mon: fix divide by zero when pg_num adjusted and no osds
Fixes: #9052
Backport: firefly, dumpling
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 239401db7b51541a57c59a261b89e0f05347c32d)
commit 87bf00a2cb93ce2dc904a42c45cc9f43023725c3
Author: Sage Weil <sage@redhat.com>
Date: Sun Aug 10 12:48:29 2014 -0700
ceph_test_rados_api_tier: fix cache cleanup (ec too)
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit d7fb7bf5f2059f411633751e376c2270e6040fba)
commit 3be0d731cbe158d837d05c907aefe16aa95977be
Author: Sage Weil <sage@redhat.com>
Date: Sun Aug 10 12:15:38 2014 -0700
ceph_test_rados_api: fix cleanup of cache pool
We can't simply try to delete everything in there because some items may
be whiteouts. Instead, flush+evict everything, then remove overlay, and
*then* delete what remains.
Fixes: #9055
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit ebbe8aab17cfa2281902f167a706639535da4010)
commit 7f511ef7fd55cca8f1babaf696ca0faa0e1e411d
Author: Sage Weil <sage@redhat.com>
Date: Sun Aug 10 11:41:23 2014 -0700
librados/TestCase: inheret cleanup_default_namespace
No need to duplicate this code.
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 1d199fb1173dc9685dba96c22b83e4e9edf51a11)
commit 4a5c93a90986de4510c50f0fba72ae7d5aed8a15
Author: Sage Weil <sage@redhat.com>
Date: Wed Aug 13 10:34:53 2014 -0700
osd/ReplicatedPG: only do agent mode calculations for positive values
After a split we can get negative values here. Only do the arithmetic if
we have a valid (positive) value that won't through the floating point
unit for a loop.
Fixes: #9082
Tested-by: Karan Singh <karan.singh@csc.fi>
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 5be56ff86d9f3ab2407a258a5285d0b8f52f041e)
commit 39bcafa6f2b14e4e11e1541cf01f24525e2b6449
Merge: 7da121d cb48cd4
Author: Sage Weil <sage@inktank.com>
Date: Tue Aug 12 21:15:26 2014 -0700
Merge pull request #2231 from ceph/wip-8944-firefly
Wip 8944 firefly
Reviewed-by: Sage Weil <sage@redhat.com>
commit 7da121d2aa1ea5c5c8accef92d7304912d4b2eb3
Author: Greg Farnum <greg@inktank.com>
Date: Mon Jul 28 18:33:56 2014 -0700
OSD: add require_same_peer_inst(OpRequestRef&,OSDMap&) helper
Signed-off-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit e99acf9810976b1fc74b84ad289773af43be973f)
Conflicts:
src/osd/OSD.cc
commit 8595e9bed3689933c03a8f3443052a36ff1d62f5
Author: Greg Farnum <greg@inktank.com>
Date: Mon Jul 28 14:19:59 2014 -0700
OSD: introduce require_self_aliveness(OpRequestRef&,epoch_t) function
Take the self-aliveness checks out of require_same_or_newer_map() and use
the new function for that and for require_up_osd_peer().
Signed-off-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit e179e9227b4a4482d8359682092fd7f426b9a919)
Conflicts:
src/osd/OSD.cc
commit d0f2c4891bbcc1938bee15b3fc0bfb796ce4c7de
Author: Greg Farnum <greg@inktank.com>
Date: Mon Jul 28 14:08:30 2014 -0700
OSD: use OpRequestRef& for a few require_* functions
Signed-off-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit eb2f1ea2c33647934af878b504383829f5a198ce)
commit 8d395f1cbbc63f4cd5d166fd0a667938c83f303c
Author: Greg Farnum <greg@inktank.com>
Date: Tue Jul 22 16:57:00 2014 -0700
OSD: introduce require_up_osd_peer() function for gating replica ops
This checks both that a Message originates from an OSD, and that the OSD
is up in the given map epoch.
We use it in handle_replica_op so that we don't inadvertently add operations
from down peers, who might or might not know it.
Signed-off-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit ccd0eec50103b919b3eb6eea96f7dc6438520ed3)
commit 72c2474e05b918535047181d876678a6a077aa1d
Author: Alfredo Deza <alfredo.deza@inktank.com>
Date: Fri Aug 8 10:16:20 2014 -0400
init-ceph: conditionally update after argparsing
Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
(cherry picked from commit 44ed1885fb588aad7e4729373e06c5933178b5e5)
commit 8d7fb538e0163f828289d7da719692bd36a66f83
Author: Alfredo Deza <alfredo.deza@inktank.com>
Date: Thu Aug 7 11:11:57 2014 -0400
make ceph-disk use the new init flag for cluster
Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
(cherry picked from commit d0ccb1cbef86b8ccd8967af892e3582ee80edd55)
commit 260a9c84630ca6956eb772d87abdc3bd4c4bb8fc
Author: Alfredo Deza <alfredo.deza@inktank.com>
Date: Thu Aug 7 10:48:09 2014 -0400
allow passing a --cluster flag to the init script
It will fallback to looking at /etc/ceph/$cluster.conf
otherwise.
Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
(cherry picked from commit 23b4915fa252852cf02cc42a1b6143e2cd61b445)
commit cb5ecdce68dcd4e4bc32b5c7c029cfd7ffe7c80e
Author: Alfredo Deza <alfredo.deza@inktank.com>
Date: Wed Aug 6 15:30:30 2014 -0400
use cluster name when checking the host
Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
(cherry picked from commit bdf5f30010117c71a227855a47fe22ab55b3e0b8)
commit 79452540826d0aed7b94d374cc61b5002e89e4a4
Author: Alfredo Deza <alfredo.deza@inktank.com>
Date: Wed Aug 6 15:30:09 2014 -0400
use name in /var/lib/ceph paths
Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
(cherry picked from commit 3fb25c28e8e3cc62bc541538cc11f5ed41471611)
commit 92755d1060ea06f13577cd2fffda6c7984a610b2
Author: Alfredo Deza <alfredo.deza@inktank.com>
Date: Wed Aug 6 15:29:42 2014 -0400
when starting an OSD, pass in the cluster name
Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
(cherry picked from commit 9e08e3a7794ce007c80c8fdb56e96900eb5240a3)
commit 272b26f5aab71c22a1954ff92548b535a1f018d8
Author: Samuel Just <sam.just@inktank.com>
Date: Fri Aug 1 14:04:35 2014 -0700
osd_types: s/stashed/rollback_info_completed and set on create
Originally, this flag indicated that the object had already been stashed and
that therefore recording subsequent changes is unecessary. We want to set it
on create() as well since operations like [create, writefull] should not need
to stash the object.
Fixes: #8625
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 4260767973d96978e808cb87ef6ae991104b4f8d)
commit 7b5bcb943578b99f5a2aeeae0bbc67f371c30233
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Thu Jun 19 18:27:49 2014 +0100
osd: use appropriate json types instead of stream when dumping info
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 363496ad878c685008ccd87f26f121d62a48c24c)
commit daec3226e073b8d6047eb9111f3deb39b1001647
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Thu Jun 19 16:52:06 2014 +0100
osd: have 'tid' dumped as a json unsigned int where appropriate
Most of the places dumping it would dump it as a string. Others as an int.
Just a couple would dump it as an unsigned int.
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 3f0ea9512be78d10ac0bc605a38e83cfbab7ffee)
commit 439bce34bc25cd7c8eba7ffc124185d810d3711f
Author: Yehuda Sadeh <yehuda@redhat.com>
Date: Sat Aug 2 13:01:05 2014 -0700
rgw: need to pass need_to_wait for throttle_data()
need_to_wait wasn't passed into processor->throttle_data(). This was
broken in fix for #8937.
CID 1229541: (PW.PARAM_SET_BUT_NOT_USED)
Backport: firefly
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit e93818df33286a2a7f73b593dc20da412db4e0a6)
(cherry picked from commit 8519e9ab06caf6999e1243514a93eaffb155ab2e)
commit fc1a4b5fdce7b92ba1b321dec37c4c75501e3521
Author: Sylvain Munaut <s.munaut@whatever-company.com>
Date: Thu Jun 5 11:28:27 2014 +0200
rgw: Don't send error body when it's a HEAD request
The main 'operation' know not to send any body for HEAD requests.
However for errors, this was not the case, the formatter would be
flushed and would send the error 'message' in the body in all cases.
For the FastCGI case it doesn't seem to be an issue, it's possible
that the webserver (apache/lighttpd/...) cleans up the response
into shape.
But when using the new civetweb frontend this cause invalid HTTP.
Backport: firefly
Fixes #8539
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
Signed-off-by: Sylvain Munaut <s.munaut@whatever-company.com>
(cherry picked from commit 0a2b4c25541bbd15776d3d35986518e37166910f)
commit e3bc15343720d0455e32e429e7cf865037bd90d7
Author: Sage Weil <sage@redhat.com>
Date: Wed Jul 30 13:57:34 2014 -0700
osd: prevent old clients from using tiered pools
If the client is old and doesn't understand tiering, don't let them use a
tiered pool. Reply with EOPNOTSUPP.
Fixes: #8714
Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 0190df53056834f219e33ada2af3a79e8c4dfb77)
commit f3113e9adde54fa50a64010381f5b6c113f5cda0
Author: Sage Weil <sage@redhat.com>
Date: Thu Jul 31 11:02:55 2014 -0700
mon/OSDMonitor: warn when cache pools do not have hit_sets configured
Give users a clue when cache pools are enabled but the hit_set is not
configured. Note that technically this will work, but not well, so for
now let's just steer them away.
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 383536a2ef2506c5591b25c0fd61dc8c181fdab9)
NOTE: removed readforward state for backport
commit aaf732f7475c075f8bf8e79bc08b11a020e5fadf
Author: Sage Weil <sage@redhat.com>
Date: Thu Jul 31 09:28:12 2014 -0700
osd/ReplicatedPG: improve agent_choose_mode args
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit caf554bf2f752b50670d118c99843b7c4a2967b4)
commit 76a519b215e591e0948d627fb1de826ed0bf415d
Author: Sage Weil <sage@redhat.com>
Date: Thu Jul 31 09:26:03 2014 -0700
osd/ReplicatedPG: evict blindly if there is no hit_set
If there is no hit set for a PG, blindly evict objects. This avoids an
assert(hit_set) in agent_estimate_atime_temp().
Fixes: #8982
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit ea4996d3ef15c5d5a776d162b08d9fad6859c976)
commit 8ff48d79697e98dca04799ee5982a5308a4efc92
Author: Sage Weil <sage@redhat.com>
Date: Thu Jul 31 09:13:11 2014 -0700
osd/ReplicatedPG: check agent_mode if agent is enabled but hit_sets aren't
It is probably not a good idea to try to run the tiering agent without a
hit_set to inform its actions, but it is technically possible. For
example, one could simply blindly evict when we reach the full point.
However, this doesn't work because the agent mode is guarded by a hit_set
check, even though agent_setup() is not. Fix that.
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 5d1c76f641310f5f65600f70ae76945b2aa472d7)
commit f98a6194a9a9f5794c38814c1c33d13b7fcea538
Author: Sage Weil <sage@redhat.com>
Date: Tue Aug 12 07:05:34 2014 -0700
common/LogClient: fix sending dup log items
We need to skip even the most recently sent item in order to get to the
ones we haven't sent yet.
Fixes: #9080
Backport: firefly, dumpling
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 057c6808be5bc61c3f1ac2b956c1522f18411245)
commit bbb1e6a3a84b2d853f935687f01016e7c6a67951
Author: Pavan Rallabhandi <pavan.rallabhandi@sandisk.com>
Date: Wed Aug 6 15:10:14 2014 +0530
RadosClient: Fixing potential lock leaks.
In lookup_pool and pool_delete, a lock is taken
before invoking wait_for_osdmap, but is not
released for the failure case of the call. Fixing the same.
Fixes: #9022
Signed-off-by: Pavan Rallabhandi <pavan.rallabhandi@sandisk.com>
(cherry picked from commit f1aad8bcfc53f982130dbb3243660c3c546c3523)
commit e767254ce9a1610f3d640d8157fcb0d1fdf8edf2
Author: Josh Durgin <josh.durgin@inktank.com>
Date: Mon Aug 11 16:41:26 2014 -0700
librbd: fix error path cleanup for opening an image
If the image doesn't exist and caching is enabled, the ObjectCacher
was not being shutdown, and the ImageCtx was leaked. The IoCtx could
later be closed while the ObjectCacher was still running, resulting in
a segfault. Simply use the usual cleanup path in open_image(), which
works fine here.
Fixes: #8912
Backport: dumpling, firefly
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
(cherry picked from commit 3dfa72d5b9a1f54934dc8289592556d30430959d)
commit dec028d113ab4bcc7106fea0bf413b54829f67e7
Merge: e087862 c7fbf27
Author: Sage Weil <sage@redhat.com>
Date: Tue Aug 12 14:38:33 2014 -0700
Merge remote-tracking branch 'gh/firefly-next' into firefly
commit 07e1ceb55ac3cf0bea58cec27737e45391de9106
Author: Loic Dachary <loic@dachary.org>
Date: Sun Aug 10 17:10:04 2014 +0200
erasure-code: ErasureCodeJerasure::create_ruleset must return a ruleset
CrushWrapper::add_simple_ruleset does not return a ruleset, it returns
a ruleid that must be converted into a ruleset before being returned.
http://tracker.ceph.com/issues/9044 Fixes: #9044
Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit 0029a35872d3fc15f9a0d60d095b2e111d6e98a6)
commit 96047f1de4e0591a294e31ed6af6edfb3b2357e4
Author: Loic Dachary <loic@dachary.org>
Date: Sun Aug 10 17:06:33 2014 +0200
erasure-code: OSDMonitor::crush_ruleset_create_erasure needs ruleset
When OSDMonitor::crush_ruleset_create_erasure checks the ruleset for
existence, it must convert the ruleid into a ruleset before assigning it
back to the *ruleset parameter.
http://tracker.ceph.com/issues/9044 Fixes: #9044
Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit 04a484a4d5800c9bcf9805d3e87ed0c8dee01c9a)
commit e087862d5bd894572a6c223b45f4275cadd4b480
Author: Haomai Wang <haomaiwang@gmail.com>
Date: Mon Jul 14 14:27:17 2014 +0800
Add rbdcache max dirty object option
Librbd will calculate max dirty object according to rbd_cache_max_size, it
doesn't suitable for every case. If user set image order 24, the calculating
result is too small for reality. It will increase the overhead of trim call
which is called each read/write op.
Now we make it as option for tunning, by default this value is calculated.
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
(cherry picked from commit 3c7229a2fea98b30627878c86b1410c8eef2b5d7)
commit 5f74fb294a0cd9b973aae45de17f38436bac6d61
Author: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Date: Wed Jun 4 23:22:18 2014 +0200
librbd/internal.cc: check earlier for null pointer
Fix potential null ponter deref, move check for 'order != NULL'
to the beginning of the function to prevent a) deref in ldout() call
and b) to leave function as early as possible if check fails.
[src/librbd/internal.cc:843] -> [src/librbd/internal.cc:865]: (warning)
Possible null pointer dereference: order - otherwise it is redundant
to check it against null.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
(cherry picked from commit 3ee3e66a9520a5fcafa7d8c632586642f7bdbd29)
commit b2189465f36fc375b864f88a47d25c7808c08901
Author: Josh Durgin <josh.durgin@inktank.com>
Date: Thu Apr 24 14:47:24 2014 -0700
librbd: add an interface to invalidate cached data
This is useful for qemu to guarantee live migration with caching is
safe, by invalidating the cache on the destination before starting it.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
(cherry picked from commit 5d340d26dd70192eb0e4f3f240e3433fb9a24154)
commit f7dc58552a9ee228b7fa2a10094e962ed66fe8fd
Author: Josh Durgin <josh.durgin@inktank.com>
Date: Thu Apr 24 14:43:35 2014 -0700
librbd: check return code and error out if invalidate_cache fails
This will only happen when shrinking or rolling back an image is done
while other I/O is in flight to the same ImageCtx. This is unsafe, so
return an error before performing the resize or rollback.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
(cherry picked from commit e08b8b66c77be3a3d7f79d91c20b1619571149ee)
commit c7fbf272a202cd8a72d91b7a55e53fbb5cbbbadd
Author: Sage Weil <sage@redhat.com>
Date: Sat Aug 9 13:23:06 2014 -0700
os/FileStore: dump open fds before asserting
Backport: firefly, dumpling
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 4e8de1792731cf30f2744ab0659d036adc0565a3)
commit 978f5749f3d08bb4c96529ca2d1b10760ee2606d
Author: Sage Weil <sage@redhat.com>
Date: Fri Jul 25 13:51:45 2014 -0700
ceph_test_rados_api_tier: do fewer writes in HitSetWrite
We don't need to do quite so many writes. It can be slow when we are
thrashing and aren't doing anything in parallel.
Fixes: #8932
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit c5f766bb16c0ab3c3554e73791ad0b74077ad35c)
commit 22aa81413e7db43418e613aea037e978031f5b8a
Merge: b65cef6 7025075
Author: Sage Weil <sage@redhat.com>
Date: Fri Aug 8 19:05:37 2014 -0700
Merge remote-tracking branch 'gh/firefly-next' into firefly
commit cb48cd47a26d27869884af83012d6a8a684abf25
Author: Dan Mick <dan.mick@inktank.com>
Date: Wed Jul 30 14:50:37 2014 -0700
qa/workunits/cephtool/test_daemon.sh: verify ceph -c works with daemon
Signed-off-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit aa9ae1f270293778aa937e7f7e4bcaee3099b9b2)
commit 1ac0e5436da68e441f42a1016b12481046147850
Author: Dan Mick <dan.mick@inktank.com>
Date: Wed Jul 30 14:49:02 2014 -0700
qa/workunits/cephtool/test_daemon.sh: typo
Signed-off-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit 22d20f39b7355966554319d5a1aa888967607569)
commit a144950624208d8ed2901fd7421060a706ac2016
Author: Dan Mick <dan.mick@inktank.com>
Date: Wed Jul 30 14:48:28 2014 -0700
qa/workunits/cephtool/test_daemon.sh: allow local ceph command
(cherry picked from commit 97a8d5a9fdbd3a25cc922c242ee57da58c57d0bc)
commit 76b593f6268d77e6cf5a9931f6f3524b3f574c09
Author: Dan Mick <dan.mick@inktank.com>
Date: Mon Jul 28 21:28:42 2014 -0700
ceph.in: Pass global args to ceph-conf for proper lookup
Fixes: #8944
Signed-off-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit 6d89a99648630f81b85ad115fe7662dba6b08a55)
commit b65cef678777c1b87d25385595bf0df96168703e
Author: Sage Weil <sage@inktank.com>
Date: Mon Jul 14 08:04:16 2014 -0700
ceph_test_rados_api_tier: fix [EC] HitSet{Read,Write,Trim} tests
The hit_set_ fields can only be set on tier pools as of
f131dfbaedf6f451572e7aa3a83f653912122953.
Fixes: #8823
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit e17e9d857722ee478abda10adb32e15b11fff2ff)
commit 70250755e4b2c114f1f0f463b42930dd99751d81
Merge: 6f1a544 f8494c8
Author: Samuel Just <sam.just@inktank.com>
Date: Sun Aug 3 12:47:23 2014 -0700
Merge branch 'wip-8701-firefly' into firefly-next
commit f8494c87e5276f0587c3341ddef9d7a933dfea11
Author: Sage Weil <sage@redhat.com>
Date: Tue Jul 22 06:53:41 2014 -0700
ceph_test_objectstore: clean up on finish of MoveRename
Otherwise, we leave collections around, and the next test fails.
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit d4faf747b73e70dff9cb5c98ee6aaa4ecec215fc)
commit 94fee997204d439abfd642be20a7e33df5979342
Author: Sage Weil <sage@redhat.com>
Date: Mon Jul 21 13:45:21 2014 -0700
os/LFNIndex: use FDCloser for fsync_dir
This prevents an fd leak when maybe_inject_failure() throws an exception.
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 3ec9a42b470422b1fe72b6294d82d9efcaca7f53)
commit b213866eac422a6ac6aeacd3ab4741a6421ce20c
Author: Sage Weil <sage@redhat.com>
Date: Fri Jul 18 23:16:09 2014 -0700
os/LFNIndex: only consider alt xattr if nlink > 1
If we are doing a lookup, the main xattr fails, we'll check if there is an
alt xattr. If it exists, but the nlink on the inode is only 1, we will
kill the xattr. This cleans up the mess left over by an incomplete
lfn_unlink operation.
This resolves the problem with an lfn_link to a second long name that
hashes to the same short_name: we will ignore the old name the moment the
old link goes away.
Fixes: #8701
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 6fb3260d59faab1e20ebf1e44f850f85f6b8342a)
commit 4fc72d8d936ac499fbb53a1d73a3f7c05ebe596a
Author: Sage Weil <sage@redhat.com>
Date: Fri Jul 18 17:28:18 2014 -0700
os/LFNIndex: remove alt xattr after unlink
After we unlink, if the nlink on the inode is still non-zero, remove the
alt xattr. We can *only* do this after the rename or unlink operation
because we don't want to leave a file system link in place without the
matching xattr; hence the fsync_dir() call.
Note that this might leak an alt xattr if we happen to fail after the
rename/unlink but before the removexattr is committed. We'll fix that
next.
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit ec36f0a130d67df6cbeefcc9c2d83eb703b6b28c)
commit 816ed7e951b32bb9ac57466c0affaec9781ac7f4
Author: Sage Weil <sage@redhat.com>
Date: Mon Jul 21 13:43:42 2014 -0700
os/LFNIndex: FDCloser helper
Add a helper to close fd's when we leave scope. This is important when
injecting failures by throwing exceptions.
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit a320c260a9e088ab0a4ea3d5298c06a2d077de37)
commit cbfbe637851c7ebe4a9ec1fd6e429cdf85aef608
Author: Sage Weil <sage@redhat.com>
Date: Fri Jul 18 17:09:07 2014 -0700
os/LFNIndex: handle long object names with multiple links (i.e., rename)
When we rename an object (collection_move_rename) to a different name, and
the name is long, we run into problems because the lfn xattr can only track
a single long name linking to the inode. For example, suppose we have
foobar -> foo_123_0 (attr: foobar) where foobar hashes to 123.
At first, collection_add could only link a file to another file in a
different collection with the same name. Allowing collection_move_rename
to rename the file, however, means that we have to convert:
col1/foobar -> foo_123_0 (attr: foobar)
to
col1/foobaz -> foo_234_0 (attr: foobaz)
This is a problem because if we link, reset xattr, unlink we end up with
col1/foobar -> foo_123_0 (attr: foobaz)
if we restart after we reset the attr. This will cause the initial foobar
lookup to since the attr doesn't match, and the file won't be able to be
looked up.
Fix this by allow *two* (long) names to link to the same inode. If we
lfn_link a second (different) name, move the previous name to the "alt"
xattr and set the new name. (This works because link is always followed
by unlink.) On lookup, check either xattr.
Don't even bother to remove the alt xattr on unlink. This works as long
as the old name and new name don't hash to the same shortname and end up
in the same LFN chain. (Don't worry, we'll fix that next.)
Fixes part of #8701
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit b2cdfce6461b81f4926602a8c63b54aa92684e6c)
commit 5db6c12b61e00b0bc8084ead5976a912ece0fc65
Author: Sage Weil <sage@redhat.com>
Date: Fri Jul 18 15:46:58 2014 -0700
ceph_test_objectstore: fix warning
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit cf98805c09a38cce78ac08317899dc4152ae55a5)
commit e18777ed6eb492e8421d53090b3c9af6e75bd792
Author: Samuel Just <sam.just@inktank.com>
Date: Tue Jul 15 14:50:33 2014 -0700
store_test: add long name collection_move_rename tests
Currently fails.
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 6aa48a485e03ca100f3d9ebec77cc06f99756cd7)
Conflicts:
src/test/objectstore/store_test.cc
commit 4e03d5b512c8d2f7fa51dda95c6132e676529f9b
Author: Sage Weil <sage@redhat.com>
Date: Sun Aug 3 08:40:57 2014 -0700
Revert "enforce rados put aligment"
This reverts commit 7a58da53ebfcaaf385c21403b654d1d2f1508e1a.
This was alread backported in dece65064d949b5afcc359cd408615883b5e002a.
Fixes: #8996
Signed-off-by: Sage Weil <sage@redhat.com>
commit 6f1a54436c63a4cb63712936fccade3267d03db8
Author: Yehuda Sadeh <yehuda@redhat.com>
Date: Tue Jul 29 15:25:47 2014 -0700
rgw: fix crash in swift CORS preflight request
Fixes: #8586
This fixes error handling, in accordance with commit 6af5a537 that fixed
the same issue for the S3 case.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 18ea2a869791b4894f93fdafde140285f2e4fb65)
commit dfcd99567e925bd6565ef4676c560f6c8c89e683
Author: devicenull <dn@devicenull.org>
Date: Fri Jul 18 10:25:51 2014 -0400
rgw: fix decoding + characters in URL
Fixes: #8702
Backport: firefly
Only decode + characters to spaces if we're in a query argument. The +
query argument. The + => ' ' translation is not correct for
file/directory names.
Resolves http://tracker.ceph.com/issues/8702
Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
Signed-off-by: Brian Rak <dn@devicenull.org>
(cherry picked from commit 4a63396ba1611ed36cccc8c6d0f5e6e3e13d83ee)
commit f9716214a35e3cddd3006f3839f9688c41f0c7ca
Author: Yehuda Sadeh <yehuda@redhat.com>
Date: Fri Jul 25 20:33:52 2014 -0700
rgw: call processor->handle_data() again if needed
Fixes: #8937
Following the fix to #8928 we end up accumulating pending data that
needs to be written. Beforehand it was working fine because we were
feeding it with the exact amount of bytes we were writing.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 0553890e79b43414cc0ef97ceb694c1cb5f06bbb)
Conflicts:
src/rgw/rgw_rados.h
commit 4cd1b60c043089358ea8e70a51310005d5b68383
Author: Yehuda Sadeh <yehuda@redhat.com>
Date: Thu Jul 24 15:30:27 2014 -0700
rgw: object write should not exceed part size
Fixes: #8928
This can happen if the stripe size is not a multiple of the chunk size.
Backport: firefly
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 14cad5ece7d1de9d93e72acca6d4c3b4a9cfcfa2)
commit f68720a6a61364f72f4e0c62aabea65eabe33f98
Author: Yehuda Sadeh <yehuda@redhat.com>
Date: Tue Jul 22 15:30:11 2014 -0700
rgw: align object chunk size with pool alignment
Fixes: #8442
Backport: firefly
Data pools might have strict write alignment requirements. Use pool
alignment info when setting the max_chunk_size for the write.
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit fc83e197ab85355e385c13f2a64957cad7481298)
Conflicts:
src/rgw/rgw_rados.cc
commit 67d73451c893b58634f06ed141792da1bf0fa77c
Author: Yehuda Sadeh <yehuda@redhat.com>
Date: Wed Jul 30 11:53:16 2014 -0700
cls_rgw: fix object name of objects removed on object creation
Fixes: #8972
Backport: firefly, dumpling
Reported-by: Patrycja Szabłowska <szablowska.patrycja@gmail.com>
Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
(cherry picked from commit 0f8929a68aed9bc3e50cf15765143a9c55826cd2)
commit d90148da293b4a3e2a44d4486a6b48e27d35b79b
Merge: 223a0a9 d48a737
Author: Samuel Just <sam.just@inktank.com>
Date: Sat Aug 2 11:28:14 2014 -0700
Merge remote-tracking branch 'origin/wip-8438' into firefly-next
Backport of c5b8d8105d965da852c79add607b69d5ae79a4d4
commit 223a0a9e7ed76fbc114c2f058d3aff93556244e9
Merge: 84bd3cd d72eec0
Author: Samuel Just <sam.just@inktank.com>
Date: Sat Aug 2 11:22:47 2014 -0700
Merge remote-tracking branch 'origin/wip-7999' into firefly-next
Backport of 830940bf242a73403ec1882a489e31f7694b7f7e
commit 84bd3cd79961d1ddce12048f9ae980fc197e6be4
Author: Sage Weil <sage@redhat.com>
Date: Mon Jul 28 17:17:23 2014 -0700
unittest_crush_wrapper: fix build
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit f36cffc986c973014c89aa37ca73740b2fc194ca)
commit 4983aa32fe8c64c78957b921f5d31ab07be9f850
Merge: a2681c9 b6d8fea
Author: Sage Weil <sage@inktank.com>
Date: Fri Aug 1 19:26:44 2014 -0700
Merge pull request #2178 from dachary/wip-erasure-code-profile-default-firefly
erasure-code: create default profile if necessary (firefly)
commit d89a5a37f2515cc9af1322fd18357e445b94256f
Author: Sage Weil <sage@redhat.com>
Date: Wed Jul 30 12:26:44 2014 -0700
mon: s/%%/%/
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit d700076a42a5a5ebe769a8311fd3b52bf2e98cd2)
commit da0de4ee973d9a9c8ee6f9a5c12eb37c83b4d453
Author: Sage Weil <sage@redhat.com>
Date: Wed Jul 30 14:52:06 2014 -0700
atomic: fix read() on i386, clean up types
Among other things, fixes #8969
Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 96863128e6668257f435c6962263caae0d7d10dd)
commit 1e3b927731104629cae9682b55b8d540ef8af12f
Author: Sage Weil <sage@inktank.com>
Date: Thu Jun 5 10:43:16 2014 -0700
include/atomic: make 32-bit atomic64_t unsigned
This fixes
In file included from test/perf_counters.cc:19:0:
./common/perf_counters.h: In member function std::pair PerfCounters::perf_counter_data_any_d::read_avg() const:
warning: ./common/perf_counters.h:156:36: comparison between signed and unsigned integer expressions [-Wsign-compare]
} while (avgcount2.read() != count);
^
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 2081c992bbe3a83d711f465634d19c011d28ea3e)
commit 34ac3060d408604c7082c583641b90f330f12663
Author: Dmitry Smirnov <onlyjob@member.fsf.org>
Date: Wed May 21 07:56:43 2014 +1000
Define AO_REQUIRE_CAS (fixes FTBFS on 'hppa')
to fix FTBFS due to undeclared atomic functions.
As reported
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=748571
by John David Anglin <dave.anglin@bell.net>
~~~~
./include/atomic.h: In member function 'size_t ceph::atomic_t::inc()':
./include/atomic.h:42:36: error: 'AO_fetch_and_add1' was not declared in this scope
return AO_fetch_and_add1(&val) + 1;
^
./include/atomic.h: In member function 'size_t ceph::atomic_t::dec()':
./include/atomic.h:45:42: error: 'AO_fetch_and_sub1_write' was not declared in this scope
return AO_fetch_and_sub1_write(&val) - 1;
^
./include/atomic.h: In member function 'void ceph::atomic_t::add(size_t)':
./include/atomic.h:48:36: error: 'AO_fetch_and_add' was not declared in this scope
AO_fetch_and_add(&val, add_me);
^
./include/atomic.h: In member function 'void ceph::atomic_t::sub(int)':
./include/atomic.h:52:48: error: 'AO_fetch_and_add_write' was not declared in this scope
AO_fetch_and_add_write(&val, (AO_t)negsub);
^
./include/atomic.h: In member function 'size_t ceph::atomic_t::dec()':
./include/atomic.h:46:5: warning: control reaches end of non-void function [-Wreturn-type]
}
^
make[5]: *** [cls/user/cls_user_client.o] Error 1
~~~~
Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org>
(cherry picked from commit 74218f3d6ca8ca9943ff9d08b7926e38fb13b329)
commit a0c12b70d93604cde59fc21b4d42cae6bd0f4f26
Author: Yehuda Sadeh <yehuda@inktank.com>
Date: Mon Mar 31 14:49:50 2014 -0700
atomic_t: add atomic64_t
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
(cherry picked from commit bf3ba6001c7b4cf37edfe6551d3ef298ebcbf421)
commit 5a8c8c01cac7f8ef8b898a88cac96af973350a3d
Author: Sage Weil <sage@redhat.com>
Date: Wed Jul 30 13:40:33 2014 -0700
test/cli-integration/rbd: fix trailing space
Newer versions of json.tool remove the trailing ' ' after the comma. Add
it back in with sed so that the .t works on both old and new versions, and
so that we don't have to remove the trailing spaces from all of the test
cases.
Backport: firefly
Fixes: #8920
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 605064dc685aa25cc7d58ec18b6449a3ce476d01)
Conflicts:
src/test/cli-integration/rbd/defaults.t
commit 234b2d1933f7f403c094a3c65bf912fcee688181
Author: John Spray <jspray@redhat.com>
Date: Mon Jul 7 15:45:54 2014 +0100
tests: don't depend on 'data' pool in rbd test
Since we removed the default 'data' and 'metadata' pools,
tests which need a pool should create it themselves.
Signed-off-by: John Spray <john.spray@redhat.com>
(cherry picked from commit a7a631d1e284f151e305f770cef2042a1b9f86c0)
commit 751258db76d9f5288ff42e8e961a9ffea1d226de
Author: Xiaoxi Chen <xiaoxi.chen@intel.com>
Date: Mon Jul 28 16:54:48 2014 +0800
PGMonitor: fix bug in caculating pool avail space
Currently for pools with different rules, "ceph df" cannot report
right available space for them, respectively. For detail assisment
of the bug ,pls refer to bug report #8943
This patch fix this bug and make ceph df works correctlly.
Fixes Bug #8943
Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
(cherry picked from commit 04d0526718ccfc220b4fe0c9046ac58899d9dafc)
commit 7b1546cc5c361a1af7f724e3c3b7ca9436bad76f
Author: Sage Weil <sage@inktank.com>
Date: Wed May 28 13:59:47 2014 -0700
mon: set min_size to data chunk count for erasure pools
Make the min_size value meaningful for erasure pools.
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit e06c58c9b8f585d2fe7c97d010aa0aa61c09d609)
commit e859587911edddd3a5b7fd96ee2f6a7ed77478dc
Author: Sage Weil <sage@inktank.com>
Date: Sun May 11 13:36:03 2014 -0700
mon: include 'max avail' in df output
Include an estimate of the maximum writeable space for each pool. Note
that this value is a conservative estimate for that pool based on the
most-full OSD. It is also potentially misleading as it is the available
space if *all* new data were written to this pool; one cannot (generally)
add up the available space for all pools.
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 7a9652b58ea70f9a484a135bde20d872616c5947)
commit a5e0ebc36ccbdf36e733e5eab926e4446a48fbd8
Author: Sage Weil <sage@inktank.com>
Date: Sun May 11 13:31:14 2014 -0700
mon: right justify df values
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 2f63a309df4b7086725949bc0a532595cf927edf)
commit 3d578479420f4b0c153dffe96605bf413070ad45
Author: John Spray <john.spray@inktank.com>
Date: Thu May 8 11:04:46 2014 +0100
mon: Fix % escaping (\% should be %%)
Clang's -Wpedantic points this out.
Signed-off-by: John Spray <john.spray@inktank.com>
(cherry picked from commit f0231ef364d531eb60351598c4a0f5fa6efad23c)
Conflicts:
src/mon/DataHealthService.cc
commit 6164c3ef8d9ced38d878c191e4de3d84a8bda45e
Author: Sage Weil <sage@inktank.com>
Date: Wed May 28 13:49:52 2014 -0700
crush: add get_rule_weight_map
Calculate a weight map of OSDs for a given rule.
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 297f6169feecd20e121d102e1b63a505c8b3e74a)
commit 2f90bfdb854750990881f2f53492687a07b19546
Author: Guang Yang <yguang@yahoo-inc.com>
Date: Wed Jul 9 11:20:36 2014 +0000
Fix the PG listing issue which could miss objects for EC pool (where there is object shard and generation).
Backport: firefly
Signed-off-by: Guang Yang (yguang@yahoo-inc.com)
(cherry picked from commit 228760ce3a7109f50fc0f8e3c4a5697a423cb08f)
commit 61c90252c3a496e09962cfda2eb11e6bd112af8a
Author: Sage Weil <sage@redhat.com>
Date: Fri Jul 25 14:48:10 2014 -0700
osd/ReplicatedPG: requeue cache full waiters if no longer writeback
If the cache is full, we block some requests, and then we change the
cache_mode to something else (say, forward), the full waiters don't get
requeued until the cache becomes un-full. In the meantime, however, later
requests will get processed and redirected, breaking the op ordering.
Fix this by requeueing any full waiters if we see that the cache_mode is
not writeback.
Fixes: #8931
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 8fb761b660c268e2264d375a4db2f659a5c3a107)
commit f701688a360fd977b5e1f59518622ab6d2299a08
Author: Sage Weil <sage@redhat.com>
Date: Fri Jul 25 14:43:48 2014 -0700
osd/ReplicatedPG: fix cache full -> not full requeueing when !active
We only want to do this if is_active(). Otherwise, the normal
requeueing code will do its thing, taking care to get the queue orders
correct.
Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 36aaab9eee7ed41a46a4ac27376d630a29de5eb9)
commit a1ddce36ebf1ce479129def364328486fbcc5c86
Author: Dan Mick <dan.mick@inktank.com>
Date: Wed Jul 30 14:50:37 2014 -0700
qa/workunits/cephtool/test_daemon.sh: verify ceph -c works with daemon
Signed-off-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit aa9ae1f270293778aa937e7f7e4bcaee3099b9b2)
commit 50a1c08e46eaedd3d81a52f64923228bc8a81c26
Author: Dan Mick <dan.mick@inktank.com>
Date: Wed Jul 30 14:49:02 2014 -0700
qa/workunits/cephtool/test_daemon.sh: typo
Signed-off-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit 22d20f39b7355966554319d5a1aa888967607569)
commit 4cfb7dbc5c8fe1a28fb945fa12d9795943db1db5
Author: Dan Mick <dan.mick@inktank.com>
Date: Wed Jul 30 14:48:28 2014 -0700
qa/workunits/cephtool/test_daemon.sh: allow local ceph command
(cherry picked from commit 97a8d5a9fdbd3a25cc922c242ee57da58c57d0bc)
commit 120b5d5ad51fa47a2bb0a144821635f5f81b5a2e
Author: Dan Mick <dan.mick@inktank.com>
Date: Mon Jul 28 21:28:42 2014 -0700
ceph.in: Pass global args to ceph-conf for proper lookup
Fixes: #8944
Signed-off-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit 6d89a99648630f81b85ad115fe7662dba6b08a55)
commit e0c27cd7fde84944fd350f7df89e79d9a39ace98
Author: Sage Weil <sage@inktank.com>
Date: Wed Jul 16 17:55:36 2014 -0700
qa/workunits/cephtool/test.sh: test osd pool get erasure_code_profile
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit ce9f12d7a2202948532fed9da4d763ed03f6b8fa)
Conflicts:
qa/workunits/cephtool/test.sh
commit cf22759cdf1c0a6d258e5c0a2d32268ce051c742
Author: Ma Jianpeng <jianpeng.ma@intel.com>
Date: Wed Jul 16 17:48:34 2014 -0700
mon: OSDMonitor: add "osd pool get <pool> erasure_code_profile" command
Enable us to obtain the erasure-code-profile for a given erasure-pool.
Signed-off-by: Ma Jianpeng <jianpeng.ma@intel.com>
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit e8ebcb79a462de29bcbabe40ac855634753bb2be)
commit b94d2f142db63bdf395d8288f8dcef1558d30eaf
Author: Sage Weil <sage@redhat.com>
Date: Wed Jul 23 18:25:53 2014 -0700
osd/ReplicatedPG: observe INCOMPLETE_CLONES in is_present_clone()
We cannot assume that just because cache_mode is NONE that we will have
all clones present; check for the absense of the INCOMPLETE_CLONES flag
here too.
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 63abf11390bb9b8dd604aae2b3e90596f9ab65ac)
commit 22cc1b643f83edbfc0475f6da89cf4bd4c89aae1
Author: Sage Weil <sage@redhat.com>
Date: Wed Jul 23 18:24:51 2014 -0700
osd/ReplicatedPG: observed INCOMPLETE_CLONES when doing clone subsets
During recovery, we can clone subsets if we know that all clones will be
present. We skip this on caching pools because they may not be; do the
same when INCOMPLETE_CLONES is set.
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 41364711a66c89ce2e94435fe0d54eeda6092614)
commit c42232e3539fc4682e8fec3e064b21acbcc996ed
Author: Sage Weil <sage@redhat.com>
Date: Wed Jul 23 18:23:56 2014 -0700
osd/ReplicatedPG: do not complain about missing clones when INCOMPLETE_CLONES is set
When scrubbing, do not complain about missing cloens when we are in a
caching mode *or* when the INCOMPLETE_CLONES flag is set. Both are
indicators that we may be missing clones and that that is okay.
Fixes: #8882
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 956f28721dd98c5fb9eb410f4fe9e320b3f3eed3)
commit bde3a9f0f610e6af30066dd77949a1249cd658bf
Author: Sage Weil <sage@redhat.com>
Date: Wed Jul 23 18:21:38 2014 -0700
osd/osd_types: add pg_pool_t FLAG_COMPLETE_CLONES
Set a flag on the pg_pool_t when we change cache_mode NONE. This
is because object promotion may promote heads without all of the clones,
and when we switch the cache_mode back those objects may remain. Do
this on any cache_mode change (to or from NONE) to capture legacy
pools that were set up before this flag existed.
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 54bf055c5dadc55acf5731e08712d529b180ffc5)
commit f19aa8ef0a2cbad7af3135defc1fe3485d377409
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Fri Jul 11 00:40:47 2014 +0100
qa/workunits: cephtool: adjust pool name where missing as it has changed
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 50e93c2138978f7f7c2fbafacc1611c8705a8eab)
commit 163440a764a6fac8f2efbee6a8aee5cbc460dfe6
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Fri Jul 11 00:41:01 2014 +0100
qa/workunits: cephtool: cleanup after pool creation
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 6cd345732b15e84de17d743e06bc4d85569b79d4)
commit c71c99ff21063e26ebfef431f916463f5606aae2
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Tue Jul 8 19:22:49 2014 +0100
qa/workunits: cephtool: pool needs to be a tier to be used as such
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 704b0a33f2071eabeb8c5b000a6805ef6d498961)
commit ba0a9bf013e8d056a4126b6840621e5a3a8b37fc
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Tue Jul 8 19:22:01 2014 +0100
qa/workunits: cephtool: test erroneous 'tier remove'
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 49db6767152092d503ccf8ead6f7cb069e152a22)
commit ffec081a551817288303cf3fa00c016bbffe114a
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Thu Jul 3 15:32:46 2014 +0100
qa/workunits: cephtool: test get/set on both tier and non-tier pools
Make sure gets and sets of tiering-specific variables succeed on tier
pools and fail on non-tier pools.
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 9fea033f30aec44a3273c623ec6c93eb1d7dd26b)
commit 55166c3a098d8751ed6dafb3541e45a6439c5491
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Thu Jul 3 15:24:51 2014 +0100
qa/workunits: cephtool: split get/set on tier pools from get/set tests
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit df5944955d96c041e65964a13b802028e9700904)
commit 0425eb1dbd156d03a51e91c6f3079b8a687d62f3
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Fri Jun 27 22:20:51 2014 +0100
qa/workunits: cephtool: test for 'osd pool {get,set}-quota'
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit b927c0de7d5c7a78bf3c133be52cbc1d769974bb)
commit 68197bc28c8960db67c4246d50eb5146659593bd
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Mon Jun 30 17:51:47 2014 +0100
mon: OSDMonitor: 'osd pool' - if we can set it, we must be able to get it
Add support to get the values for the following variables:
- target_max_objects
- target_max_bytes
- cache_target_dirty_ratio
- cache_target_full_ratio
- cache_min_flush_age
- cache_min_evict_age
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit ddc04c83ff6842ca0b2f804b46099ea729b9fb6b)
commit 01498ce8c897f7e3b66c8054a8b144a505a33010
Author: Loic Dachary <loic@dachary.org>
Date: Tue Jul 1 08:42:58 2014 +0200
qa: support running under non privileged user
If the test is run against a cluster started with vstart.sh (which is
the case for make check), the --asok-does-not-need-root disables the use
of sudo and allows the test to run without requiring privileged user
permissions.
Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit 522174b066044e51a7019bd6cad81117e83c394e)
commit 99259dff5bad93dce928c1ec07a16b34e3dac3dc
Author: Sage Weil <sage@inktank.com>
Date: Mon Jun 30 16:38:10 2014 -0700
qa/workunits/cephtool/test.sh: sudo ceph daemon
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit bcc09f93761d46202742ca85cce498a352edd494)
commit 4f911d45632fd23c4124bf6b29287ece473d33b4
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Wed Jun 25 21:25:29 2014 +0100
qa/workunits: cephtool: fix 'osd bench' test
Commit 7dc93a9651f602d9c46311524fc6b54c2f1ac595 fixed an incorrect
behavior with the OSD's 'osd bench' value hard-caps. The test wasn't
appropriately modified unfortunately.
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 48e38ac6323f4a0e06b0dedd37ecd10dc339b1e3)
commit bad2f513c5bed4602005eaedff9384012103aaee
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Wed Jun 25 01:48:24 2014 +0100
qa/workunits: cephtool: only run heap profiler test if tcmalloc enabled
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 4b0809a13eb363a15e52a6a57372a0a31a64cef8)
commit 26f9860d19c38595bfced76fce864fe9ad9f3a27
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Tue Jun 24 23:16:17 2014 +0100
qa/workunits: cephtool: set +e for the tcmalloc tests
Avoids failing the tests when tcmalloc is not present
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 5c4616e100297ba8639919aca7a9cb59e4bda54a)
commit a0720b608db208ac766df8eea53bdbba31d79492
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Tue Jun 24 22:47:31 2014 +0100
qa/workunits: cephtool: delete unnecessary function calls
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 67255435151627314cc2fc38732d4fb5efddc3cc)
commit 373224729e9ab2a46afb43b1388d37ff951cc42e
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Tue Jun 24 22:46:44 2014 +0100
qa/workunits: cephtool: disable bash debug when not running tests
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 946bd0dad4b027326b03c13405782b99ef0f91b2)
commit 52d733c7202b393b3b7da48e3aa6db275946757a
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Tue Jun 24 22:39:34 2014 +0100
qa/workunits: cephtool: allow running individual tests
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 5d26575ef2d31d745ec4aa69ca1501cd76e5e8db)
commit 96e58d6d38969ba8b47b1924205eb34850a24ed6
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Tue Jun 24 20:55:27 2014 +0100
qa/workunits: cephtool: cleanup state after erasure-code-profile test
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit f4184086d0d647e064e34308f678ef889e13c373)
commit 4cd5d179375c06a25f04ef8150e2a53aabf7427e
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Wed Jun 25 01:17:58 2014 +0100
qa/workunits: cephtool: add/remove comments
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 780424df3a107c7da57fc28d64f9e7a4bb47f8e8)
commit 5bcf690b1dbf5a2e4388661f9d280b5934db1c9c
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Thu Jun 26 00:55:46 2014 +0100
qa/workunits: cephtool: split into properly indented functions
The test was a big sequence of commands being run and it has been growing
organically for a while, even though it has maintained a sense of
locality with regard to the portions being tested.
This patch intends to split the commands into functions, allowing for a
better semantic context and easier expansion. On the other hand, this
will also allow us to implement mechanisms to run specific portions of
the test instead of always having to run the whole thing just to test a
couple of lines down at the bottom (or have to creatively edit the test).
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 3d14a96f4b2b7094d05ead1dec7547d165857e31)
Conflicts:
qa/workunits/cephtool/test.sh
commit 2af751807d1b51348302734c46d506db294303fd
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Wed Jun 25 01:12:55 2014 +0100
qa/workunits: cephtool: move test line to where it's more appropriate
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 04658b7b2b5f98ae81ffb3f77303745e6d46eb81)
commit 5bf9e3c7b59d7ce5996d4d05312b4a92f34bbcb6
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Wed Jun 25 01:11:52 2014 +0100
qa/workunits: cephtool: split into functions
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit db6cc133ba4bb38b3c11eb835fd3983dc2f6b00e)
Conflicts:
qa/workunits/cephtool/test.sh
commit c898c9736950437256b8c261106f2827fc160e01
Author: Loic Dachary <loic@dachary.org>
Date: Fri Jun 20 09:38:39 2014 +0200
mon: test that pools used in tiers cannot be removed
Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit 39a4b78177cb9896ff35ab05bcf8774bfc934f3a)
commit 5b72674238db80e62cf3d5cec1d94be5c0102388
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Fri May 23 17:02:23 2014 +0100
qa/workunits/cephtool: test setting options using SI units
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 38405d3554dfb0caf2b0a2c010b95a61bdb99349)
Conflicts:
qa/workunits/cephtool/test.sh
commit aacf67d13f81fcc88881091d175fee9ecb0f8954
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Wed Jul 2 20:19:19 2014 +0100
mon: OSDMonitor: be scary about inconsistent pool tier ids
We may not crash your cluster, but you'll know that this is not something
that should have happened. Big letters makes it obvious. We'd make them
red too if we bothered to look for the ANSI code.
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 8e5a8daf98052954f3880d2d3516841b5062466b)
commit af59cbf5854bd0fabeb0ef394d7d5b1207bbd6d3
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Wed Jul 2 19:47:52 2014 +0100
osd: pg_pool_t: clear tunables on clear_tier()
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 64bdf6c92bc44adad5a49b9dc4f674789cee80b0)
commit 8f788e14d22c913479630bce9f9c502ac900328c
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Wed Jul 2 19:46:48 2014 +0100
mon: OSDMonitor: limit tier-specific pool set/get on non-tier pools
Fixes: 8696
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit f131dfbaedf6f451572e7aa3a83f653912122953)
commit 4b768a8fe9146e6ec033d4f6780e0ef373fcfd7a
Author: Sage Weil <sage@redhat.com>
Date: Thu Jul 24 10:06:31 2014 -0700
mon/OSDMonitor: improve no-op cache_mode set check
If we have a pending pool value but the cache_mode hasn't changed, this is
still a no-op (and we don't need to block).
Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 67d13d76f5692fa20649ea877f254c34094c11f6)
commit c3f403293c7f8d946f66a871aa015a558120ce78
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Sat May 3 03:42:19 2014 +0100
mon: OSDMonitor: disallow nonsensical cache-mode transitions
Fixes: 8155
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit fd970bbc95d89bf66c9551feca17ac0afbf4d1e2)
commit d9aacd96acfe24b15c4e3b2441838945de1ab720
Author: Joao Eduardo Luis <joao.luis@inktank.com>
Date: Tue Apr 29 18:03:56 2014 +0100
mon: OSDMonitor: return immediately if 'osd tier cache-mode' is a no-op
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit d01aa5bff30441eec1ffaa3e59a21187f8478475)
commit 981add9cad5f2db06a4932be228eb0ff30254a9b
Author: Sage Weil <sage@redhat.com>
Date: Tue Jul 22 18:01:14 2014 -0700
osd/ReplicatedPG: debug obc locks
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 356af4bf46d6387e2f1a59646548f9a77e49e5f8)
commit e32e2559c8ff408fff81cce0f15d6601dcd4a2f7
Author: Sage Weil <sage@redhat.com>
Date: Tue Jul 22 13:16:11 2014 -0700
osd/ReplicatedPG: greedily take write_lock for copyfrom finish, snapdir
In the cases where we are taking a write lock and are careful
enough that we know we should succeed (i.e, we assert(got)),
use the get_write_greedy() variant that skips the checks for
waiters (be they ops or backfill) that are normally necessary
to avoid starvation. We don't care about staration here
because our op is already in-progress and can't easily be
aborted, and new ops won't start because they do make those
checks.
Fixes: #8889
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 6fe27823b8459271bf0c0e807493bb7cf1e4559b)
commit 68651e9137df2b1034a5b470bbb2fc1d19d8debb
Author: Sage Weil <sage@redhat.com>
Date: Tue Jul 22 13:11:42 2014 -0700
osd: allow greedy get_write() for ObjectContext locks
There are several lockers that need to take a write lock
because there is an operation that is already in progress and
know it is safe to do so. In particular, they need to skip
the starvation checks (op waiters, backfill waiting).
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 09626501d7a0ff964027fd7a534465b76bad23cb)
commit a2681c93fb30b912f653b596e27eb8b1bc5c6b78
Author: Sage Weil <sage@inktank.com>
Date: Wed Jul 2 10:38:43 2014 -0700
qa/workunits/rest/test.py: make osd create test idempotent
Avoid possibility that we create multiple OSDs do to retries by passing in
the optional uuid arg. (A stray osd id will make the osd tell tests a
few lines down fail.)
Fixes: #8728
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit bb3e1c92b6682ed39968dc5085b69c117f43cbb0)
commit 7a58da53ebfcaaf385c21403b654d1d2f1508e1a
Author: Lluis Pamies-Juarez <lluis@pamies.cat>
Date: Wed Jun 18 10:00:09 2014 -0700
enforce rados put aligment
Signed-off-by: Lluis Pamies-Juarez <lluis.pamies-juarez@hgst.com>
(cherry picked from commit 304b08a23a3db57010078046955a786fe3589ef8)
(cherry picked from commit dece65064d949b5afcc359cd408615883b5e002a)
commit 7ae15549a795ffd9ffcd34ea1d5c101b90eee26d
Author: Sage Weil <sage@redhat.com>
Date: Thu Jul 31 15:39:40 2014 -0700
use llrintl when converting double to micro
This avoids rounding error (noticeable on i386).
Backport: firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 80911736bd61b6b88eac0974d24f21c15c5385a4)
Conflicts:
src/mon/OSDMonitor.cc
commit f5fc24368756c794d186a0990241e0dc0adfc03c
Author: Sage Weil <sage@redhat.com>
Date: Thu Jul 24 18:22:22 2014 -0700
msg/SimpleMessenger: drop local_conneciton priv link on shutdwon
This breaks ref cycles between the local_connection and session, and let's
us drop the explicit set_priv() calls in OSD::shutdown().
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 63c1711a9e237c14d137131f56751970ad1567b1)
commit b6d8feab85fda97bf3a68980249a71846778a157
Author: Loic Dachary <loic@dachary.org>
Date: Thu Jun 19 00:49:13 2014 +0200
erasure-code: create default profile if necessary
After an upgrade to firefly, the existing Ceph clusters do not have the
default erasure code profile. Although it may be created with
ceph osd erasure-code-profile set default
it was not included in the release notes and is confusing for the
administrator.
The *osd pool create* and *osd crush rule create-erasure* commands are
modified to implicitly create the default erasure code profile if it is
not found.
In order to avoid code duplication, the default erasure code profile
code creation that happens when a new firefly ceph cluster is created is
encapsulated in the OSDMap::get_erasure_code_profile_default method.
Conversely, handling the pending change in OSDMonitor is not
encapsulated in a function but duplicated instead. If it was a function
the caller would need a switch to distinguish between the case when goto
wait is needed, or goto reply or proceed because nothing needs to be
done. It is unclear if having a function would lead to smaller or more
maintainable code.
http://tracker.ceph.com/issues/8601 Fixes: #8601
Backport: firefly
Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit 4e1405e7720eda71a872c991045ac8ead6f3e7d8)
commit 2fff5f031b2cc00b55bd1ada4f83e4838fe59ddd
Author: Loic Dachary <loic@dachary.org>
Date: Mon Jan 13 17:54:08 2014 +0100
common: s/stringstream/ostream/ in str_map
There is no need to specialize more than ostream : it only makes it
impossible to use cerr or cout as a parameter to str_map.
Reviewed-By: Christophe Courtaut <christophe.courtaut@gmail.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit 6aa45b133956b974a992b372496b90c908d94f12)
commit d48a737a6f8daa463ddf82106455b2efe7715a33
Author: Samuel Just <sam.just@inktank.com>
Date: Mon Jun 2 13:44:49 2014 -0700
osd/: in scrub, check for and remove obsolete rollback objs
Signed-off-by: Samuel Just <sam.just@inktank.com>
commit 953c33edb640f6eb0c3f3a0d07c061c0d324242b
Author: Samuel Just <sam.just@inktank.com>
Date: Fri May 30 16:53:37 2014 -0700
osd/: plumb rollback_trim_to through interfaces and messages
We simply trim the roll back info up to min_last_complete_ondisk
since we cannot correctly rollback past that point anyway!
ReplicatedPG
-> PGBackend::submit_transaction
-> Backend messages
-> PGBackend::Listener::log_operation
-> append_log
Signed-off-by: Samuel Just <sam.just@inktank.com>
commit ac11ca40b4f4525cbe9b1778b1c5d9472ecb9efa
Author: Samuel Just <sam.just@inktank.com>
Date: Fri May 30 16:27:32 2014 -0700
PGLog: add rollback_info_trimmed_to_riter to IndexedLog and use in PG
Signed-off-by: Samuel Just <sam.just@inktank.com>
commit 2207ed12fa544afc48d6d28f199381ccf0367292
Author: Samuel Just <sam.just@inktank.com>
Date: Fri May 30 15:40:15 2014 -0700
PGLog: fix logging whitespace in trim
Signed-off-by: Samuel Just <sam.just@inktank.com>
commit d72eec0341e02881229d0e4ffeafcae92eb33fb6
Author: Samuel Just <sam.just@inktank.com>
Date: Fri Jun 27 10:51:13 2014 -0700
PG: block outgoing peering messages until the last interval is durable
Signed-off-by: Samuel Just <sam.just@inktank.com>
commit f9f89be38333d3817a0eafc52a961365e21e1f3a
Author: Samuel Just <sam.just@inktank.com>
Date: Wed May 21 13:09:33 2014 -0700
PG: add machinery to temporarily buffer outgoing recovery messages
Signed-off-by: Samuel Just <sam.just@inktank.com>
commit f7498124325fe2269c33e45fae4c8181c8f7be14
Author: Samuel Just <sam.just@inktank.com>
Date: Mon Jun 9 11:00:32 2014 -0700
os/: add async flush_commit() method to Sequencer and implementations
Signed-off-by: Samuel Just <sam.just@inktank.com>
commit 669b60571d6db9a9f74020e6a43b12b82edee41e
Author: Samuel Just <sam.just@inktank.com>
Date: Fri May 30 15:18:53 2014 -0700
PGLog: initialize complete_to
Signed-off-by: Samuel Just <sam.just@inktank.com>
commit 8679cdbeea6350fd860a9419f54578a90482895c
Author: Samuel Just <sam.just@inktank.com>
Date: Thu May 29 12:10:31 2014 -0700
osd_types: add pg_log_t::rollback_info_trimmed_to
Signed-off-by: Samuel Just <sam.just@inktank.com>
commit 3bbe29eb5cca7cc42266a6c5561ce68feb4072de
Author: Samuel Just <sam.just@inktank.com>
Date: Tue May 20 16:05:01 2014 -0700
common/Finisher: add queue(list<Context*>&)
Signed-off-by: Samuel Just <sam.just@inktank.com>