]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
7 years agointerval_set: optimize intersect_of for identical spans 17514/head
Zac Medico [Sun, 27 Aug 2017 12:25:01 +0000 (05:25 -0700)]
interval_set: optimize intersect_of for identical spans

Optimize comparisons for identical spans of intervals.
When this patch is combined with the previous map insert
optimization, a benchmark using 400000 identical
intervals shows a 7 times performance improvement in
comparison to without the patches.

Signed-off-by: Zac Medico <zmedico@gmail.com>
(cherry picked from commit b6a035666c2765f8895ee9991348dbc025613ed7)

7 years agointerval_set: optimize intersect_of insert operations
Zac Medico [Fri, 25 Aug 2017 16:41:07 +0000 (09:41 -0700)]
interval_set: optimize intersect_of insert operations

Use the std::map insert method with hint iterator to optimize
inserts. This increases performance more than 3.5 times for
large numbers of intervals. This will help performance
especially in the PGPool::update method, where profiling data
has shown that intersection operations are a hot spot. The
following benchmark data is for 400000 intervals:

    4 +-+--+----+----+----+----+----+----+----+----+--+-+
P     +    +    +    +    +    +    +    +  *************
E     |                             ********            |
R 3.5 +-+                       ****                  +-+
F     |                   ******                        |
O     |                 **                              |
R   3 +-+           ****                              +-+
M     |          ***                                    |
A     |        **                                       |
N 2.5 +-+     *                                       +-+
C     |     **                                          |
E     |     *                                           |
    2 +-+ **                                          +-+
R     |  **                                             |
A     | **                                              |
T 1.5 +**                                             +-+
I     |**                                               |
O     +*   +    +    +    +    +    +    +    +    +    +
    1 +*+--+----+----+----+----+----+----+----+----+--+-+
      0   0.1  0.2  0.3  0.4  0.5  0.6  0.7  0.8  0.9

                        SET SIZE RATIO

The above chart was generated using benchmark results
from the following program:

#include <iostream>
#include <sys/timeb.h>
#include "include/interval_set.h"

int main(int argc, char *argv[])
{
  const int interval_count = std::stoi(argv[1]);
  const int interval_distance = 4;
  const int interval_size = 2;
  const int sample_count = 8;
  const int max_offset = interval_count * interval_distance;
  interval_set<int> a, b, intersection;

  for (int i = 0; i < max_offset; i+=interval_distance) {
    a.insert(i, interval_size);
  }

  for (int m = 1; m < 100; m++) {
    float ratio = 1 / float(m);

    for (int i = 0; i < max_offset; i+=interval_distance*m) {
      b.insert(i, interval_size);
    }

    struct timeb start, end;
    int ms = 0;
    for (int i = 0; i < sample_count; i++) {
      ftime(&start);
      intersection.intersection_of(a, b);
      ftime(&end);
      ms += (int) (1000.0 * (end.time - start.time)
        + (end.millitm - start.millitm));
      intersection.clear();
    }
    b.clear();

    std::cout << ratio << "\t" << ms << std::endl << std::flush;
  }
}

Signed-off-by: Zac Medico <zmedico@gmail.com>
(cherry picked from commit 32bc0430f70b057d1bba623252e92ab9f279028d)

7 years agoMerge pull request #17210 from dzafman/wip-20730-jewel
Josh Durgin [Tue, 5 Sep 2017 18:13:53 +0000 (11:13 -0700)]
Merge pull request #17210 from dzafman/wip-20730-jewel

jewel: core: disable skewed utilization warning by default

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoMerge pull request #16405 from dzafman/wip-20041-jewel
Josh Durgin [Tue, 5 Sep 2017 18:12:23 +0000 (11:12 -0700)]
Merge pull request #16405 from dzafman/wip-20041-jewel

jewel: osd: scrub_to specifies clone ver, but transaction include head write ver

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoMerge pull request #16169 from Vicente-Cheng/wip-20511-jewel
Josh Durgin [Tue, 5 Sep 2017 18:11:21 +0000 (11:11 -0700)]
Merge pull request #16169 from Vicente-Cheng/wip-20511-jewel

jewel: osd: ReplicatedPG: solve cache tier osd high memory consumption

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoMerge pull request #16167 from Vicente-Cheng/wip-20492-jewel
Josh Durgin [Tue, 5 Sep 2017 17:55:32 +0000 (10:55 -0700)]
Merge pull request #16167 from Vicente-Cheng/wip-20492-jewel

jewel: osd: omap threadpool heartbeat is only reset every 100 values

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoMerge pull request #16151 from Vicente-Cheng/wip-20349-jewel
Nathan Cutler [Mon, 4 Sep 2017 19:10:57 +0000 (21:10 +0200)]
Merge pull request #16151 from Vicente-Cheng/wip-20349-jewel

jewel: cephfs: df reports negative disk "used" value when quota exceed

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge pull request #16150 from Vicente-Cheng/wip-20403-jewel
Nathan Cutler [Mon, 4 Sep 2017 19:09:55 +0000 (21:09 +0200)]
Merge pull request #16150 from Vicente-Cheng/wip-20403-jewel

jewel: mds: save  projected path into inode_t::stray_prior_path

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge pull request #16141 from smithfarm/wip-20270-jewel
Nathan Cutler [Mon, 4 Sep 2017 10:54:34 +0000 (12:54 +0200)]
Merge pull request #16141 from smithfarm/wip-20270-jewel

jewel: tests: LibRadosMiscConnectFailure.ConnectFailure hang

Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #16285 from smithfarm/wip-18137-jewel
Nathan Cutler [Sat, 2 Sep 2017 15:16:57 +0000 (17:16 +0200)]
Merge pull request #16285 from smithfarm/wip-18137-jewel

jewel: rbd-mirror: image sync should send NOCACHE advise flag

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
7 years agoMerge pull request #16295 from smithfarm/wip-20265-jewel
Nathan Cutler [Sat, 2 Sep 2017 15:16:08 +0000 (17:16 +0200)]
Merge pull request #16295 from smithfarm/wip-20265-jewel

jewel: rbd: cli: ensure positional arguments exist before casting

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agoMerge pull request #16276 from smithfarm/wip-19563-jewel
Nathan Cutler [Sat, 2 Sep 2017 11:12:17 +0000 (13:12 +0200)]
Merge pull request #16276 from smithfarm/wip-19563-jewel

jewel: rgw: folders starting with _ underscore are not in bucket index

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
7 years agoMerge pull request #16268 from cbodley/wip-16072-jewel
Nathan Cutler [Sat, 2 Sep 2017 11:09:46 +0000 (13:09 +0200)]
Merge pull request #16268 from cbodley/wip-16072-jewel

jewel: rgw: rgw_common.cc: modify the end check in RGWHTTPArgs::sys_get

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agoMerge pull request #16266 from cbodley/wip-20408
Nathan Cutler [Sat, 2 Sep 2017 11:08:21 +0000 (13:08 +0200)]
Merge pull request #16266 from cbodley/wip-20408

jewel: rgw: multipart copy-part remove '/' for s3 java sdk request header

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agoMerge pull request #15988 from cbodley/wip-jewel-15983
Nathan Cutler [Sat, 2 Sep 2017 10:50:50 +0000 (12:50 +0200)]
Merge pull request #15988 from cbodley/wip-jewel-15983

jewel: rgw: fix infinite loop in rest api for log list

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
7 years agoMerge pull request #15449 from smithfarm/wip-19720-jewel
Nathan Cutler [Sat, 2 Sep 2017 10:48:00 +0000 (12:48 +0200)]
Merge pull request #15449 from smithfarm/wip-19720-jewel

jewel: rgw: rgw_file: fix size and (c|m)time unix attrs in write_finish

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agoMerge pull request #17351 from liewegas/wip-prune-past-intervals-jewel
Sage Weil [Fri, 1 Sep 2017 19:27:31 +0000 (14:27 -0500)]
Merge pull request #17351 from liewegas/wip-prune-past-intervals-jewel

osd: add osd_hack_prune_past_intervals

Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #16059 from vumrao/wip-vumrao-20353
Nathan Cutler [Thu, 31 Aug 2017 08:24:21 +0000 (10:24 +0200)]
Merge pull request #16059 from vumrao/wip-vumrao-20353

jewel: osd: Add heartbeat message for Jumbo Frames (MTU 9000)

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoMerge pull request #15726 from asheplyakov/20314-bp-jewel
Nathan Cutler [Thu, 31 Aug 2017 08:23:00 +0000 (10:23 +0200)]
Merge pull request #15726 from asheplyakov/20314-bp-jewel

jewel: mon: fail to form large quorum; msg/async busy loop

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Haomai Wang <haomai@xsky.com>
7 years agoosd: add osd_hack_prune_past_intervals 17351/head
Sage Weil [Thu, 24 Nov 2016 23:08:49 +0000 (18:08 -0500)]
osd: add osd_hack_prune_past_intervals

Last ditch (but dangerous) method of reducing memory usage for
past_intervals, which can help very very unhappy clusters recovery.
A properly implemented version of this is in luminous.  This hacky
version was used successfully to recover multiple jewel-based clusters,
but is still only recommended for use when the OSD is otherwise unable
to recover.

This change is not cherry-picked from master because luminous implements
a more sophisticated version of this that changes the past intervals
representation entirely, but it is too invasive to backport.  This
workaround to prune just on startup should be sufficient for emergencies.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #15719 from Vicente-Cheng/wip-20146-jewel
Nathan Cutler [Tue, 29 Aug 2017 16:51:27 +0000 (18:51 +0200)]
Merge pull request #15719 from Vicente-Cheng/wip-20146-jewel

jewel: rgw: 'gc list --include-all' command infinite loop the first 1000 items

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #15477 from smithfarm/wip-19767-jewel
Nathan Cutler [Tue, 29 Aug 2017 16:50:21 +0000 (18:50 +0200)]
Merge pull request #15477 from smithfarm/wip-19767-jewel

jewel: rgw: Delete non-empty bucket in slave zonegroup

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #16015 from asheplyakov/19208-bp-jewel
Nathan Cutler [Tue, 29 Aug 2017 11:32:21 +0000 (13:32 +0200)]
Merge pull request #16015 from asheplyakov/19208-bp-jewel

jewel: osd: osd_internal_types: wake snaptrimmer on put_read lock, too

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoMerge pull request #15762 from smithfarm/wip-17385-jewel
Nathan Cutler [Tue, 29 Aug 2017 11:31:05 +0000 (13:31 +0200)]
Merge pull request #15762 from smithfarm/wip-17385-jewel

jewel: ceph cli: Rados object in state configuring race

Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #15474 from smithfarm/wip-19559-jewel
Nathan Cutler [Tue, 29 Aug 2017 11:28:29 +0000 (13:28 +0200)]
Merge pull request #15474 from smithfarm/wip-19559-jewel

jewel: osd: objecter full_try behavior not consistent with osd

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoMerge pull request #15947 from asheplyakov/20428-bp-jewel
Nathan Cutler [Tue, 29 Aug 2017 07:15:37 +0000 (09:15 +0200)]
Merge pull request #15947 from asheplyakov/20428-bp-jewel

jewel: osd: unlock sdata_op_ordering_lock with sdata_lock hold to avoid missing wakeup signal

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Liu-Chunmei <chunmei.liu@intel.com>
Reviewed-by: Xie Xingguo <xie.xingguo@zte.com.cn>
7 years agoMerge pull request #15475 from tchaikov/wip-16239-jewel
Nathan Cutler [Tue, 29 Aug 2017 07:04:24 +0000 (09:04 +0200)]
Merge pull request #15475 from tchaikov/wip-16239-jewel

qa: add a sleep after restarting osd before "tell"ing it

Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agoMerge pull request #15473 from smithfarm/wip-20080-jewel
Nathan Cutler [Tue, 29 Aug 2017 06:56:01 +0000 (08:56 +0200)]
Merge pull request #15473 from smithfarm/wip-20080-jewel

jewel: build/ops: rpm: set subman cron attributes in spec file

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Thomas Serlin <tserlin@redhat.com>
7 years agoMerge pull request #15460 from smithfarm/wip-17843-jewel
Nathan Cutler [Mon, 28 Aug 2017 20:34:52 +0000 (22:34 +0200)]
Merge pull request #15460 from smithfarm/wip-17843-jewel

jewel: rbd: object-map: batch updates during trim operation

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
7 years agoMerge pull request #15488 from dillaman/wip-20023-jewel
Nathan Cutler [Mon, 28 Aug 2017 20:33:13 +0000 (22:33 +0200)]
Merge pull request #15488 from dillaman/wip-20023-jewel

jewel: rbd: rbd-mirror: ensure missing images are re-synced when detected

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
7 years agoMerge pull request #15602 from tchaikov/wip-20175-jewel
Nathan Cutler [Mon, 28 Aug 2017 20:32:04 +0000 (22:32 +0200)]
Merge pull request #15602 from tchaikov/wip-20175-jewel

jewel: tests: decouple ceph_test_librbd_api from libceph-common

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agoMerge pull request #16124 from smithfarm/wip-19174-jewel
Nathan Cutler [Mon, 28 Aug 2017 20:31:09 +0000 (22:31 +0200)]
Merge pull request #16124 from smithfarm/wip-19174-jewel

jewel: rbd: rbd_clone_copy_on_read ineffective with exclusive-lock

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agoMerge pull request #15760 from smithfarm/wip-20325-jewel
Nathan Cutler [Mon, 28 Aug 2017 09:03:32 +0000 (11:03 +0200)]
Merge pull request #15760 from smithfarm/wip-20325-jewel

libradosstriper silently fails to delete empty objects in jewel

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoMerge pull request #16061 from weiqiaomiao/wqm-wip-ceph-disk-jewel
Nathan Cutler [Mon, 28 Aug 2017 08:50:27 +0000 (10:50 +0200)]
Merge pull request #16061 from weiqiaomiao/wqm-wip-ceph-disk-jewel

jewel: ceph-disk: remove the special check to bcache devices

Reviewed-by: Loic Dachary <ldachary@redhat.com>
Reviewed-by: Zhu Shangzhong <zhu.shangzhong@zte.com.cn>
7 years agoMerge pull request #15503 from Vicente-Cheng/wip-20011-jewel
Nathan Cutler [Mon, 28 Aug 2017 08:47:59 +0000 (10:47 +0200)]
Merge pull request #15503 from Vicente-Cheng/wip-20011-jewel

jewel: tools: ceph-disk: separate ceph-osd --check-needs-* logs

Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agorgw_file: pre-compute unix attrs in write_finish() 15449/head
Matt Benjamin [Tue, 18 Apr 2017 13:19:13 +0000 (09:19 -0400)]
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>
(cherry picked from commit ed91d23ccaaac4e72a4c28a58e77485395949f04)

Conflicts:
    src/rgw/rgw_file.cc (processor->complete() takes different arguments in
        jewel than in master)

7 years agoMerge pull request #14874 from ceph/wip-19805-jewel
Nathan Cutler [Sun, 27 Aug 2017 16:10:39 +0000 (18:10 +0200)]
Merge pull request #14874 from ceph/wip-19805-jewel

jewel: rbd: default features should be negotiated with the OSD

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agoMerge pull request #14977 from dillaman/wip-19873-jewel
Nathan Cutler [Sun, 27 Aug 2017 16:09:03 +0000 (18:09 +0200)]
Merge pull request #14977 from dillaman/wip-19873-jewel

jewel: rbd: rbd-mirror: failover and failback of unmodified image results in split-brain

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
7 years agoMerge pull request #15461 from smithfarm/wip-19795-jewel
Nathan Cutler [Sun, 27 Aug 2017 15:53:15 +0000 (17:53 +0200)]
Merge pull request #15461 from smithfarm/wip-19795-jewel

jewel: tests: test_notify.py: assert(not image.is_exclusive_lock_owner()) on line 147

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
7 years agoMerge pull request #15463 from smithfarm/wip-20017-jewel
Nathan Cutler [Sun, 27 Aug 2017 15:51:35 +0000 (17:51 +0200)]
Merge pull request #15463 from smithfarm/wip-20017-jewel

jewel: rbd: rbd-nbd: kernel reported invalid device size (0, expected 1073741824)

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
7 years agoMerge pull request #15464 from smithfarm/wip-20153-jewel
Nathan Cutler [Sun, 27 Aug 2017 15:49:36 +0000 (17:49 +0200)]
Merge pull request #15464 from smithfarm/wip-20153-jewel

jewel: rbd: Potential IO hang if image is flattened while read request is in-flight

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
7 years agoMerge pull request #15455 from smithfarm/wip-19838-jewel
Nathan Cutler [Sat, 26 Aug 2017 17:43:55 +0000 (19:43 +0200)]
Merge pull request #15455 from smithfarm/wip-19838-jewel

jewel: rgw: reduce log level of 'storing entry at' in cls_log

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #15456 from smithfarm/wip-20003-jewel
Nathan Cutler [Sat, 26 Aug 2017 17:42:23 +0000 (19:42 +0200)]
Merge pull request #15456 from smithfarm/wip-20003-jewel

jewel: rgw: rgw_file:  v3 write timer does not close open handles

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agoMerge pull request #15457 from smithfarm/wip-20018-jewel
Nathan Cutler [Sat, 26 Aug 2017 17:38:29 +0000 (19:38 +0200)]
Merge pull request #15457 from smithfarm/wip-20018-jewel

jewel: rgw: multisite: memory leak on failed lease in RGWDataSyncShardCR

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #15459 from smithfarm/wip-20144-jewel
Nathan Cutler [Sat, 26 Aug 2017 17:33:42 +0000 (19:33 +0200)]
Merge pull request #15459 from smithfarm/wip-20144-jewel

jewel: rgw: rgw_file: cannot delete bucket w/uxattrs

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agoMerge pull request #15465 from smithfarm/wip-20155-jewel
Nathan Cutler [Sat, 26 Aug 2017 17:32:40 +0000 (19:32 +0200)]
Merge pull request #15465 from smithfarm/wip-20155-jewel

jewel: rgw: fix crash caused by shard id out of range when listing data log

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agolibrbd: clean up object map update interface, revisited 15460/head
Nathan Cutler [Sat, 26 Aug 2017 08:06:25 +0000 (10:06 +0200)]
librbd: clean up object map update interface, revisited

In master, the "batch update" change [1] was merged before the "order
concurrent updates" [2], while in jewel the latter is already
backported [3]. A backport of [1] to jewel was attempted, and was
necessarily applied on top of [3] - i.e. in the reverse order compared
to how the commits went into master. This reverse ordering caused the
automated cherry-pick to miss some parts of [1] which this commit is
adding manually.

[1] https://github.com/ceph/ceph/pull/11510
[2] https://github.com/ceph/ceph/pull/12420
[3] https://github.com/ceph/ceph/pull/12909

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
Signed-off-by: Nathan Cutler <ncutler@suse.com>
7 years agolibrbd: batch ObjectMap updations upon trim
Venky Shankar [Sat, 15 Oct 2016 11:48:30 +0000 (17:18 +0530)]
librbd: batch ObjectMap updations upon trim

Shrinking a clone which has snapshots and does not share
majority of objects with its parent (i.e., there are less
objects to be copied up) involves huge number of object
map updates -- two (pre, post) per object. This results
in lots of requests to be send to OSDs especially when
trimming a gigantus image. This situation can be optimized
by sending batch ObjectMap updates for an object range
thereby significantly cutting down OSD traffic resulting
in faster trim times.

Fixes: http://tracker.ceph.com/issues/17356
Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit 05653b7c512334533b801013f7e426363237301b)

7 years agoMerge PR #16248 into jewel
Patrick Donnelly [Fri, 25 Aug 2017 21:26:21 +0000 (14:26 -0700)]
Merge PR #16248 into jewel

* refs/remotes/upstream/pull/16248/head:
client: don't re-send interrupted flock request
mds/flock: properly remove item from global_waiting_locks
mds/flock: properly update ceph_lock_state_t::client_waiting_lock_counts
mds/flock: don't import ceph_lock_state_t::waiting_locks

Reviewed-by: Zheng Yan <zyan@redhat.com>
7 years agoMerge pull request #15454 from smithfarm/wip-19775-jewel
Nathan Cutler [Fri, 25 Aug 2017 18:09:58 +0000 (20:09 +0200)]
Merge pull request #15454 from smithfarm/wip-19775-jewel

jewel: rgw: multisite: realm rename does not propagate to other clusters

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
7 years agoMerge pull request #15453 from smithfarm/wip-19768-jewel
Nathan Cutler [Fri, 25 Aug 2017 18:09:15 +0000 (20:09 +0200)]
Merge pull request #15453 from smithfarm/wip-19768-jewel

jewel: rgw: multisite: operating bucket's acl&cors is not restricted on slave zone

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #15452 from smithfarm/wip-19765-jewel
Nathan Cutler [Fri, 25 Aug 2017 18:08:26 +0000 (20:08 +0200)]
Merge pull request #15452 from smithfarm/wip-19765-jewel

jewel: rgw: when uploading objects continuously into a versioned bucket, some objects will not sync

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #15451 from smithfarm/wip-19764-jewel
Nathan Cutler [Fri, 25 Aug 2017 18:06:37 +0000 (20:06 +0200)]
Merge pull request #15451 from smithfarm/wip-19764-jewel

jewel: rgw: set latest object's acl failed

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #15450 from smithfarm/wip-19758-jewel
Nathan Cutler [Fri, 25 Aug 2017 18:05:54 +0000 (20:05 +0200)]
Merge pull request #15450 from smithfarm/wip-19758-jewel

jewel: rgw: multisite: after CreateBucket is forwarded to master, local bucket may use different value for bucket index shards

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoconfig: disable skewed utilization warning by default 17210/head
David Zafman [Wed, 23 Aug 2017 22:31:50 +0000 (15:31 -0700)]
config: disable skewed utilization warning by default

This has a few problems:

1- It does not do it's analysis over CRUSH rule roots/classes, which
means that an innocent user of classes will see skewed usage (bc hdds are
more full than ssds, say)

2- It does not take degraded clusters into account, which means the warning
will appear when a fresh OSD is added.

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

Based on master commit 7832c53 but we've decided not to remove the code
in the older releases so it can be used if appropriate for a
particular cluster configuration.  Also, 7832c53 won't cleanly
cherry-pick so this is easier.

Signed-off-by: David Zafman <dzafman@redhat.com>
7 years agoqa/workunits/rados/test-upgrade-v11.0.0: skip ListObjectsError
Sage Weil [Thu, 24 Aug 2017 14:27:22 +0000 (10:27 -0400)]
qa/workunits/rados/test-upgrade-v11.0.0: skip ListObjectsError

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoqa/workunits/rados/test-upgrade-v11.0.0: skip more tests
Sage Weil [Thu, 24 Aug 2017 14:20:00 +0000 (10:20 -0400)]
qa/workunits/rados/test-upgrade-v11.0.0: skip more tests

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #16870 from liewegas/wip-20929-jewel
Sage Weil [Thu, 24 Aug 2017 14:16:19 +0000 (09:16 -0500)]
Merge pull request #16870 from liewegas/wip-20929-jewel

jewel: ceph-disk: dmcrypt cluster must default to ceph

Reviewed-by: Loic Dachary <ldachary@redhat.com>
Reviewed-by: Alfredo Deza <adeza@redhat.com>
7 years agoMerge pull request #14659 from asheplyakov/19473-jewel
Nathan Cutler [Thu, 24 Aug 2017 08:15:57 +0000 (10:15 +0200)]
Merge pull request #14659 from asheplyakov/19473-jewel

jewel: rgw: add the remove-x-delete feature to cancel swift object expiration

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoMerge pull request #15322 from gregsfortytwo/jewel-19931-snaptrim-shutdown
Nathan Cutler [Thu, 24 Aug 2017 07:13:23 +0000 (09:13 +0200)]
Merge pull request #15322 from gregsfortytwo/jewel-19931-snaptrim-shutdown

jewel: osd: Reset() snaptrimmer on shutdown and do not default-abort on leaked pg refs

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoMerge pull request #15236 from asheplyakov/20036-bp-jewel
Nathan Cutler [Thu, 24 Aug 2017 07:11:52 +0000 (09:11 +0200)]
Merge pull request #15236 from asheplyakov/20036-bp-jewel

jewel: mon: factor mon_osd_full_ratio into MAX AVAIL calc

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoMerge pull request #14346 from ceph/wip-ceph-disk-fix-jewel
Nathan Cutler [Thu, 24 Aug 2017 07:07:08 +0000 (09:07 +0200)]
Merge pull request #14346 from ceph/wip-ceph-disk-fix-jewel

jewel: build/ops: Add fix subcommand to ceph-disk, fix SELinux denials, and speed up upgrade from non-SELinux enabled ceph to an SELinux enabled one

Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #15083 from asheplyakov/19926-bp-jewel
Nathan Cutler [Thu, 24 Aug 2017 07:04:49 +0000 (09:04 +0200)]
Merge pull request #15083 from asheplyakov/19926-bp-jewel

jewel: mon: crash on shutdown, lease_ack_timeout event

Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #14663 from smithfarm/wip-19228-jewel
Nathan Cutler [Wed, 23 Aug 2017 18:56:38 +0000 (20:56 +0200)]
Merge pull request #14663 from smithfarm/wip-19228-jewel

jewel: rbd: Enabling mirroring for a pool with clones may fail

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
7 years agoMerge pull request #15050 from asheplyakov/19265-bp-jewel
Nathan Cutler [Wed, 23 Aug 2017 18:52:04 +0000 (20:52 +0200)]
Merge pull request #15050 from asheplyakov/19265-bp-jewel

jewel: core: an OSD was seen getting ENOSPC even with osd_failsafe_full_ratio passed

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: David Zafman <dzafman@redhat.com>
7 years agoMerge pull request #15065 from asheplyakov/19915-bp-jewel
Nathan Cutler [Wed, 23 Aug 2017 18:50:01 +0000 (20:50 +0200)]
Merge pull request #15065 from asheplyakov/19915-bp-jewel

jewel: osd: PrimaryLogPG: do not call on_shutdown() if (pg.deleting)

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
7 years agoMerge pull request #14943 from shinobu-x/wip-18293-jewel
Nathan Cutler [Wed, 23 Aug 2017 18:48:38 +0000 (20:48 +0200)]
Merge pull request #14943 from shinobu-x/wip-18293-jewel

jewel: osd: leaked MOSDMap

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #14699 from smithfarm/wip-19679-jewel
Nathan Cutler [Wed, 23 Aug 2017 18:12:01 +0000 (20:12 +0200)]
Merge pull request #14699 from smithfarm/wip-19679-jewel

jewel: mds: damage reporting by ino number is useless

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge pull request #14673 from smithfarm/wip-19466-jewel
Nathan Cutler [Wed, 23 Aug 2017 18:10:07 +0000 (20:10 +0200)]
Merge pull request #14673 from smithfarm/wip-19466-jewel

jewel: mds: log rotation doesn't work if mds has respawned

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoqa/workunits/rados/test-upgrade-v11.0.0.sh: more tests skipped
Sage Weil [Wed, 23 Aug 2017 17:53:48 +0000 (13:53 -0400)]
qa/workunits/rados/test-upgrade-v11.0.0.sh: more tests skipped

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #15442 from Vicente-Cheng/wip-20025-jewel
Nathan Cutler [Wed, 23 Aug 2017 06:41:55 +0000 (08:41 +0200)]
Merge pull request #15442 from Vicente-Cheng/wip-20025-jewel

jewel: cephfs: osdc/Filer: truncate large file party by party

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Yan, Zheng <zyan@redhat.com>
7 years agoMerge pull request #14691 from smithfarm/wip-19571-jewel
Nathan Cutler [Wed, 23 Aug 2017 06:40:20 +0000 (08:40 +0200)]
Merge pull request #14691 from smithfarm/wip-19571-jewel

jewel: tests: upgrade:client-upgrade/firefly-client-x: drop CentOS

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agolibrbd: default features should be negotiated with the OSD 14874/head
Jason Dillaman [Fri, 28 Apr 2017 16:52:18 +0000 (12:52 -0400)]
librbd: default features should be negotiated with the OSD

Derived from f066ce8f80bce929edc209590efd47cce2196ae2

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
7 years agocls/rbd: add get_all_features on client side
Mykola Golub [Sat, 5 Nov 2016 20:44:33 +0000 (22:44 +0200)]
cls/rbd: add get_all_features on client side

Signed-off-by: Mykola Golub <mgolub@mirantis.com>
(cherry picked from commit 84f6d5c109911923c25414de639308921983e438)

Conflicts:
src/cls/rbd/cls_rbd_client.h: trivial resolution

7 years agoMerge pull request #15448 from smithfarm/wip-19615-jewel
Nathan Cutler [Tue, 22 Aug 2017 14:25:14 +0000 (16:25 +0200)]
Merge pull request #15448 from smithfarm/wip-19615-jewel

jewel: rgw: multisite: bucket zonegroup redirect not working

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agotests: upgrade:client-upgrade/firefly-client-x: drop CentOS 14691/head
Nathan Cutler [Thu, 20 Apr 2017 17:15:29 +0000 (19:15 +0200)]
tests: upgrade:client-upgrade/firefly-client-x: drop CentOS

The RBD suite needs ceph-cm-ansible to install qemu-kvm on CentOS, but doing
that breaks the firefly install on CentOS because:

1. the qemu-kvm that gets installed is from hammer (0.94.5)
2. qemu-kvm brings in librados2, librbd1 as dependencies

As a result, the hammer librados2 and librbd1 are installed on the test nodes
even before the teuthology install task starts. When it does start and tries
to install firefly, it fails because firefly librados2 and librbd1 cannot be
installed over their hammer versions.

Fixes: http://tracker.ceph.com/issues/19571
Signed-off-by: Nathan Cutler <ncutler@suse.com>
7 years agoMerge pull request #15197 from smithfarm/wip-20007-jewel
Nathan Cutler [Tue, 22 Aug 2017 11:47:21 +0000 (13:47 +0200)]
Merge pull request #15197 from smithfarm/wip-20007-jewel

jewel: rgw: remove unnecessary 'error in read_id for object name: default'

Reviewed-by: Jos Collin <jcollin@redhat.com>
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
7 years agoMerge pull request #15051 from asheplyakov/19910-bp-jewel
Nathan Cutler [Tue, 22 Aug 2017 08:00:07 +0000 (10:00 +0200)]
Merge pull request #15051 from asheplyakov/19910-bp-jewel

jewel: build/ops: extended, customizable systemd ceph-disk timeout

Reviewed-by: David Disseldorp <ddiss@suse.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agoMerge pull request #15428 from smithfarm/wip-20162-jewel
Nathan Cutler [Tue, 22 Aug 2017 07:54:12 +0000 (09:54 +0200)]
Merge pull request #15428 from smithfarm/wip-20162-jewel

jewel: build/ops: deb: Fix logrotate packaging

Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #15447 from smithfarm/wip-19613-jewel
Nathan Cutler [Tue, 22 Aug 2017 07:52:49 +0000 (09:52 +0200)]
Merge pull request #15447 from smithfarm/wip-19613-jewel

jewel: rgw: multisite: rest api fails to decode large period on "period commit"

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agotest: remove hard-coded image name from RBD metadata test 14663/head
Jason Dillaman [Thu, 27 Apr 2017 20:21:33 +0000 (16:21 -0400)]
test: remove hard-coded image name from RBD metadata test

Fixes: http://tracker.ceph.com/issues/19798
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 8f72e745e157cc12d76ca6babe956c5698ee297f)

7 years agolibrbd: relax "is parent mirrored" check when enabling mirroring for pool
Mykola Golub [Thu, 2 Mar 2017 16:18:18 +0000 (17:18 +0100)]
librbd: relax "is parent mirrored" check when enabling mirroring for pool

If the parent is in the same pool and has the journaling feature enabled
we can assume the mirroring will eventually be enabled for it.

Fixes: http://tracker.ceph.com/issues/19130
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
(cherry picked from commit fe31bca22f90ce02f461d6421a4f66539db888d3)

7 years agoMerge pull request #15196 from smithfarm/wip-20006-jewel
Nathan Cutler [Tue, 22 Aug 2017 07:31:04 +0000 (09:31 +0200)]
Merge pull request #15196 from smithfarm/wip-20006-jewel

jewel: build/ops: rpm: fix python-Sphinx package name for SUSE

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Abhishek Lekshmanan <abhishek@suse.com>
7 years agoqa/workunits/rados/test/test-upgrade-v11.0.0: skip Quota test
Sage Weil [Sat, 12 Aug 2017 13:00:22 +0000 (09:00 -0400)]
qa/workunits/rados/test/test-upgrade-v11.0.0: skip Quota test

This makes a pool go full which confounds the wait for healthy check
during restarts.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoqa/workunits/rados/test-upgrade-v11.0.0: skip api_io *CmpExt*
Sage Weil [Wed, 9 Aug 2017 13:56:21 +0000 (09:56 -0400)]
qa/workunits/rados/test-upgrade-v11.0.0: skip api_io *CmpExt*

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoqa/workunits/rados/test-upgrade-11.0.0: skip RoundTrip3
Sage Weil [Mon, 7 Aug 2017 18:01:58 +0000 (14:01 -0400)]
qa/workunits/rados/test-upgrade-11.0.0: skip RoundTrip3

This does the crc op, which isn't in jewel.

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #16343 from dillaman/wip-20630-jewel
Jason Dillaman [Mon, 7 Aug 2017 14:07:13 +0000 (10:07 -0400)]
Merge pull request #16343 from dillaman/wip-20630-jewel

jewel: tests: qa/tasks: rbd-mirror daemon not properly run in foreground mode

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
7 years agoceph-disk: dmcrypt cluster must default to ceph 16870/head
Loic Dachary [Thu, 3 Aug 2017 08:56:24 +0000 (10:56 +0200)]
ceph-disk: dmcrypt cluster must default to ceph

If ceph_fsid is not found, which is the case for legacy dmcrypted OSD,
the cluster must default to ceph, as it was before support for non
standard cluster names was introduced.

Fixes: http://tracker.ceph.com/issues/20893
Signed-off-by: Loic Dachary <loic@dachary.org>
(cherry picked from commit ed22159fdd7071a110e81cd7b63d7e0f2296761b)

7 years agoMerge pull request #13507 from shinobu-x/wip-18468-jewel
Nathan Cutler [Tue, 1 Aug 2017 11:06:54 +0000 (13:06 +0200)]
Merge pull request #13507 from shinobu-x/wip-18468-jewel

jewel: mon: Disallow enabling 'hashpspool' option to a pool without some kind of --i-understand-this-will-remap-all-pgs flag

Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoosdc/Filer: truncate large file party by party 15442/head
Yan, Zheng [Tue, 25 Apr 2017 08:21:24 +0000 (16:21 +0800)]
osdc/Filer: truncate large file party by party

Fixes: http://tracker.ceph.com/issues/19755
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit 5fab215e461e5ecc36c0f9d9ea867f6c45e80263)

Conflicts:
src/osdc/Filer.h
src/osdc/Filer.cc
    - add parameter to fit _modify (need onack parameter)
src/mds/MDCache.cc
    - make truncate() consistency

7 years agoosd: scrub_to specifies clone ver, but transaction include head write ver 16405/head
David Zafman [Tue, 18 Jul 2017 22:08:14 +0000 (15:08 -0700)]
osd: scrub_to specifies clone ver, but transaction include head write ver

Fixes: http://tracker.ceph.com/issues/20041
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit fd598a0d23d61c645633ae774c3404a43d035e3c)

Conflicts:
src/osd/ReplicatedPG.cc (trivial)

7 years agojewel:ceph-disk:remove the special check to bcache devices 16061/head
weiqiaomiao [Mon, 3 Jul 2017 01:34:08 +0000 (09:34 +0800)]
jewel:ceph-disk:remove the special check to bcache devices

if we skip partition when coming cross the bcache device in ceph-disk,
the udev can't detect the osd in such devices when we reboot the osd's host,
so the osd who deploy in bcache device can't auto start when the host restart.

And partition is now supported by bcache devices (https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/drivers/md/bcache?id=b8c0d911ac5285e6be8967713271a51bdc5a936a),
we can remove this special check now.

This cannot be cherry-picked from master because 'accept bcache devices as data disks' [21f0216](https://github.com/ceph/ceph/commit/21f0216287485e6cce8811f324fee804ef733524)
is a jewel-only feature not present in master.

Signed-off-by: Wei Qiaomiao <wei.qiaomiao@zte.com.cn>
8 years agojewel: mon: Fix status output warning for mon_warn_osd_usage_min_max_delta 15050/head
David Zafman [Fri, 7 Jul 2017 17:53:41 +0000 (10:53 -0700)]
jewel: mon: Fix status output warning for mon_warn_osd_usage_min_max_delta

Fixes: http://tracker.ceph.com/issues/20544
Caued by: 489e810c37ed6fb9d32d1015634041a577501ee4

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 56f9808016ab289bdc0ce7cfbb0503c78b509593)

Conflicts:
apply changes to src/mon/PGMonitor.cc instead of src/mon/PGMap.cc

8 years agoMerge pull request #16289 from cbodley/wip-20513
Matt Benjamin [Thu, 20 Jul 2017 19:00:32 +0000 (15:00 -0400)]
Merge pull request #16289 from cbodley/wip-20513

jewel: rgw: cls: ceph::timespan tag_timeout wrong units

8 years agomessages/MOSDPing: optimize encode and decode of dummy payload 16059/head
Piotr Dałek [Fri, 16 Jun 2017 11:34:19 +0000 (13:34 +0200)]
messages/MOSDPing: optimize encode and decode of dummy payload

The dummy payload doesn't need to be processed, we can just skip over
it when decoding and we can use a single bufferptr instead of entire
bufferlist to encode it.

Signed-off-by: Piotr Dałek <piotr.dalek@corp.ovh.com>
(cherry picked from commit 15ce0772841f913d1eef1daebad0834e5f862383)

8 years agomessages/MOSDPing: fix the inflation amount calculation
Piotr Dałek [Fri, 16 Jun 2017 11:10:36 +0000 (13:10 +0200)]
messages/MOSDPing: fix the inflation amount calculation

If user specifies a min_message_size small enough (or zero to disable
it altogether), OSDs will crash and burn while trying to allocate
almost 4GB of payload (both min_message_size and payload.length() are
unsigned, so it'll roll over back to 4GB and MAX(4GB, 0) will use 4GB).
If the size of dummy payload is 0, don't bother constructing bufferptr
and bufferlist, then encoding that.

Signed-off-by: Piotr Dałek <piotr.dalek@corp.ovh.com>
(cherry picked from commit d959735a7d684018df564573a2ff88092d870fc1)

8 years agoOSD: mark two heartbeat config opts as observed
Piotr Dałek [Fri, 16 Jun 2017 11:05:10 +0000 (13:05 +0200)]
OSD: mark two heartbeat config opts as observed

"osd heartbeat min size" and "osd heartbeat interval" can be changed
at runtime, because their values, when used, are always taken from
global Ceph configuration. Mark them as observed, so the message
the user sees once they're changed doesn't confuse them.

Signed-off-by: Piotr Dałek <piotr.dalek@corp.ovh.com>
(cherry picked from commit 44b7839c788b20e0b9da76bc3838ae10d3ad2f89)

8 years agomessages/MOSDPing: initialize MOSDPing padding
Sage Weil [Fri, 16 Jun 2017 02:18:08 +0000 (22:18 -0400)]
messages/MOSDPing: initialize MOSDPing padding

This memory must be initialized or else valgrind will be very unhappy.

Avoid the cost of zeroing (or even allocating) the buffer for normal
padding values by (re)using a static zero buffer.

Fixes: http://tracker.ceph.com/issues/20323
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit 9beaf5efd74daa8c15e50b42583264d1252a85f5)

8 years agoosd: heartbeat with packets large enough to require working jumbo frames.
Greg Farnum [Mon, 5 Jun 2017 20:33:14 +0000 (13:33 -0700)]
osd: heartbeat with packets large enough to require working jumbo frames.

We get periodic reports that users somehow misconfigure one of their switches
so that it drops jumbo frames, yet the servers are still passing them along. In
that case, MOSDOp messages generally don't get through because they are much
larger than the 1500-byte non-jumbo limit, but the MOSDPing messages have kept
going (as they are very small and dispatched independently, even when the
server is willing to make jumbo frames). This means peer OSDs won't mark down
the ones behind the broken switch, despite all IO hanging.
Push the MOSDPing message size over the 1500-byte limit so that anybody in
this scenario will see the OSDs stuck behind a bad switch get marked down.

Fixes: http://tracker.ceph.com/issues/20087
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
(cherry picked from commit 2096113d9e1589c571d96e34dd9cd841308a2567)

 Conflicts:
src/messages/MOSDPing.h
         - Changed HEAD_VERSION to 3 and kept COMPAT_VERSION to 1.
         - In class MOSDPing removed following line:
               if (header.version >= 2)
         - To keep ::decode(stamp, p) without condition because HEAD_Version
           is already 3 now and this condition is removed in the backport commit.

8 years agoqa/tasks: rbd-mirror daemon not properly run in foreground mode 16343/head
Jason Dillaman [Fri, 14 Jul 2017 14:32:28 +0000 (10:32 -0400)]
qa/tasks: rbd-mirror daemon not properly run in foreground mode

Fixes: http://tracker.ceph.com/issues/20630
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 4fa1918717b25a5ffafbf649eedcfe7d5ab829c2)