]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
7 years agoMerge pull request #17649 from dillaman/wip-21346
Jason Dillaman [Tue, 12 Sep 2017 20:05:16 +0000 (16:05 -0400)]
Merge pull request #17649 from dillaman/wip-21346

jewel: qa/workunits/rbd: relax greps to support upgrade formatting change

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
7 years agoMerge pull request #17166 from smithfarm/wip-20719-jewel
Nathan Cutler [Tue, 12 Sep 2017 20:04:20 +0000 (22:04 +0200)]
Merge pull request #17166 from smithfarm/wip-20719-jewel

jewel: rgw: Truncated objects

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agoMerge pull request #17165 from smithfarm/wip-20715-jewel
Nathan Cutler [Tue, 12 Sep 2017 20:03:30 +0000 (22:03 +0200)]
Merge pull request #17165 from smithfarm/wip-20715-jewel

jewel: rgw: radosgw-admin data sync run crash

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agoMerge pull request #17164 from smithfarm/wip-20712-jewel
Nathan Cutler [Tue, 12 Sep 2017 20:02:29 +0000 (22:02 +0200)]
Merge pull request #17164 from smithfarm/wip-20712-jewel

jewel: rgw: not initialized pointer cause rgw crash with ec data pool

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agoMerge pull request #17159 from smithfarm/wip-20709-jewel
Nathan Cutler [Tue, 12 Sep 2017 20:01:38 +0000 (22:01 +0200)]
Merge pull request #17159 from smithfarm/wip-20709-jewel

jewel: rgw: radosgw-admin: bucket rm with --bypass-gc and without --purge-data doesn't throw error message

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agoMerge pull request #17156 from smithfarm/wip-20673-jewel
Nathan Cutler [Tue, 12 Sep 2017 20:00:54 +0000 (22:00 +0200)]
Merge pull request #17156 from smithfarm/wip-20673-jewel

jewel: rgw: multisite: RGWRadosRemoveOmapKeysCR::request_complete return val is wrong

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agoMerge pull request #17148 from smithfarm/wip-20292-jewel
Nathan Cutler [Tue, 12 Sep 2017 19:58:54 +0000 (21:58 +0200)]
Merge pull request #17148 from smithfarm/wip-20292-jewel

jewel: rgw: multisite: log_meta on secondary zone causes continuous loop of metadata sync

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agoMerge pull request #17147 from smithfarm/wip-20290-jewel
Nathan Cutler [Tue, 12 Sep 2017 19:56:44 +0000 (21:56 +0200)]
Merge pull request #17147 from smithfarm/wip-20290-jewel

jewel: rgw: rgw_file: prevent conflict of mkdir between restarts

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agoMerge pull request #16856 from prallabh/wip-20895
Nathan Cutler [Tue, 12 Sep 2017 19:55:14 +0000 (21:55 +0200)]
Merge pull request #16856 from prallabh/wip-20895

jewel: rgw: bucket index check in radosgw-admin removes valid index

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
7 years agoMerge pull request #16767 from linuxbox2/jewel-rgw-mpart-race
Nathan Cutler [Tue, 12 Sep 2017 19:53:38 +0000 (21:53 +0200)]
Merge pull request #16767 from linuxbox2/jewel-rgw-mpart-race

jewel: rgw : fix race in RGWCompleteMultipart

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
Reviewed-by: Orit Wasserman <owasserm@redhat.com>
7 years agoMerge pull request #17574 from smithfarm/wip-21297-jewel
Nathan Cutler [Tue, 12 Sep 2017 16:18:40 +0000 (18:18 +0200)]
Merge pull request #17574 from smithfarm/wip-21297-jewel

jewel: libradosstriper processes arbitrary printf placeholders in user input

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agorgw: fix radosgw-admin data sync run crash 17165/head
lu.shasha [Tue, 27 Jun 2017 02:53:30 +0000 (10:53 +0800)]
rgw: fix radosgw-admin data sync run crash

If sync thread have run before, then run data sync init. sync_status is still remain in rados pool. so no matter sync_status exists or not, if state is StateInit, sync_status.sync_info.num_shards should be updated.

Fixes: http://tracker.ceph.com/issues/20423
Signed-off-by: Shasha Lu <lu.shasha@eisoo.com>
(cherry picked from commit c307910d7131fc290f00bb8e33876e667afb72ec)

Conflicts:
    src/rgw/rgw_data_sync.cc (no data_sync_module or instance_id in jewel)

7 years agoMerge pull request #16299 from smithfarm/wip-20262-jewel
Nathan Cutler [Tue, 12 Sep 2017 07:36:50 +0000 (09:36 +0200)]
Merge pull request #16299 from smithfarm/wip-20262-jewel

jewel: rgw: datalog trim can't work as expected

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agoMerge pull request #17167 from smithfarm/wip-20720-jewel
Nathan Cutler [Tue, 12 Sep 2017 07:34:36 +0000 (09:34 +0200)]
Merge pull request #17167 from smithfarm/wip-20720-jewel

jewel: multisite: RGWPeriodPuller does not call RGWPeriod::reflect() on new period

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agoMerge pull request #15556 from cbodley/wip-19847
Nathan Cutler [Tue, 12 Sep 2017 07:25:22 +0000 (09:25 +0200)]
Merge pull request #15556 from cbodley/wip-19847

jewel: rgw: multisite: fixes for meta sync across periods

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agoMerge pull request #17155 from smithfarm/wip-20641-jewel
Nathan Cutler [Tue, 12 Sep 2017 07:24:34 +0000 (09:24 +0200)]
Merge pull request #17155 from smithfarm/wip-20641-jewel

jewel: rgw: multisite: lock is not released when RGWMetaSyncShardCR::full_sync() fails to write marker

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agoMerge pull request #17278 from smithfarm/wip-20728-jewel
Nathan Cutler [Tue, 12 Sep 2017 07:23:43 +0000 (09:23 +0200)]
Merge pull request #17278 from smithfarm/wip-20728-jewel

jewel: rgw: multipart parts on versioned bucket create versioned bucket index entries

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: we no longer use log_meta 17148/head
Orit Wasserman [Thu, 22 Jun 2017 10:06:13 +0000 (13:06 +0300)]
rgw: we no longer use log_meta

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
(cherry picked from commit ac8b0077c1f53ff0037c4163489b838eebf8c247)

7 years agorgw: is_single_zonegroup doesn't use store or cct
Orit Wasserman [Thu, 22 Jun 2017 07:17:37 +0000 (10:17 +0300)]
rgw: is_single_zonegroup doesn't use store or cct

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
(cherry picked from commit 0b0090cee249c5380efa4bb416d724a7e2dbfc08)

7 years agorgw: log_meta only for more than one zone
Orit Wasserman [Wed, 21 Jun 2017 09:37:21 +0000 (12:37 +0300)]
rgw: log_meta only for more than one zone

Fixes: http://tracker.ceph.com/issues/20357
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
(cherry picked from commit 088dba03ccc65609ef1c51306389ebcf1126ec8c)

7 years agorgw: only log metadata on metadata master zone
Casey Bodley [Sat, 10 Jun 2017 22:12:52 +0000 (18:12 -0400)]
rgw: only log metadata on metadata master zone

Fixes: http://tracker.ceph.com/issues/20244
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit b8272f3607074a2f7cbfd08f7bbc82f22cf120ba)

7 years agoMerge pull request #16296 from smithfarm/wip-20267-jewel
Nathan Cutler [Mon, 11 Sep 2017 21:05:04 +0000 (23:05 +0200)]
Merge pull request #16296 from smithfarm/wip-20267-jewel

jewel: rbd: api: is_exclusive_lock_owner shouldn't return -EBUSY

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
7 years agoMerge pull request #17385 from dillaman/wip-19957
Nathan Cutler [Mon, 11 Sep 2017 21:04:09 +0000 (23:04 +0200)]
Merge pull request #17385 from dillaman/wip-19957

jewel: librbd: reacquire lock should update lock owner client id

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
7 years agoMerge pull request #17402 from dillaman/wip-20515
Nathan Cutler [Mon, 11 Sep 2017 21:03:29 +0000 (23:03 +0200)]
Merge pull request #17402 from dillaman/wip-20515

jewel: librbd: fail IO request when exclusive lock cannot be obtained

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
7 years agoMerge pull request #17412 from dillaman/wip-18704
Nathan Cutler [Mon, 11 Sep 2017 21:02:49 +0000 (23:02 +0200)]
Merge pull request #17412 from dillaman/wip-18704

jewel: librbd: prevent self-blacklisting during break lock

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
7 years agoqa/workunits/rbd: relax greps to support upgrade formatting change 17649/head
Jason Dillaman [Thu, 7 Sep 2017 12:55:27 +0000 (08:55 -0400)]
qa/workunits/rbd: relax greps to support upgrade formatting change

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

Conflicts:
qa/workunits/rbd/import_export.sh: trivial resolution

7 years agoMerge pull request #15189 from mslovy/wip-19996-jewel
Nathan Cutler [Sun, 10 Sep 2017 19:38:15 +0000 (21:38 +0200)]
Merge pull request #15189 from mslovy/wip-19996-jewel

jewel: osd: fix infinite loops in fiemap

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoMerge pull request #16711 from cbodley/wip-20346
Nathan Cutler [Sun, 10 Sep 2017 19:15:35 +0000 (21:15 +0200)]
Merge pull request #16711 from cbodley/wip-20346

jewel: rgw: meta sync thread crash at RGWMetaSyncShardCR

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
7 years agoMerge pull request #17552 from dillaman/wip-21279
Jason Dillaman [Fri, 8 Sep 2017 18:05:18 +0000 (14:05 -0400)]
Merge pull request #17552 from dillaman/wip-21279

jewel: test/cls_rbd: mask newer feature bits to support upgrade tests

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
7 years agoMerge pull request #17514 from smithfarm/wip-21232-jewel
Nathan Cutler [Thu, 7 Sep 2017 16:54:17 +0000 (18:54 +0200)]
Merge pull request #17514 from smithfarm/wip-21232-jewel

jewel: core: interval_set: optimize intersect_of insert operations

Reviewed-by: Sage Weil <sage@redhat.com>
7 years agoMerge pull request #16293 from smithfarm/wip-20460-jewel
Nathan Cutler [Thu, 7 Sep 2017 16:39:58 +0000 (18:39 +0200)]
Merge pull request #16293 from smithfarm/wip-20460-jewel

jewel: core: test_envlibrados_for_rocksdb.yaml fails on crypto restart

Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoqa/suites/rbd: fixed cache override 17402/head
Jason Dillaman [Tue, 5 Sep 2017 20:20:26 +0000 (16:20 -0400)]
qa/suites/rbd: fixed cache override

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

7 years agolibradosstriper: remove format injection vulnerability 17574/head
Jesse Williamson [Tue, 13 Jun 2017 19:31:16 +0000 (12:31 -0700)]
libradosstriper: remove format injection vulnerability

Fixes: http://tracker.ceph.com/issues/20240
Signed-off-by: Stan K <redrampage@selectel.ru>
(cherry picked from commit e94d3b9661d287e500cdf4e6c102d2e3bb04475e)

7 years agoMerge pull request #17084 from badone/wip-ceph-disk-dmcrypt-key-jewel
Nathan Cutler [Thu, 7 Sep 2017 15:41:58 +0000 (17:41 +0200)]
Merge pull request #17084 from badone/wip-ceph-disk-dmcrypt-key-jewel

jewel: ceph-disk: Use stdin for 'config-key put' command

Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #17008 from asheplyakov/19182-bp-jewel
Nathan Cutler [Thu, 7 Sep 2017 15:40:34 +0000 (17:40 +0200)]
Merge pull request #17008 from asheplyakov/19182-bp-jewel

jewel: mon: fix force_pg_create pg stuck in creating bug

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoMerge pull request #17133 from smithfarm/wip-21035-jewel
Kefu Chai [Thu, 7 Sep 2017 14:51:10 +0000 (22:51 +0800)]
Merge pull request #17133 from smithfarm/wip-21035-jewel

jewel: ceph-disk: systemd unit timesout too quickly

Reviewed-by: David Disseldorp <ddiss@suse.de>
Reviewed-by: Kefu Chai <kchai@redhat.com>
7 years agoMerge pull request #16316 from smithfarm/wip-20362-jewel
Nathan Cutler [Thu, 7 Sep 2017 14:33:08 +0000 (16:33 +0200)]
Merge pull request #16316 from smithfarm/wip-20362-jewel

jewel: rgw: VersionIdMarker and NextVersionIdMarker are not returned when listing object versions

Reviewed-by: Casey Bodley <cbodley@redhat.com>
7 years agoceph_test_objectstore: disable filestore_fiemap 15189/head
Sage Weil [Thu, 15 Sep 2016 21:29:45 +0000 (17:29 -0400)]
ceph_test_objectstore: disable filestore_fiemap

This very reliably triggers a test failure for
ObjectStore/StoreTest.Synthetic/1.

FIEMAP is bad!  Do not use it!

Signed-off-by: Sage Weil <sage@redhat.com>
7 years agotest/cls_rbd: mask newer feature bits to support upgrade tests 17552/head
Jason Dillaman [Wed, 6 Sep 2017 01:37:16 +0000 (21:37 -0400)]
test/cls_rbd: mask newer feature bits to support upgrade tests

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

7 years agoMerge pull request #16703 from ddiss/wip-20837-jewel
Nathan Cutler [Thu, 7 Sep 2017 08:21:10 +0000 (10:21 +0200)]
Merge pull request #16703 from ddiss/wip-20837-jewel

jewel: ceph-disk: don't activate suppressed journal devices

Reviewed-by: Nathan Cutler <ncutler@suse.com>
7 years agoMerge pull request #17396 from smithfarm/wip-21113-jewel
Nathan Cutler [Thu, 7 Sep 2017 07:47:41 +0000 (09:47 +0200)]
Merge pull request #17396 from smithfarm/wip-21113-jewel

jewel: cephfs: get_quota_root sends lookupname op for every buffered write

Reviewed-by: Yan, Zheng <zyan@redhat.com>
7 years agoMerge pull request #17009 from dreamhost/wip-16463-jewel
Nathan Cutler [Thu, 7 Sep 2017 07:46:00 +0000 (09:46 +0200)]
Merge pull request #17009 from dreamhost/wip-16463-jewel

jewel: rgw: aws4: add rgw_s3_auth_aws4_force_boto2_compat conf option

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agoMerge pull request #16963 from smithfarm/wip-20972-jewel
Nathan Cutler [Thu, 7 Sep 2017 07:42:54 +0000 (09:42 +0200)]
Merge pull request #16963 from smithfarm/wip-20972-jewel

jewel: cephfs: ceph-fuse segfaults at mount time, assert in ceph::log::Log::stop

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
7 years agoMerge pull request #16952 from dreamhost/wip-20966-jewel
Nathan Cutler [Thu, 7 Sep 2017 07:41:19 +0000 (09:41 +0200)]
Merge pull request #16952 from dreamhost/wip-20966-jewel

jewel: rgw: radosgw-admin: fix bucket limit check argparse, div(0)

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
7 years agoMerge pull request #16951 from linuxbox2/jewel-aws4-plus
Nathan Cutler [Thu, 7 Sep 2017 07:34:52 +0000 (09:34 +0200)]
Merge pull request #16951 from linuxbox2/jewel-aws4-plus

jewel: rgw: replace '+' with "%20" in canonical query string for s3 v4 auth

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
7 years agoMerge pull request #16880 from linuxbox2/jewel-rgw-dir-suggest
Nathan Cutler [Thu, 7 Sep 2017 07:33:25 +0000 (09:33 +0200)]
Merge pull request #16880 from linuxbox2/jewel-rgw-dir-suggest

jewel: rgw: Fix up to 1000 entries at a time in check_bad_index_multipart

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
7 years agoMerge pull request #16720 from prallabh/wip-jewel-20821
Nathan Cutler [Thu, 7 Sep 2017 07:28:03 +0000 (09:28 +0200)]
Merge pull request #16720 from prallabh/wip-jewel-20821

jewel: rgw: Do not decrement stats cache when the cache values are zero

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
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 #15966 from prallabh/jewel
Nathan Cutler [Wed, 6 Sep 2017 07:36:13 +0000 (09:36 +0200)]
Merge pull request #15966 from prallabh/jewel

jewel: rgw: Custom data header support

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
7 years agoMerge pull request #16144 from smithfarm/wip-20364-jewel
Nathan Cutler [Wed, 6 Sep 2017 07:03:50 +0000 (09:03 +0200)]
Merge pull request #16144 from smithfarm/wip-20364-jewel

jewel: mon: osd crush set crushmap need sanity check

Reviewed-by: Loic Dachary <ldachary@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
7 years agoosdc/Objecter: release message if it is not handled 16293/head
Kefu Chai [Fri, 23 Jun 2017 16:50:40 +0000 (00:50 +0800)]
osdc/Objecter: release message if it is not handled

Fixes: http://tracker.ceph.com/issues/19741
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 5c2774234c20d809d56d005b4db34070f3029684)

Conflicts:
   src/osdc/Objecter.h (in master, ms_fast_dispatch function declaration has an
                       "override" specifier; in jewel, this specifier is missing)

7 years agocrypto: allow PK11 module to load even if it's already initialized
Kefu Chai [Wed, 21 Jun 2017 06:25:01 +0000 (14:25 +0800)]
crypto: allow PK11 module to load even if it's already initialized

there is chance that other pieces of application loads PK11 module
already and does not finalize it before calling common_init_finish().

also, upon fork, PK11 module resets its entire status including `nsc_init`,
by which PK11 module tell if it is initialized or not. so the behavior
of NSS_InitContext() could be different before and after fork. that's
another reason to ignore CKR_CRYPTOKI_ALREADY_INITIALIZED error (see
NSS_GetError()).

Fixes: http://tracker.ceph.com/issues/19741
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit fcc3effd8b447ef0c54b4c806b8f6e996d7467dd)

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 agolibrbd: prevent self-blacklisting during break lock 17412/head
Jason Dillaman [Fri, 1 Sep 2017 01:30:47 +0000 (21:30 -0400)]
librbd: prevent self-blacklisting during break lock

(derived from commit 5c590acaec4dd66a9a8c3aa0ec8ab904dd350216)

Fixes: http://tracker.ceph.com/issues/18704
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
7 years agomon: osd crush set crushmap need sanity check 16144/head
Loic Dachary [Sat, 18 Mar 2017 09:04:20 +0000 (10:04 +0100)]
mon: osd crush set crushmap need sanity check

The sanity check verifying the new crushmap does not remove crush rules
that are in use is not exclusive to ceph setcrushmap.

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

7 years ago crush: when take place the crush map should consider the rule is in used
songbaisen [Thu, 31 Mar 2016 03:39:44 +0000 (11:39 +0800)]
 crush: when take place the crush map should consider the rule is in used

Signed-off-by: song baisen song.baisen@zte.com.cn
(cherry picked from commit 09bf6f2858d09c8c314a8c242a9c70d2834718dc)

7 years agolibrbd: fix missing write block validation in IO work queue
Jason Dillaman [Thu, 31 Aug 2017 12:03:03 +0000 (08:03 -0400)]
librbd: fix missing write block validation in IO work queue

(derived from commit 8e76ebd93fd7525f6909a7da178e9b92c98e1ebe)

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
7 years agoqa/suites/rbd: test dynamic features with cache disabled
Jason Dillaman [Tue, 27 Jun 2017 18:05:58 +0000 (14:05 -0400)]
qa/suites/rbd: test dynamic features with cache disabled

The journaling logic follows different paths depending on the
cache configuration.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 57a507d845339e9052122755bd460eb6d61d6060)

7 years agoqa/tasks/qemu: rbd cache is enabled by default
Jason Dillaman [Tue, 27 Jun 2017 18:03:34 +0000 (14:03 -0400)]
qa/tasks/qemu: rbd cache is enabled by default

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit fdc4c9221f2c54d5fb55e74491ebc5165f73e776)

7 years agotest: unit tests for librbd IO work queue failure path
Jason Dillaman [Thu, 31 Aug 2017 13:48:47 +0000 (09:48 -0400)]
test: unit tests for librbd IO work queue failure path

(derived from commit 6e23ef358f29ca65a2a6b08b133416415e117b06)

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
7 years agolibrbd: cleanup interface between IO work queue and IO requests
Jason Dillaman [Thu, 31 Aug 2017 13:31:02 +0000 (09:31 -0400)]
librbd: cleanup interface between IO work queue and IO requests

This will help mock the testing of the IO work queue

(derived from commit e0834d12e91bf085a5c9503f1c69a2bee2d21edf)

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
7 years agocommon: improve the ability to mock PointerWQ classes
Jason Dillaman [Thu, 22 Jun 2017 17:31:10 +0000 (13:31 -0400)]
common: improve the ability to mock PointerWQ classes

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 2d90bd8fdb30705d05569d242fc0cc4e36a2c7db)

Conflicts:
src/common/WorkQueue.h: trivial resolution
src/librbd/AioImageRequestWQ.cc: file renamed

7 years agolibrbd: exclusive lock failures should bubble up to IO
Jason Dillaman [Thu, 31 Aug 2017 11:51:37 +0000 (07:51 -0400)]
librbd: exclusive lock failures should bubble up to IO

(derived from commit 048d475127b600b6a40bd5e0c3a0daf8133294f4)

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
7 years agolibrbd: directly inform IO work queue when locks are required
Jason Dillaman [Thu, 31 Aug 2017 02:08:15 +0000 (22:08 -0400)]
librbd: directly inform IO work queue when locks are required

Due to lock dependency issues between librbd locks and the the thread
pool lock, it's impossible to directly determine if the lock is
required within the _void_dequeue method. Therefore, this state needs
to be internally tracked by the work queue.

(derived from commit 4a525671b3541a0a208dd039ac96f42bc8fca2cc)

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
7 years agolibrbd: clean up variable naming in IO work queue
Jason Dillaman [Thu, 31 Aug 2017 01:16:56 +0000 (21:16 -0400)]
librbd: clean up variable naming in IO work queue

(derived from commit 9d8ae624858beb6fdc8ee2674b8e8d9b9cf14cbe)

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
7 years agolibrbd: convert ImageRequestWQ to template
Jason Dillaman [Thu, 31 Aug 2017 12:25:29 +0000 (08:25 -0400)]
librbd: convert ImageRequestWQ to template

(derived from commit b9569585fab5654b6c29552c5eb009dcddfaaa3b)

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
7 years agoos:kstore fix unittest for FiemapHole
Ning Yao [Mon, 28 Aug 2017 15:48:50 +0000 (15:48 +0000)]
os:kstore fix unittest for FiemapHole

kstore always return [0, object_size] regardless of offset and length

Signed-off-by: Ning Yao <yaoning@unitedstack.com>
(cherry picked from commit dddae89fa7956fdfca1c09910b4e5b42ecbd22cf)

7 years agoclient: skip lookupname if writing to unlinked file 17396/head
Dan van der Ster [Thu, 10 Aug 2017 09:33:46 +0000 (11:33 +0200)]
client: skip lookupname if writing to unlinked file

When a client writes to an unlinked file, get_quota_root tries to
resolve the filename via an MDS lookupname op. The op always results in
-13 permission denied for path-restricted caps or -2 no such file or
directory otherwise. More importantly, the repeated lookupname ops slow
down buffered writes significantly.

Don't do the lookupname for unlinked files; use the root_ancentor's
quota instead.

Fixes: http://tracker.ceph.com/issues/20945
Backport: jewel, luminous
Signed-off-by: Dan van der Ster <daniel.vanderster@cern.ch>
(cherry picked from commit 1d617eee2e8c32f7300cb2cb8dd37b3714a4699f)

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 agolibrbd: reacquire lock should update lock owner client id 17385/head
Jason Dillaman [Thu, 31 Aug 2017 00:59:20 +0000 (20:59 -0400)]
librbd: reacquire lock should update lock owner client id

(derived from commit 21ce5e16703776cbae20ac981dff4ec7cc2bc9c8)

Fixes: http://tracker.ceph.com/issues/19957
Signed-off-by: Jason Dillaman <dillaman@redhat.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 agorgw: add a field to store generic user data in the bucket index, 15966/head
Pavan Rallabhandi [Fri, 14 Apr 2017 16:12:45 +0000 (21:42 +0530)]
rgw: add a field to store generic user data in the bucket index,
that can be populated/fetched via a configurable custom http header

Signed-off-by: Pavan Rallabhandi <prallabhandi@walmartlabs.com>
(cherry picked from commit abca7a86c3cfbb58fafb5d057d9d6f5017a53704)

Conflicts:
src/rgw/rgw_op.cc
Number of arguments to RGWPutObjProcessor_Multipart::do_complete has been changed in master with an extra field accounted_size added, which is not required in Jewel.
         Number of arguments for the processor->complete() has been changed in master, which is not required in Jewel.

src/rgw/rgw_op.h
A new member field `crypt_http_responses` is added in the class `RGWPutObj` in master, which is not required in Jewel.

src/rgw/rgw_rados.cc
         In the function RGWPutObjProcessor::complete() there is an extra argument to do_complete() in master, which is not required in Jewel.
         In the function RGWPutObjProcessor_Atomic::do_complete, a call to obj_op.write_meta has accounted_size, which is not required in Jewel.
         There is an extra argument accounted_size in RGWRados::Bucket::UpdateIndex::complete in master, which is not required in Jewel.
         In RGWRados::Bucket::UpdateIndex::complete, RGWObjEnt has been removed in master, which has to be retained in Jewel.
         In RGWRados::cls_obj_complete_op, user_data is added to the rgw_bucket_dir_entry_meta structure.
         In RGWRados::cls_bucket_list, the user_data field of RGWObjEnt is populated.

src/rgw/rgw_rados.h
         In UpdateIndex::complete(), remove_objs is of type rgw_obj_key in Jewel instead of rgw_obj_index_key
         Corrected various function declarations as appropriate.
         RGWPutObjProcessor_Multipart is not part of this file in Jewel.

src/rgw/rgw_rest_swift.cc
In RGWListBucket_ObjStore_SWIFT::send_response(), accounted_size is not required in Jewel.

src/rgw/rgw_common.h
Add user_data field in RGWObjEnt structure.

src/rgw/rgw_json_enc.cc
Add user_data field while dumping RGWObjEnt.