Commit Graph

28914 Commits

Author SHA1 Message Date
Sage Weil
efc6b5ea1c 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>
2013-09-27 11:23:38 -07:00
Sage Weil
37d722093d ceph_test_rados: update for copy_from in begin, not finish
Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-27 11:23:09 -07:00
Sage Weil
c5831fa1b7 ceph_test_rados: improve debug output
Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-26 18:15:32 -07:00
Sage Weil
eec315f248 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 996af2d8fd

Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-26 18:14:46 -07:00
athanatos
97c56ef3ec Merge pull request #631 from ceph/wip-5857-8
Wip 5857 8

Reviewed-by: Sage Weil <sage@inktank.com>
2013-09-26 12:01:19 -07:00
athanatos
62626b49c4 Merge pull request #546 from ceph/wip-5862
Wip 5862

Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-09-26 12:00:22 -07:00
David Zafman
9750965fd3 os: Make write_version_stamp() private
Signed-off-by: David Zafman <david.zafman@inktank.com>
2013-09-26 11:29:05 -07:00
David Zafman
55f4aa1914 osd: Remove code for reading ancient unsupported logs
Signed-off-by: David Zafman <david.zafman@inktank.com>
2013-09-26 11:29:05 -07:00
David Zafman
4a757eb8e0 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>
2013-09-26 11:29:05 -07:00
David Zafman
222f5aa6a1 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>
2013-09-26 11:29:05 -07:00
David Zafman
aba6efda13 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>
2013-09-26 11:29:05 -07:00
David Zafman
793ba9f1d5 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>
2013-09-26 11:29:04 -07:00
David Zafman
c6b83180f9 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>
2013-09-26 11:29:04 -07:00
David Zafman
bb195c2438 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>
2013-09-26 11:24:40 -07:00
David Zafman
4bc8f09f0f test: Adding unittest for CompatSet
Signed-off-by: David Zafman <david.zafman@inktank.com>
2013-09-26 11:24:40 -07:00
David Zafman
acc47d234a 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 80979bbe92
Caused by 470796b545

Backport: dumpling, cuttlefish

Signed-off-by: David Zafman <david.zafman@inktank.com>
2013-09-26 11:24:40 -07:00
David Zafman
98b3cd3a78 os: Fix version_stamp_is_valid() and write_version_stamp() error return
Caused by 341fb208aa

Signed-off-by: David Zafman <david.zafman@inktank.com>
2013-09-26 11:24:31 -07:00
Samuel Just
a1f6b14e7f ReplicatedPG: take obc read lock prior to recovering an object to replicas
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:29 -07:00
Samuel Just
b29ac2ad87 ReplicatedBackend::handle_pull_response: use list<ObjectContextRef>
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:28 -07:00
Samuel Just
07905af8ff ReplicatedPG: remove noop C_OSD_CompletedPull
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:28 -07:00
Samuel Just
2bc1e38c1c ReplicatedPG: assert build_push_op succeeds on primary
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:28 -07:00
Samuel Just
aeadecda0e ReplicatedPG.h: remove temp_coll stub
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:28 -07:00
Samuel Just
3290065333 OSD,ReplicatedPG: queue pushes in a op_tp workqueue
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:28 -07:00
Samuel Just
039da62f3e ReplicatedPG: don't proceed to backfill until recovering is empty
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:28 -07:00
Samuel Just
02e5c1fca7 ReplicatedPG: correctly handle backfill
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:28 -07:00
Samuel Just
b06dce3bd1 ReplicatedPG/Backend: fix up recalc_subsets
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:28 -07:00
Samuel Just
6cccef2d8d ReplicatedBackend: wire in start_pushes
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:27 -07:00
Samuel Just
a287167cf8 ReplicatedBackend: handle stats properly
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:27 -07:00
Samuel Just
656d084d00 ReplicatedBackend: track object contexts in Push/PullInfo
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:27 -07:00
Samuel Just
e7a0b23418 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>
2013-09-26 11:24:27 -07:00
Samuel Just
9e8c3c3d82 ReplicatedPG/Backend: move prep_push and friends to ReplicatedBackend
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:27 -07:00
Samuel Just
3d6eb6ea5a ReplicatedPG: remove pushing/pulling
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:27 -07:00
Samuel Just
31c604225c ReplicatedPG/Backend: handle down pull sources
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:27 -07:00
Samuel Just
4bc0eab151 ReplicatedPG/Backend: split recover_missing out of prepare_pull
Also, move prepare_pull to PGBackend.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:27 -07:00
Samuel Just
273ac2b4b8 ReplicatedPG/Backend: shuffle over submit_push_*/build_push_op
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:27 -07:00
Samuel Just
fea30f5bea ReplicatedPG/Backend: move over send_pushes/send_pulls/prep_push_op_blank
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:26 -07:00
Samuel Just
c1c2debdb9 ReplicatedPG/Backend: move over _failed_push
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:26 -07:00
Samuel Just
f9810797af ReplicatedPG/Backend: move handle_*
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:26 -07:00
Samuel Just
666a316d5a ReplicatedPG/Backend: shuffle do_pull/do_push_reply
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:26 -07:00
Samuel Just
3e7347222c ReplicatedPG/Backend: move _do_push,_do_pull_response,do_push
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:26 -07:00
Samuel Just
8daaeba3f5 ReplicatedPG/Backend: convert sub_op_pull
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:26 -07:00
Samuel Just
0e16230fd7 ReplicatedPG: make log_subop_stats static
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:26 -07:00
Samuel Just
d53fc899eb ReplicatedPG/Backend: shuffle sub_op_push_reply
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:26 -07:00
Samuel Just
8d447be1c8 ReplicatedPG/Backend: shuffle sub_op_push over to ReplicatedBackend
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:25 -07:00
Samuel Just
087f708ba0 osd/: allow dout for ReplicatedBackend methods to work in ReplicatedPG.cc
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:25 -07:00
Samuel Just
7da308bba0 ReplicatedPG: extract PGBackend::Listener recovery callbacks
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:25 -07:00
Samuel Just
3148b12141 PG,ReplicatedPG: handle do_request in ReplicatedPG,PGBackend
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:25 -07:00
Samuel Just
30ac934e22 ReplicatedPG: pass on dump_recovery_info to PGBackend
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:25 -07:00
Samuel Just
138ccbee73 OSD,ReplicatedPG: let PGBackend handle the temp collection
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:25 -07:00
Samuel Just
62a1eb6f69 osd/: add PGBackend interfaces and stubs
Signed-off-by: Samuel Just <sam.just@inktank.com>
2013-09-26 11:24:25 -07:00