]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
11 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Sat, 28 Sep 2013 04:10:50 +0000 (21:10 -0700)]
Merge remote-tracking branch 'gh/next'

Conflicts:
src/common/crc32c_intel_fast.c

11 years agoMerge pull request #658 from dmick/next
Sage Weil [Sat, 28 Sep 2013 04:09:43 +0000 (21:09 -0700)]
Merge pull request #658 from dmick/next

ceph.in: fix missing exception variable in failure to open -o file

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoceph.in: fix missing exception variable in failure to open -o file 658/head
Dan Mick [Sat, 28 Sep 2013 00:07:26 +0000 (17:07 -0700)]
ceph.in: fix missing exception variable in failure to open -o file

Fixes: #6424
Signed-off-by: Dan Mick <dan.mick@inktank.com>
11 years agoMerge pull request #657 from ceph/wip-6397
Josh Durgin [Sat, 28 Sep 2013 00:06:04 +0000 (17:06 -0700)]
Merge pull request #657 from ceph/wip-6397

Wip 6397

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agorgw: don't append NULL char before json parsing 657/head
Yehuda Sadeh [Fri, 27 Sep 2013 23:45:11 +0000 (16:45 -0700)]
rgw: don't append NULL char before json parsing

Parser handles that by itself.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoceph_json: use different string constructor for parser buffer
Yehuda Sadeh [Wed, 25 Sep 2013 20:04:48 +0000 (13:04 -0700)]
ceph_json: use different string constructor for parser buffer

Fixes: #6397
Previous implementation did not user the constructor with the length
param.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoMerge pull request #643 from dachary/master
Sage Weil [Fri, 27 Sep 2013 21:31:17 +0000 (14:31 -0700)]
Merge pull request #643 from dachary/master

autoconf: fix build out of tree

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agodoc: changed journal aio default to true.
John Wilkins [Fri, 27 Sep 2013 20:59:13 +0000 (13:59 -0700)]
doc: changed journal aio default to true.

fixes: #6389

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
11 years agoqa: workunits: mon: test snaps ops using rbd.
Joao Eduardo Luis [Wed, 28 Aug 2013 22:25:21 +0000 (23:25 +0100)]
qa: workunits: mon: test snaps ops using rbd.

Regression test for #6047

Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
(cherry picked from commit b2b0f202ea8a0028e7e27664b3ea6b9b8cdafe6e)

11 years agoMerge pull request #654 from ceph/wip-testrados
Sage Weil [Fri, 27 Sep 2013 20:40:45 +0000 (13:40 -0700)]
Merge pull request #654 from ceph/wip-testrados

fix some issues with ceph_test_rados

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoceph_test_rados: remove useless snapc setup 654/head
Sage Weil [Fri, 27 Sep 2013 18:23:38 +0000 (11:23 -0700)]
ceph_test_rados: remove useless snapc setup

We update this on snap create and delete; no need to do it any other
time.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoceph_test_rados: update for copy_from in begin, not finish
Sage Weil [Fri, 27 Sep 2013 17:57:46 +0000 (10:57 -0700)]
ceph_test_rados: update for copy_from in begin, not finish

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agocommon/crc32c_intel_fast: avoid reading partial trailing word
Sage Weil [Thu, 5 Sep 2013 04:29:11 +0000 (21:29 -0700)]
common/crc32c_intel_fast: avoid reading partial trailing word

The optimized intel code reads in word-sized chunks, knowing that the
allocator will only hand out memory in word-sized increments.   This makes
valgrind unhappy.  Whitelisting doesn't work because for some reason there
is no caller context (probably because of some interaction with yasm?).

Instead, just use the baseline code for the last few bytes.  This should
not be significant.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
(cherry picked from commit 39c89dcfed0587f822e2226f2de8e4092449af29)

Conflicts:
src/test/common/test_crc32c.cc

11 years agoMerge pull request #650 from dachary/wip-6425-2
Loic Dachary [Fri, 27 Sep 2013 10:58:23 +0000 (03:58 -0700)]
Merge pull request #650 from dachary/wip-6425-2

pybind: update osd blacklist tests for nonce

11 years agopybind: update osd blacklist tests for nonce 650/head
Loic Dachary [Fri, 27 Sep 2013 09:04:08 +0000 (11:04 +0200)]
pybind: update osd blacklist tests for nonce

Update the unit tests to reflect a) that the nonce is no longer mandatory,
b) that it must be an integer.

http://tracker.ceph.com/issues/6426 refs #6426

Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agotest/common/get_command_descriptions: null terminate c string
Sage Weil [Fri, 27 Sep 2013 01:30:06 +0000 (18:30 -0700)]
test/common/get_command_descriptions: null terminate c string

This fixes a bunch of trailing goop I see on my machine.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Fri, 27 Sep 2013 01:24:40 +0000 (18:24 -0700)]
Merge remote-tracking branch 'gh/next'

Conflicts:
src/pybind/ceph_argparse.py

11 years agoMerge pull request #648 from dmick/wip-6425
Sage Weil [Fri, 27 Sep 2013 01:21:04 +0000 (18:21 -0700)]
Merge pull request #648 from dmick/wip-6425

ceph_argparse.py, cephtool/test.sh: fix blacklist with no nonce

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoceph_test_rados: improve debug output
Sage Weil [Thu, 26 Sep 2013 22:52:16 +0000 (15:52 -0700)]
ceph_test_rados: improve debug output

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoceph_test_rados: fix update_object_full
Sage Weil [Fri, 27 Sep 2013 01:14:46 +0000 (18:14 -0700)]
ceph_test_rados: fix update_object_full

Update at current snap, not the last snap we did an update.

Broken this this was introduced in 996af2d8fd8e60bcdce8e9408249b974521de24e

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoceph_argparse.py, cephtool/test.sh: fix blacklist with no nonce 648/head
Dan Mick [Fri, 27 Sep 2013 01:00:31 +0000 (18:00 -0700)]
ceph_argparse.py, cephtool/test.sh: fix blacklist with no nonce

It's legal to give a CephEntityAddr to osd blacklist with no nonce,
so allow it in the valid() method; also add validation of any nonce
given that it's a long >= 0.

Also fix comment on CephEntityAddr type description in MonCommands.h,
and add tests for invalid nonces (while fixing the existing tests to remove
the () around expect_false args).

Fixes: #6425
Signed-off-by: Dan Mick <dan.mick@inktank.com>
11 years agoMerge pull request #646 from liewegas/wip-6385
Josh Durgin [Thu, 26 Sep 2013 23:23:42 +0000 (16:23 -0700)]
Merge pull request #646 from liewegas/wip-6385

qa/run_xfstests.sh: use old xfstests until we adapt to new org

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoMerge pull request #647 from ceph/wip-ceph-cli-env
Josh Durgin [Thu, 26 Sep 2013 23:17:33 +0000 (16:17 -0700)]
Merge pull request #647 from ceph/wip-ceph-cli-env

improve ceph clie CEPH_ARGS handling

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
11 years agoRevert "ceph: parse CEPH_ARGS environment variable" 647/head
Sage Weil [Mon, 23 Sep 2013 16:04:34 +0000 (09:04 -0700)]
Revert "ceph: parse CEPH_ARGS environment variable"

This reverts commit 67a95b9880c9bc6e858150352318d68d64ed74ad.

We now put CEPH_ARGS in the actual args we parse in python, which are passed
to rados piecemeal later.  This lets you put things like --id ... in there
that need to be parsed before librados is initialized.

11 years agoAdd CEPH_ARGS at the end of sys.argv
Benoît Knecht [Mon, 23 Sep 2013 13:58:42 +0000 (15:58 +0200)]
Add CEPH_ARGS at the end of sys.argv

This allows, for instance, to pass a different client name to ceph by
exporting CEPH_ARGS="--id client_id".

Signed-off-by: Benoît Knecht <benoit.knecht@fsfe.org>
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoqa/run_xfstests.sh: use old xfstests until we adapt to new org 646/head
Sage Weil [Thu, 26 Sep 2013 22:02:18 +0000 (15:02 -0700)]
qa/run_xfstests.sh: use old xfstests until we adapt to new org

Tests were rearranged upstream; use an old version for the time being
until we can refactor run_xfstests.sh to cope.  See #6385

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #645 from liewegas/wip-6346
Gregory Farnum [Thu, 26 Sep 2013 20:12:37 +0000 (13:12 -0700)]
Merge pull request #645 from liewegas/wip-6346

Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoMerge pull request #631 from ceph/wip-5857-8
athanatos [Thu, 26 Sep 2013 19:01:19 +0000 (12:01 -0700)]
Merge pull request #631 from ceph/wip-5857-8

Wip 5857 8

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #546 from ceph/wip-5862
athanatos [Thu, 26 Sep 2013 19:00:22 +0000 (12:00 -0700)]
Merge pull request #546 from ceph/wip-5862

Wip 5862

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoos: Make write_version_stamp() private 546/head
David Zafman [Tue, 24 Sep 2013 21:42:36 +0000 (14:42 -0700)]
os: Make write_version_stamp() private

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoosd: Remove code for reading ancient unsupported logs
David Zafman [Tue, 24 Sep 2013 01:40:27 +0000 (18:40 -0700)]
osd: Remove code for reading ancient unsupported logs

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoos/ObjectStore: Interim collection_list* functions in ObjectStore
David Zafman [Mon, 23 Sep 2013 20:02:16 +0000 (13:02 -0700)]
os/ObjectStore: Interim collection_list* functions in ObjectStore

Handle ghobject_t to hobject_t conv of collection_list* funcs
Temporary code so that this branch doesn't break master

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoosd: Cleanup init()/read_superblock()
David Zafman [Wed, 18 Sep 2013 01:14:16 +0000 (18:14 -0700)]
osd: Cleanup init()/read_superblock()

Fix error handling in init()
Cleanup read_superblock() by moving unrelated code into init()
Move init() feature upgrade right after compatibility checking
Remove redundant whoami check

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agocommon, os, osd, test, tools: FileStore must work with ghobjects rather than hobjects
David Zafman [Fri, 20 Sep 2013 01:54:36 +0000 (18:54 -0700)]
common, os, osd, test, tools: FileStore must work with ghobjects rather than hobjects

Add ghobject_t to hboject.h header
Add constants NO_SHARD/NO_GEN and change gen_t/shard_t
Convert other headers from hobject_t to ghobject_t
Mostly straight hobject_t to ghobject_t for src/os cc files
Fix tools and tests and enable ceph-dencoder
Add filename generation and parsing including unittest addition
Get ceph-filestore-dump to build
Add gen/shard to DBObjectMap::ghobject_key() and update test case
Add CEPH_FS_FEATURE_INCOMPAT_SHARDS new FileStore feature
Add CEPH_OSD_FEATURE_INCOMPAT_SHARDS new osd feature

Fixes: #5862
Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoinclude, test: Add CompatSet::merge() operation
David Zafman [Wed, 18 Sep 2013 00:04:54 +0000 (17:04 -0700)]
include, test: Add CompatSet::merge() operation

New func merge() adds missing features from specified CompatSet
Add merge testing to unittest

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoos, osd, tools: Add backportable compatibility checking for sharded objects
David Zafman [Wed, 25 Sep 2013 16:19:16 +0000 (09:19 -0700)]
os, osd, tools: Add backportable compatibility checking for sharded objects

OSD
  New CEPH_OSD_FEATURE_INCOMPAT_SHARDS
FileStore
  NEW CEPH_FS_FEATURE_INCOMPAT_SHARDS
  Add FSSuperblock with feature CompatSet in it
  Store sharded_objects state using CompatSet
  Add set_allow_sharded_objects() and get_allow_sharded_objects() to FileStore/ObjectStore
  Add read_superblock()/write_superblock() internal filestore functions
ceph_filestore_dump
  Add OSDsuperblock to export format
  Use CompatSet from OSD code itself in filestore-dump tool
  Always check compatibility of OSD features with on-disk features
  On import verify compatibility of on-disk features with export data
  Bump super_ver due to export format change

Backport: dumpling, cuttlefish

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoosd: read_superblock() not outputing unsupported features when incompatible
David Zafman [Tue, 17 Sep 2013 21:59:15 +0000 (14:59 -0700)]
osd: read_superblock() not outputing unsupported features when incompatible

Use working version of CompatSet::unsupported() to improve log output

Backport: dumpling, cuttlefish

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agotest: Adding unittest for CompatSet
David Zafman [Wed, 18 Sep 2013 19:42:32 +0000 (12:42 -0700)]
test: Adding unittest for CompatSet

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoinclude: Bug fixes for CompatSet
David Zafman [Tue, 17 Sep 2013 20:39:57 +0000 (13:39 -0700)]
include: Bug fixes for CompatSet

FeatureSet insert/remove
  Use 64-bit arithmetic to allow features past 31
  Allow feature 63 by fixing assert in insert
CompatSet::unsupported() bugs
  Ignore feature 0 which became illegal
  Use 64-bit arithmetic when computing mask
  Use id in insert() and to get correct feature name
  Use the right map to get name for diff.ro_compat

Caused by 80979bbe92409e6f098566e18be6ed59ad9d111a
Caused by 470796b5456592ee5179bbd44b72910a2d7f6aca

Backport: dumpling, cuttlefish

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoos: Fix version_stamp_is_valid() and write_version_stamp() error return
David Zafman [Sat, 14 Sep 2013 01:04:29 +0000 (18:04 -0700)]
os: Fix version_stamp_is_valid() and write_version_stamp() error return

Caused by 341fb208aa32117f58ed4ce623f4b152f64ac72e

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoReplicatedPG: take obc read lock prior to recovering an object to replicas 631/head
Samuel Just [Wed, 25 Sep 2013 05:47:36 +0000 (22:47 -0700)]
ReplicatedPG: take obc read lock prior to recovering an object to replicas

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedBackend::handle_pull_response: use list<ObjectContextRef>
Samuel Just [Tue, 24 Sep 2013 23:23:39 +0000 (16:23 -0700)]
ReplicatedBackend::handle_pull_response: use list<ObjectContextRef>

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG: remove noop C_OSD_CompletedPull
Samuel Just [Tue, 24 Sep 2013 23:17:33 +0000 (16:17 -0700)]
ReplicatedPG: remove noop C_OSD_CompletedPull

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG: assert build_push_op succeeds on primary
Samuel Just [Tue, 24 Sep 2013 19:33:37 +0000 (12:33 -0700)]
ReplicatedPG: assert build_push_op succeeds on primary

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG.h: remove temp_coll stub
Samuel Just [Mon, 16 Sep 2013 16:35:16 +0000 (09:35 -0700)]
ReplicatedPG.h: remove temp_coll stub

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoOSD,ReplicatedPG: queue pushes in a op_tp workqueue
Samuel Just [Sat, 14 Sep 2013 07:45:00 +0000 (00:45 -0700)]
OSD,ReplicatedPG: queue pushes in a op_tp workqueue

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG: don't proceed to backfill until recovering is empty
Samuel Just [Fri, 13 Sep 2013 23:07:29 +0000 (16:07 -0700)]
ReplicatedPG: don't proceed to backfill until recovering is empty

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG: correctly handle backfill
Samuel Just [Mon, 9 Sep 2013 23:08:30 +0000 (16:08 -0700)]
ReplicatedPG: correctly handle backfill

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG/Backend: fix up recalc_subsets
Samuel Just [Mon, 9 Sep 2013 22:48:50 +0000 (15:48 -0700)]
ReplicatedPG/Backend: fix up recalc_subsets

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedBackend: wire in start_pushes
Samuel Just [Mon, 9 Sep 2013 22:41:10 +0000 (15:41 -0700)]
ReplicatedBackend: wire in start_pushes

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedBackend: handle stats properly
Samuel Just [Mon, 9 Sep 2013 21:31:13 +0000 (14:31 -0700)]
ReplicatedBackend: handle stats properly

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedBackend: track object contexts in Push/PullInfo
Samuel Just [Mon, 9 Sep 2013 20:20:29 +0000 (13:20 -0700)]
ReplicatedBackend: track object contexts in Push/PullInfo

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedBackend: remove priority from Pull/PushInfo
Samuel Just [Mon, 9 Sep 2013 20:20:06 +0000 (13:20 -0700)]
ReplicatedBackend: remove priority from Pull/PushInfo

Instead, we'll just nab the priority from the messages.

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG/Backend: move prep_push and friends to ReplicatedBackend
Samuel Just [Mon, 9 Sep 2013 18:25:10 +0000 (11:25 -0700)]
ReplicatedPG/Backend: move prep_push and friends to ReplicatedBackend

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG: remove pushing/pulling
Samuel Just [Mon, 9 Sep 2013 18:23:28 +0000 (11:23 -0700)]
ReplicatedPG: remove pushing/pulling

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG/Backend: handle down pull sources
Samuel Just [Thu, 5 Sep 2013 21:30:46 +0000 (14:30 -0700)]
ReplicatedPG/Backend: handle down pull sources

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG/Backend: split recover_missing out of prepare_pull
Samuel Just [Tue, 3 Sep 2013 22:39:18 +0000 (15:39 -0700)]
ReplicatedPG/Backend: split recover_missing out of prepare_pull

Also, move prepare_pull to PGBackend.

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG/Backend: shuffle over submit_push_*/build_push_op
Samuel Just [Tue, 3 Sep 2013 18:05:35 +0000 (11:05 -0700)]
ReplicatedPG/Backend: shuffle over submit_push_*/build_push_op

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG/Backend: move over send_pushes/send_pulls/prep_push_op_blank
Samuel Just [Sun, 1 Sep 2013 21:35:27 +0000 (14:35 -0700)]
ReplicatedPG/Backend: move over send_pushes/send_pulls/prep_push_op_blank

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG/Backend: move over _failed_push
Samuel Just [Sun, 1 Sep 2013 21:18:28 +0000 (14:18 -0700)]
ReplicatedPG/Backend: move over _failed_push

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG/Backend: move handle_*
Samuel Just [Sun, 1 Sep 2013 21:01:21 +0000 (14:01 -0700)]
ReplicatedPG/Backend: move handle_*

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG/Backend: shuffle do_pull/do_push_reply
Samuel Just [Sun, 1 Sep 2013 20:49:53 +0000 (13:49 -0700)]
ReplicatedPG/Backend: shuffle do_pull/do_push_reply

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG/Backend: move _do_push,_do_pull_response,do_push
Samuel Just [Sun, 1 Sep 2013 20:44:09 +0000 (13:44 -0700)]
ReplicatedPG/Backend: move _do_push,_do_pull_response,do_push

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG/Backend: convert sub_op_pull
Samuel Just [Sun, 1 Sep 2013 20:33:58 +0000 (13:33 -0700)]
ReplicatedPG/Backend: convert sub_op_pull

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG: make log_subop_stats static
Samuel Just [Sun, 1 Sep 2013 20:33:42 +0000 (13:33 -0700)]
ReplicatedPG: make log_subop_stats static

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG/Backend: shuffle sub_op_push_reply
Samuel Just [Fri, 30 Aug 2013 22:47:18 +0000 (15:47 -0700)]
ReplicatedPG/Backend: shuffle sub_op_push_reply

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG/Backend: shuffle sub_op_push over to ReplicatedBackend
Samuel Just [Fri, 30 Aug 2013 21:25:32 +0000 (14:25 -0700)]
ReplicatedPG/Backend: shuffle sub_op_push over to ReplicatedBackend

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoosd/: allow dout for ReplicatedBackend methods to work in ReplicatedPG.cc
Samuel Just [Tue, 27 Aug 2013 02:54:37 +0000 (19:54 -0700)]
osd/: allow dout for ReplicatedBackend methods to work in ReplicatedPG.cc

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG: extract PGBackend::Listener recovery callbacks
Samuel Just [Fri, 30 Aug 2013 01:46:21 +0000 (18:46 -0700)]
ReplicatedPG: extract PGBackend::Listener recovery callbacks

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoPG,ReplicatedPG: handle do_request in ReplicatedPG,PGBackend
Samuel Just [Fri, 30 Aug 2013 01:16:55 +0000 (18:16 -0700)]
PG,ReplicatedPG: handle do_request in ReplicatedPG,PGBackend

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG: pass on dump_recovery_info to PGBackend
Samuel Just [Fri, 30 Aug 2013 01:15:43 +0000 (18:15 -0700)]
ReplicatedPG: pass on dump_recovery_info to PGBackend

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoOSD,ReplicatedPG: let PGBackend handle the temp collection
Samuel Just [Fri, 30 Aug 2013 01:15:19 +0000 (18:15 -0700)]
OSD,ReplicatedPG: let PGBackend handle the temp collection

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoosd/: add PGBackend interfaces and stubs
Samuel Just [Fri, 30 Aug 2013 01:13:26 +0000 (18:13 -0700)]
osd/: add PGBackend interfaces and stubs

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG: Allow get_object_context caller to provide attributes
Samuel Just [Sat, 14 Sep 2013 00:13:45 +0000 (17:13 -0700)]
ReplicatedPG: Allow get_object_context caller to provide attributes

This will be used by PGBackend implementers to get the SnapSet
and ObjectInfo for newly recovered objects on the primary.

get_object_context may be called on a missing object for a lost_revert

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoReplicatedPG: send_push is unused
Samuel Just [Sun, 1 Sep 2013 21:23:34 +0000 (14:23 -0700)]
ReplicatedPG: send_push is unused

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoFileStore: ping tphandle between each operation within a transaction
Samuel Just [Fri, 13 Sep 2013 22:58:33 +0000 (15:58 -0700)]
FileStore: ping tphandle between each operation within a transaction

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoWorkQueue: add a workqueue which simply runs queued GenContexts
Samuel Just [Sat, 14 Sep 2013 02:49:17 +0000 (19:49 -0700)]
WorkQueue: add a workqueue which simply runs queued GenContexts

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoMerge pull request #644 from ceph/wip-6345
Sage Weil [Thu, 26 Sep 2013 17:42:09 +0000 (10:42 -0700)]
Merge pull request #644 from ceph/wip-6345

reverse the order of the mons in the init script when stopping

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoosd/ReplicatedPG: fix bl resize on write vs truncate race 645/head
Sage Weil [Thu, 26 Sep 2013 17:38:23 +0000 (10:38 -0700)]
osd/ReplicatedPG: fix bl resize on write vs truncate race

If we resize the write due to the funky truncate behavior, we need to
resize the bufferlist to match.

Fixes: #6346
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #606 from ceph/wip-6332
Gregory Farnum [Thu, 26 Sep 2013 17:30:44 +0000 (10:30 -0700)]
Merge pull request #606 from ceph/wip-6332

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agomon: OSDMonitor: do not write full_latest during trim
Joao Eduardo Luis [Wed, 25 Sep 2013 21:08:24 +0000 (22:08 +0100)]
mon: OSDMonitor: do not write full_latest during trim

On commit 81983bab we patched OSDMonitor::update_from_paxos() such that we
write the latest full map version to 'full_latest' each time the latest
full map was built from the incremental versions.

This change however clashed with OSDMonitor::encode_trim_extra(), which
also wrote to 'full_latest' on each trim, writing instead the version of
the *oldest* full map.  This duality of behaviors could lead the store
to an inconsistent state across the monitors (although there's no sign of
it actually imposing any issues besides rebuilding already existing full
maps on some monitors).

We now stop OSDMonitor::encode_trim_extra() from writing to 'full_latest'.
This function will still write out the oldest full map it has in the store,
but it will no longer write to full_latest, instead leaving it up to
OSDMonitor::update_from_paxos() to figure it out -- and it already does.

Fixes: #6378
Backport: dumpling

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agomon: don't list "--yes-i-really-mean-it" options as required 606/head
Greg Farnum [Wed, 25 Sep 2013 22:55:10 +0000 (15:55 -0700)]
mon: don't list "--yes-i-really-mean-it" options as required

By default options are required, and that leads to the Ceph CLI making
users add this to their commands before even submitting it to the monitor. We
want them to see and think about the messages generated by the monitor!

Signed-off-by: Greg Farnum <greg@inktank.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Thu, 26 Sep 2013 17:21:54 +0000 (10:21 -0700)]
Merge remote-tracking branch 'gh/next'

11 years agodo not quote the variable to loop over 644/head
Alfredo Deza [Thu, 26 Sep 2013 17:10:26 +0000 (13:10 -0400)]
do not quote the variable to loop over

Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
11 years agomsg/msg_types: use proper NI_MAXSERV when formatting an IP address
Sage Weil [Thu, 26 Sep 2013 04:10:13 +0000 (21:10 -0700)]
msg/msg_types: use proper NI_MAXSERV when formatting an IP address

May as well be pedantic about it, even though we are leaving the port
in numeric form.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
11 years agoreverse the order of the mons in the init script when stopping
Alfredo Deza [Thu, 26 Sep 2013 16:49:19 +0000 (12:49 -0400)]
reverse the order of the mons in the init script when stopping

Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
11 years agoqa: update snaps workunits for allow_new_snaps flag
Greg Farnum [Wed, 25 Sep 2013 23:02:02 +0000 (16:02 -0700)]
qa: update snaps workunits for allow_new_snaps flag

Test that it works in snaptest-0.sh, and set the flag in
all the snap workunits so they continue to function.

Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Loic Dachary <loic@dachary.org>
11 years agoMDS: lock out snapshots until after a flag has been set in the MDSMap
Greg Farnum [Wed, 25 Sep 2013 22:52:50 +0000 (15:52 -0700)]
MDS: lock out snapshots until after a flag has been set in the MDSMap

This way users can't put snapshots on their clusters unless they explicitly
ask for them and have seen a warning message. We take a bit of the MDSMap
flags in order to do so. The only thing a little weird here is that anybody
who upgrades to this patch who already has snapshots will hit the EPERM
and have to go through the warning, but it doesn't impact existing snapshots
at all so they should be good.

To go along with this, we add "ever_allowed_snaps" and "explicitly_allowed_snaps"
members to the MDSMap, which are default to false and are set to true
when allow_new_snaps is set. Old maps decoded with new code default to true
and false, respectively, so we can tell.

Fixes: #6332
Signed-off-by: Greg Farnum <greg@inktank.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomds: properly return log replay error
Yan, Zheng [Thu, 26 Sep 2013 07:01:03 +0000 (15:01 +0800)]
mds: properly return log replay error

The only context that should see this is
C_MDS_BootStart, and it is prepared for failures,
so there's no reason to always return 0.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agocommon/crc32c_intel_fast: fix compile-time #ifdef
Sage Weil [Wed, 4 Sep 2013 20:14:14 +0000 (13:14 -0700)]
common/crc32c_intel_fast: fix compile-time #ifdef

This wasn't getting built in!

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit 3233336cc3b6c2c1e89fe6c6d21d42e0f2cce142)

11 years agoautoconf: fix build out of tree 643/head
Loic Dachary [Thu, 26 Sep 2013 08:14:20 +0000 (10:14 +0200)]
autoconf: fix build out of tree

so that the following works:

git clone git@github.com:ceph/ceph.git
cd ceph
./autogen.sh
mkdir ../build
cd ../build
../ceph/configure --with-radosgw
make check

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #632 from ceph/wip-rworder
Sage Weil [Thu, 26 Sep 2013 03:42:30 +0000 (20:42 -0700)]
Merge pull request #632 from ceph/wip-rworder

fix up read vs write ordering flags; make ceph_test_rados use it

Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoContext: add GenContext templated on the callback argument
Samuel Just [Sat, 14 Sep 2013 02:48:56 +0000 (19:48 -0700)]
Context: add GenContext templated on the callback argument

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agomds/Server: fix LOOKUPSNAP
Sage Weil [Fri, 28 Jun 2013 19:51:07 +0000 (12:51 -0700)]
mds/Server: fix LOOKUPSNAP

The current LOOKUPSNAP code path was dereferencing mdr->dn[0] and getting
SEGV.  Instead, set the do_lookup arg to false for getattr so that we do
not try to dereference this; for snaps it will always be NULL as we are
constructing a fake namespace for the .snap directory.  (This happens in
the path_traverse, the result of which is to set snapid--without any real
dentry).

With this fix, snaptest-0.sh passes.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoMerge pull request #640 from ceph/wip-mon-pgmap
Sage Weil [Wed, 25 Sep 2013 23:08:05 +0000 (16:08 -0700)]
Merge pull request #640 from ceph/wip-mon-pgmap

fix mon crash when osdmap and pgmap aren't yet synced

Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomon/PGMonitor: fix segfault when osdmap and pgmap stats are out of sync 640/head
Sage Weil [Wed, 25 Sep 2013 22:47:28 +0000 (15:47 -0700)]
mon/PGMonitor: fix segfault when osdmap and pgmap stats are out of sync

The leader mon is responsible for propagating changes in the osdmap
into the pgmap (e.g., when a pool or osd goes away).  If that hasn't
happened yet, the pg_map map will be out of sync with the current set
of pools.  We shouldn't crash.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #637 from dachary/master
Sage Weil [Wed, 25 Sep 2013 22:39:22 +0000 (15:39 -0700)]
Merge pull request #637 from dachary/master

mailmap: add Matthew Roy, Matthew Wodrich

11 years agoMerge pull request #639 from ceph/wip-gtest
Sage Weil [Wed, 25 Sep 2013 22:39:01 +0000 (15:39 -0700)]
Merge pull request #639 from ceph/wip-gtest

Makefile: don't use srcdir in TESTS

Reviewed-by: Roald J. van Loon <roaldvanloon@gmail.com>
11 years agoMakefile: don't use srcdir in TESTS 639/head
Sage Weil [Wed, 25 Sep 2013 20:37:13 +0000 (13:37 -0700)]
Makefile: don't use srcdir in TESTS

src/Makefile-env.am:31: error: using '$(srcdir)' in TESTS is currently broken: '$(srcdir)/unittest_bufferlist.sh'
src/Makefile.am:1:   'src/Makefile-env.am' included from here
src/Makefile-env.am:31: error: using '$(srcdir)' in TESTS is currently broken: '$(srcdir)/test/encoding/check-generated.sh'
src/Makefile.am:1:   'src/Makefile-env.am' included from here

on my (raring) laptop.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agomailmap: add Matthew Roy, Matthew Wodrich 637/head
Loic Dachary [Wed, 25 Sep 2013 17:46:27 +0000 (19:46 +0200)]
mailmap: add Matthew Roy, Matthew Wodrich

Signed-off-by: Loic Dachary <loic@dachary.org>