Commit Graph

71303 Commits

Author SHA1 Message Date
Sage Weil
c6676a7425 Merge pull request #14418 from songbaisen/m20
mon: fix synchronise pgmap with others 

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-04-18 12:43:28 -05:00
Sage Weil
8ded80fb96 Merge pull request #14436 from dachary/wip-19513-ceph-disk-device-class
ceph-disk,osd: add support for crush device classes

Reviewed-by: Sage Weil <sage@redhat.com>
2017-04-18 12:43:04 -05:00
Zack Cerza
28d746bff3 Merge pull request #14464 from ceph/wip-systemd
qa/tasks: use sudo to check ceph health for systemd test
2017-04-18 11:34:27 -06:00
Mykola Golub
6b937e384e Merge pull request #14615 from dillaman/wip-19636
librbd: corrected resize RPC message backwards compatibility

Reviewed-by: Ricardo Dias <rdias@suse.com>
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
2017-04-18 20:28:01 +03:00
Yuri Weinstein
b0ea1f17fc Merge pull request #14381 from joscollin/wip-cleanup-osdmap-rangefor
osd: Cleanup-Updated OSDMap.cc with C++11 style range-for loops

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
2017-04-18 10:08:41 -07:00
Yuri Weinstein
82c0ea7c99 Merge pull request #14431 from liewegas/wip-mgrclient-leak
mgr/MgrClient: fix reconnect event leak

Reviewed-by: John Spray <john.spray@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-04-18 10:04:50 -07:00
Yuri Weinstein
721929d60c Merge pull request #14507 from tchaikov/wip-19590
mgr: always free allocated MgrPyModule

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: John Spray <john.spray@redhat.com>
2017-04-18 10:01:47 -07:00
Sage Weil
ce188e8fdf osd: pg-remap -> pg-upmap
'remap' is to non-specific a name.  In particular, it
sounds like it is related to the 'remapped' PG state
but in reality it is not related.

'upmap' or 'pg-upmap' is more specific: it maps a pgid
to the 'up' set value (or item)

Signed-off-by: Sage Weil <sage@redhat.com>
2017-04-18 12:59:40 -04:00
Casey Bodley
da7acc4211 Merge pull request #13597 from cbodley/wip-s3tests-crypto
qa/rgw: add configuration for server-side encryption tests

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
2017-04-18 12:28:37 -04:00
Casey Bodley
6a1e10fdff Merge pull request #13483 from ceph/wip-rgw-encryption-doc
doc: rgw server-side encryption and barbican

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
2017-04-18 12:27:27 -04:00
Casey Bodley
95b3a8a6c3 Merge pull request #11049 from aclamk/wip-rgw-s3-crypto-sse-kms-plugin
rgw: s3 server-side encryption (SSE-C, SSE-KMS)

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
2017-04-18 12:25:09 -04:00
Kefu Chai
1b54b5f3f1 Merge pull request #14415 from smithfarm/wip-19556
tests: Thrasher: handle "OSD has the store locked" gracefully

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-04-18 23:18:35 +08:00
Kefu Chai
c1ba579a7c Merge pull request #14456 from tchaikov/wip-rocksdb-freebsd-build
rocksdb: sync with upstream

Reviewed-by: Nathan Cutler <ncutler@suse.com>
2017-04-18 23:17:03 +08:00
Matt Benjamin
e9aec52028 Merge pull request #14609 from linuxbox2/wip-rgw-file-wattrs
rgw_file:  pre-compute unix attrs in write_finish()
2017-04-18 11:04:45 -04:00
David Zafman
964ee3aebf Merge pull request #14488 from dzafman/wip-15789
Give requested scrub work a higher priority

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-04-18 07:54:46 -07:00
Jason Dillaman
9db305a99f librbd: corrected resize RPC message backwards compatibility
Commit d1f2c557 incorrectly changed the order of variables within
the payload. This resulted in breaking the resize RPC message
with older versions of Ceph.

Fixes: http://tracker.ceph.com/issues/19636
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-04-18 10:05:53 -04:00
Sage Weil
93db36f462 Merge pull request #14600 from tchaikov/wip-19390
debian: package ceph.logroate properly

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2017-04-18 08:37:07 -05:00
Matt Benjamin
ed91d23cca rgw_file: pre-compute unix attrs in write_finish()
New serialized Unix attrs need to reflect the change being made,
and should be reverted if the change fails.

Fixes: http://tracker.ceph.com/issues/19653

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2017-04-18 09:19:13 -04:00
John Spray
033ee6bd1f Merge pull request #14396 from jcsp/wip-19550
qa: re-enable ENOSPC tests for kclient
2017-04-18 12:59:14 +01:00
John Spray
d98e19fdbd Merge pull request #14589 from jcsp/wip-19640
client: refine fsync/close writeback error handling

Reviewed-by: Jeff Layton <jlayton@redhat.com>
2017-04-18 12:58:37 +01:00
John Spray
a2a100dc13 Merge pull request #14272 from jcsp/wip-vstart-fixup
qa: fix test_standby_for_invalid_fscid with vstart_runner

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2017-04-18 12:50:20 +01:00
John Spray
a765f249f1 Merge pull request #14196 from jcsp/wip-cephfs-relnotes
PendingReleaseNotes: recent cephfs changes
2017-04-18 12:50:04 +01:00
John Spray
612fe8422b Merge pull request #14105 from jcsp/wip-pretty-tell
mds: pretty json from `tell` commands

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2017-04-18 12:49:39 +01:00
John Spray
a762ad4d7f Merge pull request #14104 from jcsp/wip-18509
mds: include advisory `path` field in damage

Reviewed-by: Yan, Zheng <zyan@redhat.com>
2017-04-18 12:48:52 +01:00
John Spray
c4f8f61816 Merge pull request #14164 from jcsp/wip-16842-mitigation
Mitigation for #16842, validate sessions after load

Reviewed-by: Yan, Zheng <zyan@redhat.com>
2017-04-18 12:48:20 +01:00
John Spray
1a69bec52f client: refine fsync/close writeback error handling
Previously, errors stuck indelibly to the inode, which
meant that a close call would see an error even if the
user already dutifully fsync()'d and handled it.

We should emit each error only once per file handle.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-04-18 07:47:10 -04:00
Willem Jan Withagen
9ff401e65b /workunits/cephtool/test.sh: Be more liberal in testing health-output.
Sometimes I get output like:
   HEALTH_ERR 2 pgs stuck unclean; Full ratio(s) out of order

Which goes away over time. So it is a transit issue

Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
2017-04-18 13:43:54 +02:00
Haomai Wang
5737edfa46 Merge pull request #14585 from optimistyzy/414
bluestore/NVMEDEVICE: update SPDK to version 17.03

Reviewed-by: Haomai Wang <haomai@xsky.com>
2017-04-18 19:23:30 +08:00
Nathan Cutler
b48b6f4ed8 doc: mention --show-mappings in crushtool manpage
Fixes: http://tracker.ceph.com/issues/19649
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2017-04-18 12:21:39 +02:00
Orit Wasserman
cb94e5ad3f Merge pull request #12535 from ceph/wip-rgw-multisite-teuthology
rgw: multisite enabled over multiple clusters
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-04-18 11:47:48 +03:00
Willem Jan Withagen
a74989dd96 src/init-ceph.in: allow one((re)?start|stop) as commands
- One FreeBSD these are the service command to start a service
   even if the service is not activated in /etc/rc.conf
   Which will allow ceph-disk and ceph-deploy to start even without
   setting /etc/rc.conf

Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
2017-04-18 10:32:18 +02:00
Kefu Chai
b973be63fe Merge pull request #14555 from yaozongyou/fix-readme-notconsistent
README.md: fix build instructions inconsistent.

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-04-18 15:59:23 +08:00
Loic Dachary
1b02fef697 crush: implement CrushWrapper::dump(choose_args)
Signed-off-by: Loic Dachary <loic@dachary.org>
2017-04-18 09:45:13 +02:00
Loic Dachary
fa52dfaff2 crush: disable modification API when choose_args is not empty
Adding, removing or move items / buckets via the CrushWrapper API when
choose_args is not empty is unlikely to produce the desired outcome. The
caller should instead add, remove or move items / buckets in a
decompiled crushmap, update the associated choose_arg and upload the new
crushmap.

Signed-off-by: Loic Dachary <loic@dachary.org>
2017-04-18 09:45:07 +02:00
Loic Dachary
dbe36e08be crush: compile/decompile crush_choose_arg_map
A map of crush_choose_arg_map is added to the crushmap text syntax. The
key is an integer matching a pool number.

Signed-off-by: Loic Dachary <loic@dachary.org>
2017-04-18 09:45:03 +02:00
Kefu Chai
17ca501fe8 debian: package ceph.logroate properly
see also "man dh_installlogrotate"

Fixes: http://tracker.ceph.com/issues/19390
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-04-18 15:41:15 +08:00
Loic Dachary
55fb91d640 crush: add per pool choose_args when calling do_rule
If there is no crush_choose_arg_map for a given pool (the default) a
NULL pointer is given instead and crush_do_rule behavior remains
unchanged.

Signed-off-by: Loic Dachary <loic@dachary.org>
2017-04-18 09:39:43 +02:00
Loic Dachary
19537a450f crush: implement weight and id overrides for straw2
bucket_straw2_choose needs to use weights that may be different from
weight_items. For instance to compensate for an uneven distribution
caused by a low number of values. Or to fix the probability biais
introduced by conditional probabilities (see
http://tracker.ceph.com/issues/15653 for more information).

We introduce a weight_set for each straw2 bucket to set the desired
weight for a given item at a given position. The weight of a given item
when picking the first replica (first position) may be different from
the weight the second replica (second position). For instance the weight
matrix for a given bucket containing items 3, 7 and 13 could be as
follows:

          position 0   position 1

item 3     0x10000      0x100000
item 7     0x40000       0x10000
item 13    0x40000       0x10000

When crush_do_rule picks the first of two replicas (position 0), item 7,
3 are four times more likely to be choosen by bucket_straw2_choose than
item 13. When choosing the second replica (position 1), item 3 is ten
times more likely to be choosen than item 7, 13.

By default the weight_set of each bucket exactly matches the content of
item_weights for each position to ensure backward compatibility.

bucket_straw2_choose compares items by using their id. The same ids are
also used to index buckets and they must be unique. For each item in a
bucket an array of ids can be provided for placement purposes and they
are used instead of the ids. If no replacement ids are provided, the
legacy behavior is preserved.

Signed-off-by: Loic Dachary <loic@dachary.org>
2017-04-18 09:39:42 +02:00
Loic Dachary
18245ecd78 crush: cleanup test memory leaks
Signed-off-by: Loic Dachary <loic@dachary.org>
2017-04-18 09:39:38 +02:00
Loic Dachary
57d4c8d6fe crush: do not use TREE in tests
It is bugous and unsupported.

Signed-off-by: Loic Dachary <loic@dachary.org>
2017-04-18 09:38:54 +02:00
Yunchuan Wen
87ff240bed osd: use append(bufferlist &) to avoid unnecessary copy
buffer::list::c_str() will rebuild itself if it isn't
contiguous, and append(char *) will do copy from the ptr.

Signed-off-by: Yunchuan Wen <yunchuan.wen@kylin-cloud.com>
2017-04-18 06:28:34 +00:00
Jason Dillaman
fcb42c7076 librados: expose new checksum osd operation
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-04-17 22:54:27 -04:00
Jason Dillaman
2f4b8c0cf9 osd: new op for retrieving an extent checksum
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-04-17 22:54:21 -04:00
Yan, Zheng
2b396cab22 client: make seeky readdir more efficiency
Current cephfs client uses string to indicate start position of
readdir. The string is last entry of previous readdir reply.
This approach does not work for seeky readdir because we can
not easily convert the new postion to a string. For seeky readdir,
mds needs to return dentries from the beginning. Client keeps
retrying if the reply does not contain the dentry it wants.

In current version of ceph, mds sorts CDentry in its cache in
hash order. Client also uses dentry hash to compose dir postion.
For seeky readdir, if client passes the hash part of dir postion
to mds. mds can avoid replying useless dentries.

Fixes: http://tracker.ceph.com/issues/19306
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2017-04-18 10:30:08 +08:00
Yan, Zheng
48f3c91004 mds: drop partial entry and adjust write_pos when opening PurgeQueue
At tail journal, there can be partial written entry. Before appending
new entries to the journal, we need to drop any partial written entry
and adjust write_pos. For mds log, partial written entry is detected
and dropped when replaying the journal.

For PurgeQueue journal, we don't replay the whole journal when MDS
starts. Before appending new entry to the journal, we need to drop
any partial written entry and adjust write_pos.

Previous patch makes the journal header write_pos align to boundary
of fully flushed entry. We can start finding partial written entry
from the journal header write_pos. It should be fast even when the
purge queue is very large.

Fixes: http://tracker.ceph.com/issues/19450
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2017-04-18 10:20:09 +08:00
Yan, Zheng
8ae2962b79 osdc/Journaler: make header write_pos align to boundary of flushed entry
This can speed up the process that detects and drops partial written
entry in the log tail.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2017-04-18 10:20:09 +08:00
optimistyzy
bc7c6b3fc0 bluestore/NVMEDEVICE: update SPDK to version 17.03
Do some minor changes:

1 Restrict the total DPDK memory used by an osd instance.
change the name from bluestore_spdk_socket_mem to
bluestore_spdk_mem.

2 use spdk_env_init instead of rte_eal_init. The reason is that
SPDK lib invokes rte_eal_init which reduces the initilization
paramter conversion and check, also spdk 17.03 invokes
spdk_vtophys_register_dpdk_mem() (which is an internal function)
in spdk_env_init, and this func must be called.

Signed-off-by: optimistyzy <optimistyzy@gmail.com>
2017-04-18 09:44:47 +08:00
Jason Dillaman
7e3b4ca803 common/Checksummer: allow the initial/seed value to be supplied
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2017-04-17 19:10:47 -04:00
David Zafman
ebab8b1f4f osd: Give requested scrub work a higher priority
Once started we now queue scrub work at higher priority than
scheduled scrubs.

Fixes: http://tracker.ceph.com/issues/15789

Signed-off-by: David Zafman <dzafman@redhat.com>
2017-04-17 14:58:02 -07:00
Sage Weil
48074a96ec Merge pull request #14591 from tchaikov/wip-readme-headings
README.md: use github heading syntax to mark the headings

Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
2017-04-17 16:43:43 -05:00