]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agoceph_test_rados_api_tier: fix cleanup of whiteouts 2926/head
Sage Weil [Fri, 14 Nov 2014 06:33:10 +0000 (22:33 -0800)]
ceph_test_rados_api_tier: fix cleanup of whiteouts

Doing a normal DELETE on a whiteout returns ENOENT.  Use the IGNORE_CACHE
flag to make sure it removes the whiteout, too.

Fixes: #10052
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosd/ReplicatedPG: allow whiteout deletion with IGNORE_CACHE flag
Sage Weil [Fri, 14 Nov 2014 06:32:20 +0000 (22:32 -0800)]
osd/ReplicatedPG: allow whiteout deletion with IGNORE_CACHE flag

If the client specifies IGNORE_CACHE, allow a regular DELETE to zap a
whiteout.  Expand test case to verify this works.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agolibrados: Fix operator= null ptr references
David Zafman [Thu, 13 Nov 2014 01:43:24 +0000 (17:43 -0800)]
librados: Fix operator= null ptr references

Fixes: #10082
dzafman-2014-11-13_10:42:58-rgw-wip-10082-testing-basic-multi

Reviewed-by: Sage Weil <sage@redhat.com>
Signed-off-by: David Zafman <dzafman@redhat.com>
10 years agomds: don't overwrite reply's snapbl
Yan, Zheng [Thu, 13 Nov 2014 05:38:35 +0000 (13:38 +0800)]
mds: don't overwrite reply's snapbl

set_trace_dist() updates reply's snapbl, don't overwrite it. For MKSNAP
request, just need to set mdr->tracei, set_trace_dist() will set reply's
snapbl.

Reviewed-by: Sage Weil <sage@redhat.com>
Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agoMerge pull request #2920 from ceph/wip-10095
Samuel Just [Thu, 13 Nov 2014 19:08:23 +0000 (11:08 -0800)]
Merge pull request #2920 from ceph/wip-10095

crush: fix detach_bucket

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agocrush/CrushWrapper: fix detach_bucket 2920/head
Sage Weil [Thu, 13 Nov 2014 18:59:22 +0000 (10:59 -0800)]
crush/CrushWrapper: fix detach_bucket

In commit 9850227d2f0ca2f692a154de2c14a0a08e751f08 we changed the call that
changed the weight of all instances of item to one that explicitly
changes it in the parent bucket, but parent_id may not be valid at the
call site.  Move this into the conditional block to fix.

Fixes: #10095
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2906 from ceph/wip-9835
Sage Weil [Thu, 13 Nov 2014 18:35:04 +0000 (10:35 -0800)]
Merge pull request #2906 from ceph/wip-9835

osd: fix misdirected ec ops stuck in optracker (9835)

Reviewed-by: Samuel Just <sam.just@inktank.com>
10 years agoosd/OSD: use OSDMap helper to determine if we are correct op target 2906/head
Sage Weil [Thu, 13 Nov 2014 01:11:10 +0000 (17:11 -0800)]
osd/OSD: use OSDMap helper to determine if we are correct op target

Use the new helper.  This fixes our behavior for EC pools where targetting
a different shard is not correct, while for replicated pools it may be. In
the EC case, it leaves the op hanging indefinitely in the OpTracker because
the pgid exists but as a different shard.

Fixes: #9835
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosd/OSDMap: add osd_is_valid_op_target()
Sage Weil [Thu, 13 Nov 2014 01:04:35 +0000 (17:04 -0800)]
osd/OSDMap: add osd_is_valid_op_target()

Helper to check whether an osd is a given op target for a pg.  This
assumes that for EC we always send ops to the primary, while for
replicated we may target any replica.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2899 from jdurgin/wip-import-export-next
Jason Dillaman [Wed, 12 Nov 2014 14:26:45 +0000 (09:26 -0500)]
Merge pull request #2899 from jdurgin/wip-import-export-next

qa: allow small allocation diffs for exported rbds

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
10 years agoqa: allow small allocation diffs for exported rbds 2899/head
Josh Durgin [Wed, 12 Nov 2014 02:16:02 +0000 (18:16 -0800)]
qa: allow small allocation diffs for exported rbds

The local filesytem may behave slightly differently. This isn't
foolproof, but seems to be reliable enough on rhel7 rootfs, where
exact comparison was failing.

Fixes: #10002
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Wed, 12 Nov 2014 00:22:40 +0000 (16:22 -0800)]
Merge remote-tracking branch 'gh/next'

10 years agodoc/release-notes: v0.88
Sage Weil [Wed, 12 Nov 2014 00:15:08 +0000 (16:15 -0800)]
doc/release-notes: v0.88

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2897 from ceph/wip-da-revert-10b68b
Sage Weil [Tue, 11 Nov 2014 23:28:20 +0000 (15:28 -0800)]
Merge pull request #2897 from ceph/wip-da-revert-10b68b

Revert "osd: detect (some) misordered ondisk tmaps"

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoRevert "osd: detect (some) misordered ondisk tmaps" 2897/head
Danny Al-Gaaf [Tue, 11 Nov 2014 18:06:12 +0000 (19:06 +0100)]
Revert "osd: detect (some) misordered ondisk tmaps"

This reverts commit 10b68b2e1a1479c478843fab8232537675053c9b.

The check for 'nextkey < last_disk_key' makes not much sense since
last_disk_key is an empty string and not set before. Comparing a
decoded string to be less than an empty string will be never true.

Since this if() isn't part of a loop last_disk_key is only set
once and there is no other consumer: revert this dead code.

Conflicts:
src/osd/ReplicatedPG.cc

10 years ago0.88 v0.88
Jenkins [Tue, 11 Nov 2014 17:33:12 +0000 (09:33 -0800)]
0.88

10 years agoMerge pull request #2562 from ceph/wip-5595
Josh Durgin [Tue, 11 Nov 2014 17:18:43 +0000 (18:18 +0100)]
Merge pull request #2562 from ceph/wip-5595

Wip 5595

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agodoc/rados/configuration fix 'ods mkfs options' default
Sage Weil [Tue, 11 Nov 2014 15:52:39 +0000 (07:52 -0800)]
doc/rados/configuration fix 'ods mkfs options' default

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2466 from nereocystis/osd-filesystem-options
Sage Weil [Tue, 11 Nov 2014 15:50:44 +0000 (07:50 -0800)]
Merge pull request #2466 from nereocystis/osd-filesystem-options

doc: Add file system osd config settings

10 years agoMerge pull request #2883 from ceph/wip-da-SCA-20141028
Sage Weil [Tue, 11 Nov 2014 15:48:12 +0000 (07:48 -0800)]
Merge pull request #2883 from ceph/wip-da-SCA-20141028

Fixes for coverity and SCA issues

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2889 from xuechendi/move_buffers_to_BufferTransaction
Sage Weil [Tue, 11 Nov 2014 15:11:55 +0000 (07:11 -0800)]
Merge pull request #2889 from xuechendi/move_buffers_to_BufferTransaction

KeyValueStore: move buffers from strip_header to BufferTransaction

Reviewed-by: Haomai Wang <haomaiwang@gmail.com>
10 years agoMerge pull request #2739 from majianpeng/fix2
Sage Weil [Tue, 11 Nov 2014 15:09:55 +0000 (07:09 -0800)]
Merge pull request #2739 from majianpeng/fix2

buffer: Judge bufferlist whether need  rebuild

Reviewed-by: Haomai Wang <haomaiwang@gmail.com>
Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2894 from ceph/wip-scrub-coverity
Yan, Zheng [Tue, 11 Nov 2014 14:52:52 +0000 (22:52 +0800)]
Merge pull request #2894 from ceph/wip-scrub-coverity

Wip scrub coverity

10 years agoAuthSessionHandler.h: init protocol in constructor 2883/head
Danny Al-Gaaf [Fri, 7 Nov 2014 20:44:29 +0000 (21:44 +0100)]
AuthSessionHandler.h: init protocol in constructor

Init protocol in AuthSessionHandler constructor with
with CEPH_AUTH_UNKNOWN.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
10 years agosrc/librbd/librbd.cc: fix potential null pointer deref
Danny Al-Gaaf [Fri, 7 Nov 2014 15:52:04 +0000 (16:52 +0100)]
src/librbd/librbd.cc: fix potential null pointer deref

Fix potential deref after null check. Move check for max_snaps in
rbd_snap_list up to fail early before call any functions.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
10 years agoosd/ReplicatedPG.cc: remove redundant check
Danny Al-Gaaf [Thu, 30 Oct 2014 04:16:34 +0000 (05:16 +0100)]
osd/ReplicatedPG.cc: remove redundant check

Fix for:

[src/osd/ReplicatedPG.cc:2171]: (style) Redundant checking of STL
 container element existence before removing it.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
10 years agotest/librados/c_read_operations.cc: fix invalid checks
Danny Al-Gaaf [Thu, 30 Oct 2014 02:57:16 +0000 (03:57 +0100)]
test/librados/c_read_operations.cc: fix invalid checks

Wrong variable for return of rados_getxattrs_next() and
rados_omap_get_next() used (len vs. val_len).

Fix for:

CID 1219464 (#1 of 1): Logically dead code (DEADCODE)
 dead_error_line: Execution cannot reach this expression
 key == NULL inside statement if (len == 0UL && key == NU...

CID 1219465 (#1 of 1): Logically dead code (DEADCODE)
 dead_error_line: Execution cannot reach this expression
 key == NULL inside statement if (len == 0UL && key == NU...

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
10 years agorgw_rados.cc: remove dead code
Danny Al-Gaaf [Thu, 30 Oct 2014 02:44:30 +0000 (03:44 +0100)]
rgw_rados.cc: remove dead code

Fix for:

CID 1128391 (#1 of 1): Logically dead code (DEADCODE)
 dead_error_line: Execution cannot reach this statement goto done_err;

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
10 years agorados_sync.cc: fix xattr_diff() for the only_in_b checks
Danny Al-Gaaf [Thu, 30 Oct 2014 02:14:41 +0000 (03:14 +0100)]
rados_sync.cc: fix xattr_diff() for the only_in_b checks

In the checks to build only_in_b up the wrong const_iterator x is
build up. it should compare rhs->xattrs with xattrs entries and
not twice rhs->xattrs.

Fix for:

CID 716957 (#1 of 1): Invalid iterator comparison (MISMATCHED_ITERATOR)
 mismatched_comparison: Comparing x from rhs->xattrs to this->xattrs.end()
 from this->xattrs.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
10 years agobench_log.cc: catch ceph::FailedAssertion exception
Danny Al-Gaaf [Tue, 28 Oct 2014 19:06:25 +0000 (20:06 +0100)]
bench_log.cc: catch ceph::FailedAssertion exception

Fix for:

CID 717177 (#2-1 of 3): Uncaught exception (UNCAUGHT_EXCEPT)
 root_function: In function main(int, char const **) an exception of
 type ceph::FailedAssertion is thrown and never caught.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
10 years agoosd/PGLog.cc: prefer empty() over size() for emptiness check
Danny Al-Gaaf [Tue, 28 Oct 2014 19:05:19 +0000 (20:05 +0100)]
osd/PGLog.cc: prefer empty() over size() for emptiness check

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
10 years agoMerge pull request #2873 from ceph/wip-rbd-test-fixtures
Josh Durgin [Tue, 11 Nov 2014 06:42:39 +0000 (07:42 +0100)]
Merge pull request #2873 from ceph/wip-rbd-test-fixtures

librbd: Refactor librbd unit tests to use test fixtures

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agobufferlist: Don't call rebuild(), c_strt() call it if bufferlist not contiguous. 2739/head
Jianpeng Ma [Tue, 21 Oct 2014 06:30:17 +0000 (14:30 +0800)]
bufferlist: Don't call rebuild(), c_strt() call it if bufferlist not contiguous.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
10 years agoMerge pull request #2893 from ceph/wip-10045
Sage Weil [Tue, 11 Nov 2014 02:11:18 +0000 (18:11 -0800)]
Merge pull request #2893 from ceph/wip-10045

common/Readahead: use correct lock when waiting on the pending ops

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2878 from ceph/wip-10025
Gregory Farnum [Tue, 11 Nov 2014 01:20:48 +0000 (17:20 -0800)]
Merge pull request #2878 from ceph/wip-10025

#10025 Fix 'journal import' (aka undump)

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agocommon/Readahead: use correct lock when waiting on the pending ops 2893/head
Jason Dillaman [Mon, 10 Nov 2014 21:08:05 +0000 (16:08 -0500)]
common/Readahead: use correct lock when waiting on the pending ops

Readahead was using the incorrect lock with the pending condition,
resulting in a failed assertion.  It now uses the lock associated
with pending ops.

Fixes: #10045
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
10 years agomds: remove dead code from inode_t::compare() 2894/head
Greg Farnum [Tue, 11 Nov 2014 00:52:48 +0000 (16:52 -0800)]
mds: remove dead code from inode_t::compare()

CID 1251354

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
10 years agomds: CInode: catch exception by reference, not value
Greg Farnum [Tue, 11 Nov 2014 00:47:35 +0000 (16:47 -0800)]
mds: CInode: catch exception by reference, not value

CID 1251353

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
10 years agoMerge pull request #2380 from osynge/wip-suse-systemd-integration
Sage Weil [Tue, 11 Nov 2014 00:44:26 +0000 (16:44 -0800)]
Merge pull request #2380 from osynge/wip-suse-systemd-integration

systemd support in ceph-disk activate

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2446 from xylv/wip-9359
Yehuda Sadeh [Tue, 11 Nov 2014 00:35:02 +0000 (16:35 -0800)]
Merge pull request #2446 from xylv/wip-9359

rgw: Export user stats in get-user-info Adminops API

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #2725 from CzBiX/rgw-modified-since
Yehuda Sadeh [Tue, 11 Nov 2014 00:29:21 +0000 (16:29 -0800)]
Merge pull request #2725 from CzBiX/rgw-modified-since

rgw: correct "If-Modified-Since" handle.

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #2782 from boydc2014/master
Sage Weil [Tue, 11 Nov 2014 00:21:08 +0000 (16:21 -0800)]
Merge pull request #2782 from boydc2014/master

rgw: fix can not disable max_size quota

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #2624 from ceph/wip-8911
Sage Weil [Tue, 11 Nov 2014 00:14:10 +0000 (16:14 -0800)]
Merge pull request #2624 from ceph/wip-8911

rgw: swift GET / HEAD object returns X-Timestamp field

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2851 from ceph/wip-9986
Samuel Just [Mon, 10 Nov 2014 23:00:26 +0000 (15:00 -0800)]
Merge pull request #2851 from ceph/wip-9986

objecter: fix map skipping

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2667 from yuandong1222/avoid-unused-pg_to_acting_osds-call
Samuel Just [Mon, 10 Nov 2014 22:58:56 +0000 (14:58 -0800)]
Merge pull request #2667 from yuandong1222/avoid-unused-pg_to_acting_osds-call

Avoid unused pg_to_acting_osds call in OSDMap::get_primary_shard

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #2474 from dachary/wip-9420-erasure-code-non-regression
Samuel Just [Mon, 10 Nov 2014 22:57:42 +0000 (14:57 -0800)]
Merge pull request #2474 from dachary/wip-9420-erasure-code-non-regression

erasure-code: store and compare encoded contents

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #2456 from ceph/wip-9031-9262
Samuel Just [Mon, 10 Nov 2014 22:56:30 +0000 (14:56 -0800)]
Merge pull request #2456 from ceph/wip-9031-9262

Wip 9031 9262

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Loic Dachary <loic-201408@dachary.org>
10 years agoMerge pull request #2553 from ceph/wip-aio-journal
Samuel Just [Mon, 10 Nov 2014 22:55:04 +0000 (14:55 -0800)]
Merge pull request #2553 from ceph/wip-aio-journal

osd: clean up journal aio+dio header issue

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #2745 from ceph/wip-6756
Samuel Just [Mon, 10 Nov 2014 22:53:56 +0000 (14:53 -0800)]
Merge pull request #2745 from ceph/wip-6756

JounralingObjectStore: journal->committed_thru after replay

10 years agoMerge pull request #2773 from ceph/wip-9852
Samuel Just [Mon, 10 Nov 2014 22:52:10 +0000 (14:52 -0800)]
Merge pull request #2773 from ceph/wip-9852

mon: MDSMonitor: proper error output if pool DNE on 'add_data_pool'

Reviewed-by: Joao Eduardo Luis <joao@redhat.com>
10 years agoMerge pull request #2822 from ceph/wip-9887
Samuel Just [Mon, 10 Nov 2014 22:51:15 +0000 (14:51 -0800)]
Merge pull request #2822 from ceph/wip-9887

Wip 9887

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #2850 from ceph/wip-9987
Samuel Just [Mon, 10 Nov 2014 22:49:51 +0000 (14:49 -0800)]
Merge pull request #2850 from ceph/wip-9987

mon: fix min_last_epoch_started tracking

Reviewed-by: Joao Eduardo Luis <joao@redhat.com>
10 years agoMerge pull request #2862 from ceph/wip-log-client
Samuel Just [Mon, 10 Nov 2014 22:47:15 +0000 (14:47 -0800)]
Merge pull request #2862 from ceph/wip-log-client

osd, mds: fix cluster log

Reviewed-by: Joao Eduardo Luis <joao@redhat.com>
10 years agoqa/workunits/cephtool/test.sh: ceph, not ./ceph
Sage Weil [Mon, 10 Nov 2014 22:12:11 +0000 (14:12 -0800)]
qa/workunits/cephtool/test.sh: ceph, not ./ceph

Fixes: #10053
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoqa/workunits/fs/misc: combine sudo and echo effectively
Greg Farnum [Fri, 7 Nov 2014 01:59:22 +0000 (17:59 -0800)]
qa/workunits/fs/misc: combine sudo and echo effectively

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
(cherry picked from commit abc995b6b4e0117b74c301abcb4faf4ea2ebef25)

10 years agoMerge pull request #2689 from zhurongze/fix-crush
Sage Weil [Mon, 10 Nov 2014 17:02:28 +0000 (09:02 -0800)]
Merge pull request #2689 from zhurongze/fix-crush

crush: fix incorrect use of adjust_item_weight method

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #2881 from ceph/wip-10030
Sage Weil [Mon, 10 Nov 2014 16:41:58 +0000 (08:41 -0800)]
Merge pull request #2881 from ceph/wip-10030

librbd: don't close an already closed parent image upon failure

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agocrush: fix incorrect use of adjust_item_weight method 2689/head
Rongze Zhu [Fri, 10 Oct 2014 11:18:00 +0000 (19:18 +0800)]
crush: fix incorrect use of adjust_item_weight method

adjust_item_weight method will adjust all buckets which the item
inside. If the osd.0 in host=fake01 and host=fake02, we execute
"ceph osd crush osd.0 10 host=fake01", it not only will adjust fake01's
weight, but also will adjust fake02's weight.

the patch add adjust_item_weightf_in_loc method and fix remove_item,
_remove_item_under, update_item, insert_item, detach_bucket methods.

Signed-off-by: Rongze Zhu <zrzhit@gmail.com>
10 years agoerasure-code: erasure_code_benchmark exhaustive erasure exploration 2474/head
Loic Dachary [Thu, 25 Sep 2014 12:46:07 +0000 (14:46 +0200)]
erasure-code: erasure_code_benchmark exhaustive erasure exploration

Add the --erasure-generation exhaustive flag to try all combinations of
erasures, not just one at random.

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agoerasure-code: add erasure_code_benchmark --verbose
Loic Dachary [Mon, 29 Sep 2014 09:17:13 +0000 (11:17 +0200)]
erasure-code: add erasure_code_benchmark --verbose

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agoerasure_code: implement ceph_erasure_code to assert the existence of a plugin
Loic Dachary [Tue, 23 Sep 2014 12:37:57 +0000 (14:37 +0200)]
erasure_code: implement ceph_erasure_code to assert the existence of a plugin

This is handy when scripting in the context of teuthology and only
conditionally run tests for the isa plugin, for instance.

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agoerasure-code: ceph_erasure_code does not need to avoid dlclose
Loic Dachary [Tue, 23 Sep 2014 12:36:08 +0000 (14:36 +0200)]
erasure-code: ceph_erasure_code does not need to avoid dlclose

The only reason for not dlclosing plugins at exit is for callgrind but
ceph_erasure_code has no workload that would require callgrind.

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agoerasure-code: add corpus verification to make check
Loic Dachary [Tue, 23 Sep 2014 09:38:09 +0000 (11:38 +0200)]
erasure-code: add corpus verification to make check

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agoerasure-code: Makefile.am cosmetics
Loic Dachary [Sat, 13 Sep 2014 10:58:27 +0000 (12:58 +0200)]
erasure-code: Makefile.am cosmetics

Cluster benchmark related lines together.

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agoerasure-code: s/alignement/alignment/ typos in jerasure
Loic Dachary [Sat, 13 Sep 2014 10:55:26 +0000 (12:55 +0200)]
erasure-code: s/alignement/alignment/ typos in jerasure

The jerasure-per-chunk-alignment prameter was mispelled and while
useable that would lead to confusion.

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agoerasure-code: workunit to check for encoding regression
Loic Dachary [Sat, 13 Sep 2014 11:36:09 +0000 (13:36 +0200)]
erasure-code: workunit to check for encoding regression

Clone the archive of encoded objects and decode all archived objects, up
to and including the current ceph version.

http://tracker.ceph.com/issues/9420 Refs: #9420

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agoerasure-code: store and compare encoded contents
Loic Dachary [Sat, 13 Sep 2014 08:16:31 +0000 (10:16 +0200)]
erasure-code: store and compare encoded contents

Introduce ceph_erasure_code_non_regression to check and compare how an
erasure code plugin encodes and decodes content with a given set of
parameters. For instance:

./ceph_erasure_code_non_regression \
      --plugin jerasure \
      --parameter technique=reed_sol_van \
      --parameter k=2 \
      --parameter m=2 \
      --stripe-width 3181 \
      --create \
      --check

Will create an encoded object (--create) and store it into a directory
along with the chunks, one chunk per file. The directory name is derived
from the parameters. The content of the object is a random pattern of 31
bytes repeated to fill the object size specified with --stripe-width.

The check function (--check) reads the object back from the file,
encodes it and compares the result with the content of the chunks read
from the files. It also attempts recover from one or two erasures.

Chunks encoded by a given version of Ceph are expected to be encoded
exactly in the same way by all Ceph versions going forward.

http://tracker.ceph.com/issues/9420 Refs: #9420

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agoMerge pull request #2888 from dachary/wip-9970-erasure-code-documentation
Loic Dachary [Mon, 10 Nov 2014 13:51:15 +0000 (14:51 +0100)]
Merge pull request #2888 from dachary/wip-9970-erasure-code-documentation

erasure-code: document pool operations

Reviewed-by: Laurent Guerby <laurent@guerby.net>
10 years agoerasure-code: document pool operations 2888/head
Loic Dachary [Sun, 9 Nov 2014 02:23:06 +0000 (03:23 +0100)]
erasure-code: document pool operations

A short introduction to the first time user of an erasure coded pool.
It includes a reminder of how it relates to cache tiering and links to
define new profiles with an example.

There was examples in the developer documentation but the operator
expects to find such a guide in the rados operations chapter.

http://tracker.ceph.com/issues/9970 Fixes: #9970

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #2750 from dachary/wip-9815-make-check-parallel
Loic Dachary [Mon, 10 Nov 2014 10:58:27 +0000 (11:58 +0100)]
Merge pull request #2750 from dachary/wip-9815-make-check-parallel

parallelize make check

Reviewed-by: Joao Eduardo Luis <joao@redhat.com>
10 years agoKeyValueStore: move buffers from strip_header to BufferTransaction 2889/head
Chendi.Xue [Sun, 9 Nov 2014 07:43:14 +0000 (15:43 +0800)]
KeyValueStore: move buffers from strip_header to BufferTransaction

Signed-off-by: Chendi.Xue <chendi.xue@intel.com>
10 years agotests: use kill -0 to check process existence 2750/head
Loic Dachary [Wed, 22 Oct 2014 03:05:45 +0000 (20:05 -0700)]
tests: use kill -0 to check process existence

When killing a daemon, instead of using kill -9 to check the process was
terminated, use kill -0. Should the pid of the process be reused
immediately after, it would be wrong to kill the new process. Worst case
scenario the kill_daemon function returns before the process is
confirmed to be killed but this is not treated as an error and is
unlikely to cause any problem.

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agotests: looping to wait for an osd to be up is expected
Loic Dachary [Sun, 19 Oct 2014 15:59:17 +0000 (08:59 -0700)]
tests: looping to wait for an osd to be up is expected

Remove the reference to a bug that suggests otherwise.

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agotests: increase timeout to accommodate slow machines
Loic Dachary [Sun, 19 Oct 2014 04:16:44 +0000 (21:16 -0700)]
tests: increase timeout to accommodate slow machines

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agotests: kill_daemon use $name.pid instead of pidfile
Loic Dachary [Sun, 19 Oct 2014 00:15:41 +0000 (17:15 -0700)]
tests: kill_daemon use $name.pid instead of pidfile

So that it can be used instead of stop.sh to stop vstart.sh daemons. The
problem with stop.sh is that it kills any daemon, not just a selection.

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agotests: group workunits/cephtool/test.sh tests per daemon
Loic Dachary [Sat, 18 Oct 2014 22:51:41 +0000 (15:51 -0700)]
tests: group workunits/cephtool/test.sh tests per daemon

So all tests related to a given daemon (mon, osd, mds) can be run at
once.

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agotests: run workunits/cephtool/test.sh
Loic Dachary [Sat, 18 Oct 2014 22:43:51 +0000 (15:43 -0700)]
tests: run workunits/cephtool/test.sh

Three scripts are added to run qa/workunits/cephtool/test.sh for each
daemon (mon, mds, osd) so they can be run in parallel.

http://tracker.ceph.com/issues/9815 Fixes: #9815

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agotests: remove vstart_wrapped_tests.sh
Loic Dachary [Sat, 18 Oct 2014 22:41:40 +0000 (15:41 -0700)]
tests: remove vstart_wrapped_tests.sh

Listing tests to be run in a single script does not take advantage of
parallel runs in make.

The vstart_wrapper.sh script is reworked and made less specialized and
let the caller decide which daemons to run via CEPH_START and does not
enforce the number of deamons of each time. It no longer uses stop.sh to
avoid killing the osd/mon/mds that are unrelated to the tests.

http://tracker.ceph.com/issues/9815 Fixes: #9815

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agotests: use different ports for each mon
Loic Dachary [Sat, 18 Oct 2014 20:15:41 +0000 (13:15 -0700)]
tests: use different ports for each mon

Run the mon on each test on a different port so they can run in
parallel.

http://tracker.ceph.com/issues/9815 Fixes: #9815

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agotests: tolerate a disk 99% full
Loic Dachary [Sat, 18 Oct 2014 20:10:14 +0000 (13:10 -0700)]
tests: tolerate a disk 99% full

The tests do not need much space and will work fine even on a 99% full
disk.

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
10 years agoMerge pull request #2869 from fgimenez/fix-tests-on-btrfs
Sage Weil [Sun, 9 Nov 2014 05:05:40 +0000 (21:05 -0800)]
Merge pull request #2869 from fgimenez/fix-tests-on-btrfs

Fix tests on btrfs: leftover subvolumes removed

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
10 years agoMerge pull request #2860 from XinzeChi/master
Loic Dachary [Sat, 8 Nov 2014 15:03:45 +0000 (16:03 +0100)]
Merge pull request #2860 from XinzeChi/master

osd: cache pool: delete dead code in ReplicatedPG::agent_choose_mode

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agotest: use unsigned ints to compare against size()
Greg Farnum [Sat, 8 Nov 2014 00:20:57 +0000 (16:20 -0800)]
test: use unsigned ints to compare against size()

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
10 years agoMerge pull request #2814 from ceph/wip-inode-scrub
Gregory Farnum [Sat, 8 Nov 2014 00:16:02 +0000 (16:16 -0800)]
Merge pull request #2814 from ceph/wip-inode-scrub

Wip inode scrub

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: John Spray <john.spray@redhat.com>
10 years agoMerge pull request #2884 from dachary/wip-mailmap
Loic Dachary [Fri, 7 Nov 2014 22:56:15 +0000 (23:56 +0100)]
Merge pull request #2884 from dachary/wip-mailmap

mailmap: Loic Dachary affiliation

10 years agomailmap: Loic Dachary affiliation 2884/head
Loic Dachary [Fri, 7 Nov 2014 22:54:07 +0000 (23:54 +0100)]
mailmap: Loic Dachary affiliation

Signed-off-by: Loic Dachary <ldachary@redhat.com>
10 years agotools: error handling on journal import/export 2878/head
John Spray [Fri, 7 Nov 2014 14:20:04 +0000 (14:20 +0000)]
tools: error handling on journal import/export

Actually propagate nonzero returns codes!  Also
add checks on return values of I/O functions so
that someone doesn't think they've successfully
exported a journal if they haven't, and some
validation of the header pointers during import
so that people find out with a nice error
instead of an assertion if something is up.

Signed-off-by: John Spray <john.spray@redhat.com>
Fix compile issue in the position value cout.

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
10 years agoMerge pull request #2882 from ceph/wip-doc-dumpling-to-firefly
tmuthamizhan [Fri, 7 Nov 2014 22:09:02 +0000 (14:09 -0800)]
Merge pull request #2882 from ceph/wip-doc-dumpling-to-firefly

doc: Added Dumpling to Firefly upgrade section.

10 years agodoc: Added Dumpling to Firefly upgrade section. 2882/head
John Wilkins [Fri, 7 Nov 2014 21:16:45 +0000 (13:16 -0800)]
doc: Added Dumpling to Firefly upgrade section.

Fixes: #7679
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
10 years agoMerge remote-tracking branch 'origin/master' into wip-inode-scrub 2814/head
Greg Farnum [Fri, 7 Nov 2014 21:15:58 +0000 (13:15 -0800)]
Merge remote-tracking branch 'origin/master' into wip-inode-scrub

Conflicts:
src/common/Makefile.am
src/mds/Server.cc

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
10 years agoMDS: clean up internal MDRequests the standard way
Greg Farnum [Thu, 6 Nov 2014 19:10:29 +0000 (11:10 -0800)]
MDS: clean up internal MDRequests the standard way

All cleanup is now routed through respond_to_request(),
which invokes the internal_op_finish Context*, then does
mdcache->request_finish(). This is easier to reason about,
and indeed fixes a bug (I was not cleaning up locks
following flush). Use the MDSContinuation to facilitate
this in scrub's case.

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
10 years agoMDS: CInode: break out of validation early on symlinks
Greg Farnum [Fri, 24 Oct 2014 23:38:24 +0000 (16:38 -0700)]
MDS: CInode: break out of validation early on symlinks

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
10 years agocommon/ceph_strings: add some MDS internal op names to ceph_mds_op_name()
Greg Farnum [Thu, 2 Oct 2014 22:21:31 +0000 (15:21 -0700)]
common/ceph_strings: add some MDS internal op names to ceph_mds_op_name()

In addition to my validate and flush, this is also missing exportdir.

Signed-off-by: Greg Farnum <greg@inktank.com>
10 years agoMDS: add a flush_dentry() function, and wire it up to the admin socket
Greg Farnum [Tue, 9 Sep 2014 21:55:42 +0000 (14:55 -0700)]
MDS: add a flush_dentry() function, and wire it up to the admin socket

Signed-off-by: Greg Farnum <greg@inktank.com>
10 years agoMDS: CInode: create a flush() function
Greg Farnum [Fri, 11 Jul 2014 21:20:05 +0000 (14:20 -0700)]
MDS: CInode: create a flush() function

Signed-off-by: Greg Farnum <greg@inktank.com>
10 years agoMDCache: handle internal ops in respond_to_request()
Greg Farnum [Fri, 29 Aug 2014 06:25:42 +0000 (23:25 -0700)]
MDCache: handle internal ops in respond_to_request()

This only works for those which have specified a finisher in the MDR.

Signed-off-by: Greg Farnum <greg@inktank.com>
10 years agoMDCache: make scrub_dentry schedulable and reentrant
Greg Farnum [Fri, 29 Aug 2014 06:03:59 +0000 (23:03 -0700)]
MDCache: make scrub_dentry schedulable and reentrant

Rather than assuming that any necessary inodes are in the cache, split up
MDCache::scrub_dentry into setup and work phases. Add an internal_op_finisher()
to MDRequest. Dispatch any CEPH_MDS_OP_VALIDATE internal operations to
scrub_dentry_work(). Taken together, these make everything work properly when
path_traverse() (by way of rdlock_path_pin_ref()) needs to go to disk before
satisfying the lookup.

Signed-off-by: Greg Farnum <greg@inktank.com>
10 years agoMDCache: "handle" request_forward on internal ops
Greg Farnum [Wed, 27 Aug 2014 21:11:26 +0000 (14:11 -0700)]
MDCache: "handle" request_forward on internal ops

For now, just return -EXDEV ("Cross-device link") on internal ops that
require forwarding, as forwarding internal ops will require a great deal more
infrastructure.. But push the issue down to this level instead of worrying
about it in path_traverse, and consider the possibility that the MDRequest
might not have a client_request that it's wrapped around.

Signed-off-by: Greg Farnum <greg@inktank.com>
10 years agoServer: rename reply_request() -> respond_to_request()
Greg Farnum [Thu, 21 Aug 2014 23:25:17 +0000 (16:25 -0700)]
Server: rename reply_request() -> respond_to_request()

This is no longer necessarily a reply; it could turn into a Context
activation or something.

Signed-off-by: Greg Farnum <greg@inktank.com>
10 years agoServer: rename reply_request -> reply_client_request; make it private
Greg Farnum [Thu, 21 Aug 2014 03:12:00 +0000 (20:12 -0700)]
Server: rename reply_request -> reply_client_request; make it private

The generic reply_request(MDRequest, int) is now the only caller. It's still
just building an MClientRequest to pass along, but we can change it a lot more
easily now to support responding to non-client requests.

Signed-off-by: Greg Farnum <greg@inktank.com>