Commit Graph

69464 Commits

Author SHA1 Message Date
Dan Mick
edeedf0256 qa/suites/upgrade/kraken-x: do not thrash cluster full during upgrade
Same thing as 39fdc53fe5

Fixes: http://tracker.ceph.com/issues/19232
Signed-off-by: Dan Mick <dan.mick@redhat.com>
2017-03-08 14:40:36 -08:00
Yehuda Sadeh
bfa322cdc0 Merge pull request #13880 from cbodley/wip-qa-submodule
build: remove ceph-qa-suite directory

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2017-03-08 12:57:31 -08:00
Sage Weil
92bacb6823 Merge pull request #13217 from liewegas/wip-bluestore-prefer-wal-size
os/bluestore: add bluestore_prefer_wal_size option

Reviewed-by: Igor Fedotov <ifedotov@mirantis.com>
2017-03-08 13:38:54 -06:00
Casey Bodley
c43edf68e9 build: remove ceph-qa-suite directory
after commit 3afb889 "qa: add supported distros for ceph-ansible", git
submodule update commands are failing with:

No submodule mapping found in .gitmodules for path 'ceph-qa-suite'

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2017-03-08 12:30:08 -05:00
Sage Weil
fb5b59fc39 Merge pull request #13785 from liewegas/wip-cleanup-features
msg: no need to pass supported features to Messenger::Policy ctor

Reviewed-by: Haomai Wang <haomai@xsky.com>
2017-03-08 11:14:08 -06:00
Casey Bodley
5967b9bf4c Merge pull request #13078 from zhangsw/fix-rgw-setacl-bug
rgw: put object's acl can't work well on the latest object

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-03-08 11:55:44 -05:00
Josh Durgin
12c4981087 Merge pull request #13852 from liewegas/wip-19133
qa/suites: fix upgrade tests vs cluster full thrashing

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2017-03-08 07:47:49 -08:00
Sage Weil
deab3e783c Merge pull request #13711 from tmuthamizhan/wip-add-supported-distros
qa: add supported distros for ceph-ansible

Reviewed-by: Yuri Weinstein <yweinstei@redhat.com>
2017-03-08 09:35:50 -06:00
Sage Weil
ae7d5fd179 Merge pull request #13776 from Liuchang0812/wip-add-override-in-tool-headers
tools: add override in tool submodule

Reviewed-by: Sage Weil <sage@redhat.com>
2017-03-08 09:08:16 -06:00
Jason Dillaman
a581c6ac00 Merge pull request #13791 from runsisi/wip-rbd-ack-cleanup
librbd: rbd ack cleanup

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-03-08 10:07:29 -05:00
Sage Weil
576f7eecd1 Merge pull request #13775 from Liuchang0812/wip-add-override-librados-headers
librados: add override in headers

Reviewed-by: Sage Weil <sage@redhat.com>
2017-03-08 09:06:46 -06:00
Sage Weil
736c77c11e Merge pull request #13774 from Liuchang0812/wip-add-override-in-common-headers
common: add override in header file

Reviewed-by: Sage Weil <sage@redhat.com>
2017-03-08 09:06:16 -06:00
Sage Weil
0750cd4995 Merge pull request #13773 from Liuchang0812/wip-add-override-in-test-headers
test: add override in test submodule

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-03-08 09:03:20 -06:00
Sage Weil
5eeb721451 Merge pull request #13771 from Liuchang0812/wip-add-override-in-msg-headers
common: add override in msg subsystem

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-03-08 09:02:33 -06:00
Jason Dillaman
8349287ae0 Merge pull request #13782 from vshankar/wip-19034
rbd: use concurrent writes for imports

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-03-08 08:42:33 -05:00
Jason Dillaman
5c267392d0 Merge pull request #13752 from trociny/wip-19130
librbd: relax "is parent mirrored" check when enabling mirroring for pool

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
2017-03-08 08:41:44 -05:00
Loic Dachary
759032288c Merge pull request #13444 from dachary/wip-18943-device-class
crush: add devices class that rules can use as a filter

Reviewed-by: Sage Weil <sage@redhat.com>
2017-03-08 13:16:49 +01:00
Abhishek L
56feb90951 Merge pull request #13835 from theanalyst/doc/releases/10.2.6
doc: Jewel 10.2.6 release notes

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Loic Dachary <ldachary@redhat.com>
2017-03-08 13:14:25 +01:00
John Spray
e915e0f501 Merge pull request #13453 from xiaoxichen/drop_mallinfo
common/MemoryModel: Bump int to long and drop mallinfo

Reviewed-by: John Spray <john.spray@redhat.com>
2017-03-08 11:56:01 +00:00
John Spray
0c5b915d01 Merge pull request #13580 from ukernel/wip-18914
client: wait for lastest osdmap when handling set file/dir layout

Reviewed-by: John Spray <john.spray@redhat.com>
2017-03-08 11:48:53 +00:00
John Spray
2a06ea37cd Merge pull request #13691 from Liuchang0812/wip-add-override-in-mds-headers
mds: add override in headers

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2017-03-08 11:35:25 +00:00
John Spray
82a0f3e0ef Merge pull request #12786 from jcsp/wip-11950
#11950: Persistent purge queue

Reviewed-by: Yan, Zheng <zyan@redhat.com>
2017-03-08 11:18:39 +00:00
John Spray
1777333aec mds: handle Journaler::recover errors in PurgeQueue
Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:27:03 +00:00
John Spray
41f8ded3e7 qa: update TestDamage for PurgeQueue
Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:27:03 +00:00
John Spray
1a1951002d qa: update TestFlush for changed stray perf counters
Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:27:03 +00:00
John Spray
5df00222fe mds: flush PQ even when not consuming
In normal operation we generate flushes from
_consume when we read from the journaler.  However,
we should also have a fallback flush mechanism for
situations where can_consume() is false fo a long time.

This comes up in testing when we set throttle to zero to
prevent progress, but would also come up in real life if
we were busy purging a few very large files, or if purging
was stuck due to bad PGs in the data pool -- we don't want
that to stop us completing appends to the PQ.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:27:02 +00:00
John Spray
6cf9c2956c qa: add TestStrays.test_purge_queue_op_rate
For ensuring that the PurgeQueue code is not generating
too many extra IOs.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:27:02 +00:00
John Spray
207846f89f mds: write_head when reading in PurgeQueue
Previously write_head calls were only generated
on the write side, so if you had a big queue
and were just working through consuming it, you
wouldn't record your progress, and on a daemon
restart would end up repeating a load of work.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:27:02 +00:00
John Spray
92bf85efd4 osdc: expose Journaler::write_head_needed
So that callers on the read side can optionally
do their own write_head calls according to
the same condition that Journaler uses
internally for its write_head during _flush() condition.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:27:01 +00:00
John Spray
0933f61d82 mds: remove unnecessary flush() from PurgeQueue
We can drive all flushing from the read side.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:27:01 +00:00
John Spray
335bdc126d mds: update for removing Timer from Journaler
Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:27:01 +00:00
John Spray
8d4f6b92cb osdc: less aggressive prefetch in read/write Journaler
Previously, if doing a write/is_readable/write/is_readable sequence,
you'd end up doing a flush after every write, even though there
was already a flush in flight that would advance the readable-ness
of the journal.

Because this flush-during-read path is only active when using
a read/write journal such as in PurgeQueue, tweak the behaviour
to suit this case.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:27:00 +00:00
John Spray
199e5b465a osdc: remove Journaler "journaler_batch_*" settings
This was an unused code path.  If anyone set a nonzero
value here the MDS would crash because the Timer implementation
has changed since this code was written, and now requires
add_event_after callers to hold the right lock.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:27:00 +00:00
John Spray
6d59f15e12 mds: add error handling in PurgeQueue
For decode errors, and for Journaler errors.
Both are considered damage to the MDS rank, as
with other per-rank data structures.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:27:00 +00:00
John Spray
0952ce9910 mds: expose progress during PurgeQueue drain
We don't track an item count, but we do have
a number of bytes left in the Journaler, so
can use that to give an indication of progress
while the MDS rank shutdown is waiting for
the PurgeQueue to do its thing.

Also lift the ops limit on the PurgeQueue
when it goes into the drain phase.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:26:59 +00:00
John Spray
4427aed62b mds: update PurgeQueue for single-ack OSD change
Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:26:59 +00:00
John Spray
3e66de2182 mds: create purge queue if it's not found
Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:26:59 +00:00
John Spray
f826c7e8aa qa/cephfs: add TestStrays.test_purge_on_shutdown
...and change test_migration_on_shutdown to
specifically target non-purgeable strays (i.e.
hardlink-ish things).

Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:26:55 +00:00
John Spray
0c9a69a8d8 mds: wait for purgequeue on rank shutdown
Also, move shutdown_pass call from dispatch
to tick, so that it doesn't rely on incoming
messages to make progress.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:20:59 +00:00
John Spray
3970502c9b qa: update test_strays for purgequeue
Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:20:59 +00:00
John Spray
f2fb1874ca mds: implement PurgeQueue throttling
Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:20:59 +00:00
John Spray
d96d0b0aa0 mds: add stats to PurgeQueue
Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:20:58 +00:00
John Spray
ed4c7cbea8 mds: move dir purge and truncate into purgequeue
Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:20:58 +00:00
John Spray
8a1b3e1b2d mds: move throttling code out of StrayManager
This will belong in PurgeQueue from now on.  We assume
that there is no need to throttle the rate of insertions
into purge queue as it is an efficient sequentially-written
journal.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:20:58 +00:00
John Spray
7189b53b41 mds: move PurgeQueue up to MDSRank
To better reflect its lifecycle: it has a part to play
in create/open and has an init/shutdown, unlike StrayManager.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:20:57 +00:00
John Spray
8ebf7d95a9 mds: use a persistent queue for purging deleted files
To avoid creating stray directories of unbounded size
and all the associated pain, use a more appropriate
datastructure to store a FIFO of inodes that need
purging.

Fixes: http://tracker.ceph.com/issues/11950
Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:20:57 +00:00
John Spray
1b36be9850 osdc/Journaler: wrap recover() completion in finisher
Otherwise, the callback will deadlock if it in turn
calls into any Journaler functions.  Don't care
about performance because we do this once at startup.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:20:56 +00:00
John Spray
459c745a70 mds: const snaprealm getters on CInode
Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:20:56 +00:00
John Spray
6cc01307d3 mds: const methods on SnapRealm
Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:20:56 +00:00
John Spray
50f4783459 osdc/Filer: const fix for passed layouts
...so that const references can be passed into
purge calls.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-08 10:20:55 +00:00