Commit Graph

74846 Commits

Author SHA1 Message Date
Josh Durgin
a7960ad4e9 Merge pull request #16093 from tchaikov/wip-20432
osd: clear_queued_recovery() in on_shutdown()

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2017-07-04 00:06:38 -07:00
Kefu Chai
a5471e7710 Merge pull request #15823 from jdurgin/wip-omap-tp-heartbeat
osd/ReplicatedBackend: reset thread heartbeat after every omap entry …

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-04 14:46:18 +08:00
Kefu Chai
6590014749 osd: clear_queued_recovery() in on_shutdown()
otherwise when we are kicking the PG waiting in OSD's awaiting_throttle
queue, the queue is still holding a strong reference of it. then we will
have warnings like "pgid 0.7 has ref count of 2" when shutting down OSD,
because pgmap is also holding a reference of it.

we could clear the "awaiting_throttle" directly in OSD::shutdown(), but
clear_queued_recovery() is more consistent this way, because it is PG
which registered itself to the queue in OSD, it'd be better if PG can
remove itself from the OSD when it is shutting down itself.

Fixes: http://tracker.ceph.com/issues/20432
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-07-04 13:47:29 +08:00
Xie Xingguo
ce19fa331c Merge pull request #16081 from tsg-/tsg-affiliation
mailmap, organizationmap: add affiliation for Tushar Gohad

Reviewed-by: Jos Collin <jcollin@redhat.com>
2017-07-04 08:42:28 +08:00
Sage Weil
fc76fb7510 os/filestore: require experimental flag for btrfs
This isn't strictly accurate since we're really deprecating, but the
message is appropriately scary and reflects the risk of data loss.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-07-03 12:16:53 -04:00
Patrick Donnelly
6eda735b06
Merge remote-tracking branch 'upstream/pull/16080/head' into HEAD
* upstream/pull/16080/head:
  doc/mon: clean up `mds fail`/`mds deactivate` descriptions

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2017-07-03 09:11:25 -07:00
Jiaying Ren
3af3f4e84c doc: fix rgw placment rule pool config option
actually we're checking '--data-pool' and '--data-extra-pool'
during the argument parsing.

Signed-off-by: Jiaying Ren <jiaying.ren@umcloud.com>
2017-07-03 23:39:10 +08:00
Sage Weil
080af6dd6f Merge pull request #15833 from Linbing/wip-osd-delete-MPing
osd: osd does not using MPing Messages,do not include unused include

Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-07-03 09:03:38 -05:00
John Spray
301d53a3c7 doc/mon: clean up mds fail/mds deactivate descriptions
Fixes: http://tracker.ceph.com/issues/20424
Signed-off-by: John Spray <john.spray@redhat.com>
2017-07-03 14:47:29 +01:00
Sage Weil
14f17b9c8c Merge pull request #16072 from tchaikov/wip-20453
debian: workaround the bug in dpkg-maintscript-helper

Reviewed-by: Sage Weil <sage@redhat.com>
2017-07-03 08:37:25 -05:00
Sage Weil
a96ebf344f Merge pull request #15835 from SUSE/wip-flatten-systemd-target-hierarchy-master
systemd: Add explicit Before=ceph.target

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
2017-07-03 08:34:04 -05:00
Jos Collin
32297cc062 Merge pull request #16067 from YangFanlinux/affi
.mailmap, .organizationmap: Update Fan Yang information and affiliation

Reviewed By: Jos Collin <jcollin@redhat.com>
2017-07-03 10:35:52 +00:00
Kefu Chai
fe2f11390d Merge pull request #16055 from dmick/master
ceph.in: allow developer mode from outside build tree

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-07-03 18:01:22 +08:00
Kefu Chai
c90f0605b6 debian: workaround the bug in dpkg-maintscript-helper
see https://bugs.launchpad.net/ubuntu/+source/snap-confine/+bug/1605052
and https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=582819

Fixes: http://tracker.ceph.com/issues/20453
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-07-03 16:51:24 +08:00
Fan Yang
fecd7dc114 mailmap: Fan Yang information and affiliation
Signed-off-by: Fan Yang <yangf@neunn.com>
2017-07-03 15:09:03 +08:00
Tushar Gohad
d8ebe7247e mailmap: add affiliation for Tushar Gohad
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2017-07-02 23:19:16 -07:00
Peng Xie
da605aa35e osd/PrimaryLogPG solve cache tier osd high memory consumption
during cache tier dirty data flushing, cache tier osd memroy consumption
will get increasing due to the accumulative pg log which will not be trimmed

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

Signed-off-by: Peng Xie <peng.hse@xtaotech.com>
2017-07-03 10:38:30 +08:00
Willem Jan Withagen
b331898ea9 CMakeLists.txt: Rewrite 2 remaning options to WITH_
All options to en/disable inclusion of libraries or other software
are of the format WITH_ so that the Cmake commaind like ahs all
WITH_* options. The WITH_=ON option will result in a HAVE_ setting
in CMAKE so that tests can use that variable.

Last "abusers" to actually follow this format.

 - HAVE_BABELTRACE

 - HAVE_ZFSLIB is fixed in #15907

Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
2017-07-02 17:10:01 +02:00
Willem Jan Withagen
ffab4eb721 ceph_disk/main.py: Allow FreeBSD zap a OSD disk
- refactor zap() into a Linux and FreeBSD version

Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
2017-07-01 19:23:56 +02:00
Sage Weil
98e00ab70b Merge pull request #16056 from xiexingguo/wip-kill-log-warn
common: fix log warnings

Reviewed-by: Sage Weil <sage@redhat.com>
2017-07-01 10:00:37 -05:00
Sage Weil
7d7f5856bc os/bluestore: fix deferred_aio deadlock
We submit aios while holding deferred_lock, and we take deferred_lock in
the aio completion handler (of which there is only 1).  That means that
if the aio queue fills up, the submitter will block with the lock while
the finisher won't be able to take the lock, progress, and drain completed
aios, leading to a deadlock.

Fix this by submiting aios *without* deferred_lock held.  Instead, demote
to a deferred_submit_lock.  Further, in the finisher, submit aios
via a finisher (this only happens when in deferred_aggressive mode which
is rare and not performance-sensitive).

Signed-off-by: Sage Weil <sage@redhat.com>
2017-07-01 10:56:58 -04:00
Sage Weil
90851832a3 Merge pull request #15986 from liewegas/wip-20435
mon/MgrStatMonitor: avoid dup health warnings during luminous upgrade

Reviewed-by: Gregory Farnum <gfarnum@redhat.com>
2017-07-01 09:11:57 -05:00
Sage Weil
e4fc5cc157 Merge pull request #14178 from songbaisen/m10
mon: show the leader info on mon stat command

Reviewed-by: Joao Eduardo Luis <joao@suse.de>
2017-07-01 09:11:31 -05:00
Sage Weil
70a990797f Merge pull request #15585 from dachary/wip-20229-ceph-disk-timeout
ceph-disk: set the default systemd unit timeout to 3h

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2017-07-01 09:10:59 -05:00
Sage Weil
715968d379 Merge pull request #15984 from idryomov/wip-chooseargs-encoding-fix
crush/CrushWrapper: chooseargs encoding fix

Reviewed-by: Sage Weil <sage@redhat.com>
2017-07-01 09:10:30 -05:00
Sage Weil
41677d2a07 Merge pull request #16023 from liewegas/wip-19994
systemd/ceph-mgr: remove automagic mgr creation hack

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: John Spray <john.spray@redhat.com>
2017-07-01 09:09:52 -05:00
Mykola Golub
866cf72440 Merge pull request #15956 from dillaman/wip-librbd-devstack
test: fix failing rbd devstack teuthology test

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
2017-07-01 15:02:29 +03:00
Mykola Golub
19fbe87791 Merge pull request #15923 from dillaman/wip-qa-rbd-memcheck-python
qa/suites/rbd: restrict python memcheck validation to CentOS

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
2017-07-01 11:24:05 +03:00
xie xingguo
01d7fbe102 common: fix log warnings
/home/jenkins-build/build/workspace/ceph-pull-requests/src/common/LogEntry.cc:54:24: warning: suggest parentheses around comparison in operand of ‘|’ [-Wparentheses]
   } else if (level_str == "warn" | level_str == "warning") {
                        ^
/home/jenkins-build/build/workspace/ceph-pull-requests/src/common/LogEntry.cc:56:24: warning: suggest parentheses around comparison in operand of ‘|’ [-Wparentheses]
   } else if (level_str == "error" | level_str == "err") {

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-07-01 15:24:22 +08:00
Dan Mick
de15ee1a2b ceph.in: allow developer mode from outside build tree
Use path of script to look for 'am I in a build tree' rather than
getcwd(), so that 'build tree' versions can be run from anywhere

Fixes: http://tracker.ceph.com/issues/20472
Signed-off-by: Dan Mick <dan.mick@redhat.com>
2017-06-30 21:36:45 -07:00
Sage Weil
ef2564b9a9 Merge pull request #15911 from xiexingguo/wip-bluestore-20170626
os/bluestore: narrow cache lock range; make sure min_alloc_size p2 aligned

Reviewed-by: Igor Fedotov <ifedotov@mirantis.com>
2017-06-30 21:18:11 -05:00
Sage Weil
c9c697225f Merge pull request #16044 from liewegas/wip-i-cant-believe-its-not-btrfs
qa: stop testing btrfs

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2017-06-30 21:17:49 -05:00
Sage Weil
aa986f58ef Merge pull request #16046 from liewegas/wip-valgrind-on-centos
do all valgrind runs on centos

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2017-06-30 21:17:21 -05:00
Sage Weil
0346998b5a doc: recommend against btrfs
Signed-off-by: Sage Weil <sage@redhat.com>
2017-06-30 13:54:18 -04:00
Yan Jun
4d53fd31bc mon/mgr: add detail error infomation
Signed-off-by: Yan Jun <yan.jun8@zte.com.cn>
2017-06-30 23:25:09 +08:00
Sage Weil
58f95820e6 Merge pull request #15963 from Songweibin/wip-release-notes
doc/release-notes: add Images creation timestamp note

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-06-30 09:38:05 -05:00
Sage Weil
d04f5a1d74 Merge pull request #15924 from jcsp/wip-log-last-filters
mon: Filter `log last` output by severity and channel

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2017-06-30 09:11:56 -05:00
Sage Weil
6ee7f82ca0 Merge pull request #15946 from Yan-waller/wip-waller-dumpwatcher0627
osd: dump the field name of object watchers  and cleanups

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
2017-06-30 09:10:39 -05:00
Sage Weil
1025d7a5aa Merge pull request #15959 from smithfarm/wip-rgw-singleton-cleanup
tests: rgw/singleton: drop duplicate filestore-xfs.yaml

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-06-30 09:09:53 -05:00
Sage Weil
e82ea13554 Merge pull request #15961 from majianpeng/filestore-remove-redundant-judgement
os/filestore/FileStore.cc: remove a redundant judgement when get max latency

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Pan Liu <liupan1111@gmail.com>
2017-06-30 09:09:38 -05:00
Sage Weil
ab42986459 Merge pull request #15999 from Yan-waller/wip-waller-0629message
msg/MOSDOpReply: fix missing trace decode

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
2017-06-30 09:09:03 -05:00
Jos Collin
eb39bef0d8 Merge pull request #16037 from gmayyyha/monmapmonitor-use-func
mon/MonmapMonitor: use __func__ instead of hard code function name

Reviewed By: Joao Eduardo Luis <jecluis@gmail.com>
2017-06-30 13:33:29 +00:00
Sage Weil
c7893283cd do all valgrind runs on centos
We are fighting two issues with valgrind on ubuntu (xenial, yakkety,
and z):

	http://tracker.ceph.com/issues/18126
	http://tracker.ceph.com/issues/20360

Revert this when it is fixed.

Signed-off-by: Sage Weil <sage@redhat.com>
2017-06-30 09:33:18 -04:00
Sage Weil
5a2d78ad85 qa: stop testing btrfs
This is too noisy and we don't recommend it anyway.

See http://tracker.ceph.com/issues/20169

Signed-off-by: Sage Weil <sage@redhat.com>
2017-06-30 09:28:03 -04:00
Ilya Dryomov
891798d6e1 PendingReleaseNotes: add a note on choose_args encoding
It's unlikely that it's been used yet, but worth a note.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2017-06-30 14:39:57 +02:00
Ilya Dryomov
dbdf66b8e5 crush/CrushWrapper: crush_choose_arg::ids should be __s32
crush_choose_arg::ids array is encoded on the wire.  int is not fixed
size -- use __s32 instead (crush_bucket::id is __s32).

This was introduced in commit dbe36e08be ("crush: compile/decompile
crush_choose_arg_map") under SERVER_LUMINOUS bit.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2017-06-30 14:37:13 +02:00
Ilya Dryomov
cc90a0ef81 crush/CrushWrapper: encode choose_args.size() as __u32
choose_args.size() returns size_t, which is not fixed size.  Given that
choose_args code just open-codes our std::map encoder, do what we do for
std::map.

This was introduced in commit dbe36e08be ("crush: compile/decompile
crush_choose_arg_map") under SERVER_LUMINOUS bit.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2017-06-30 14:37:13 +02:00
Yanhu Cao
a70232e830 mon/MonmapMonitor: use __func__ instead of hard code function name
Signed-off-by: Yanhu Cao <gmayyyha@gmail.com>
2017-06-30 16:44:01 +08:00
Tim Serong
357dfa5954 systemd: Add explicit Before=ceph.target
The PartOf= and WantedBy= directives in the various systemd
unit files and targets create the following logical hierarchy:

- ceph.target
  - ceph-fuse.target
    - ceph-fuse@.service
  - ceph-mds.target
    - ceph-mds@.service
  - ceph-mgr.target
    - ceph-mgr@.service
  - ceph-mon.target
    - ceph-mon@.service
  - ceph-osd.target
    - ceph-osd@.service
  - ceph-radosgw.target
    - ceph-radosgw@.service
  - ceph-rbd-mirror.target
    - ceph-rbd-mirror@.service

Additionally, the ceph-{fuse,mds,mon,osd,radosgw,rbd-mirror}
targets have WantedBy=multi-user.target.  This gives the
following behaviour:

- `systemctl {start,stop,restart}` of any target will restart
  all dependent services (e.g.: `systemctl restart ceph.target`
  will restart all services; `systemctl restart ceph-mon.target`
  will restart all the mons, and so forth).
- `systemctl {enable,disable}` for the second level targets
  (ceph-mon.target etc.) will cause depenent services to come
  up on boot, or not (of course the individual services can
  be enabled or disabled as well - for a service to start
  on boot, both the service and its target must be enabled;
  disabling either will cause the service to be disabled).
- `systemctl {enable,disable} ceph.target` has no effect on
  whether or not services come up at boot; if the second level
  targets and services are enabled, they'll start regardless of
  whether ceph.target is enabled.  This is due to the second
  level targets all having WantedBy=multi-user.target.
- The OSDs will always start regardless of ceph-osd.target
  (unless they are explicitly masked), thanks to udev magic.

So far, so good.  Except, several users have encountered
services not starting with the following error:

  Failed to start ceph-osd@5.service: Transaction order is
  cyclic. See system logs for details.

I've not been able to reproduce this myself in such a way as to
cause OSDs to fail to start, but I *have* managed to get systemd
into that same confused state, as follows:

- Disable ceph.target, ceph-mon.target, ceph-osd.target,
  ceph-mon@$(hostname).service and all ceph-osd instances.
- Re-enable all of the above.

At this point, everything is fine, but if I then subseqently
disable ceph.target, *then* try `systemctl restart ceph.target`,
I get "Failed to restart ceph.target: Transaction order is cyclic.
See system logs for details."

Explicitly adding Before=ceph.target to each second level target
prevents systemd from becoming confused in this situation.

Signed-off-by: Tim Serong <tserong@suse.com>
2017-06-30 17:28:29 +10:00
Haodong Tang
2fc54306ee os/bluestore/KernelDevice: make the amount of reaped aio tunable
Signed-off-by: Haodong Tang <haodong.tang@intel.com>
2017-06-30 14:27:34 +08:00