Commit Graph

31018 Commits

Author SHA1 Message Date
Josh Durgin
28af392bc3 Merge pull request #1116 from jcsp/doc_toofull
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-01-23 22:43:43 -08:00
Josh Durgin
e23513fbe2 Merge pull request #1135 from ceph/use-ceph-sharedptr
libc++: convert tr1 uses

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-01-23 22:36:18 -08:00
Noah Watkins
faae5b94b4 libc++: convert tr1 uses
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2014-01-23 20:35:53 -08:00
John Wilkins
ea026c6cc9 doc: Added domain pool, and changed zone configs to use domain tool so they don't clash.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2014-01-23 17:11:59 -08:00
John Wilkins
0303f0f17a doc: Change zone domain to include "domain" so it is clear.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2014-01-23 17:11:23 -08:00
John Wilkins
95e63ac6dd doc: Added space between {Query_String} and [E=HTTP ... to solve for 500 error.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2014-01-23 16:03:25 -08:00
athanatos
9a7643bbdc Merge pull request #1134 from ceph/wip-backend-uninit-use
ReplicatedBackend: fix uninitialized use warning/bug

Reviewed-by: Samuel Just <sam.just@inktank.com>
2014-01-23 15:44:39 -08:00
Greg Farnum
6f6b1eeaca ReplicatedBackend: fix uninitialized use warning/bug
Signed-off-by: Greg Farnum <greg@inktank.com>
2014-01-23 15:40:18 -08:00
John Wilkins
2216afdfc3 doc: Fixed omission of a comma in zone configuration.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2014-01-23 13:34:25 -08:00
Samuel Just
55ab35ba9c FileStore: perform LFNIndex lookup without holding fdcache lock
Fixes: #7207

Signed-off-by: Samuel Just <sam.just@inktank.com>
Signed-off-by: Greg Farnum <greg@inktank.com>
2014-01-23 12:48:26 -08:00
Greg Farnum
689f983e6f Merge remote-tracking branch 'origin/next' 2014-01-23 12:47:00 -08:00
Loic Dachary
102c83a338 Merge pull request #1132 from ceph/wip-erasure-rule
osd/OSDMap: do not create erasure rule by default

Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Loic Dachary <loic@dachary.org>
2014-01-23 10:22:49 -08:00
Sage Weil
d8bafaebd0 Merge pull request #1131 from ceph/use-unordered-map
osd: use ceph:: scoped hash_map

Reviewed-by: Sage Weil <sage@inktank.com>
2014-01-23 09:27:03 -08:00
Sage Weil
08fa34d94e osd/OSDMap: do not create erasure rule by default
If we do, we will require the v2 feature bit from clients.

We could only include feature bits for rules that are actually referenced
by pools, but for now making the user create the rule is simpler.  There is
no need to create this rule ahead of time.

Signed-off-by: Sage Weil <sage@inktank.com>
2014-01-23 09:16:54 -08:00
Noah Watkins
6f8541c8da osd: use ceph:: scoped hash_map
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2014-01-23 07:20:42 -08:00
Josh Durgin
645dd31ca4 Merge pull request #1064 from ceph/port/libc++
support libc++
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-01-23 00:27:30 -08:00
Samuel Just
2b0f8cbf23 Merge branch 'wip-client-io-final'
Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: David Zafman <david.zafman@inktank.com>
2014-01-22 14:52:39 -08:00
Samuel Just
ecbdeb19ff PGBackend: clarify rollback_stash name and method comments
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:18 -08:00
Samuel Just
4fc4573fd2 PG: drop messages from down peers
This overlaps with the existing old_peering_msg() mechanism
except in one case: pulls from a replica not in the acting
set.  If such a replica gets marked down, we may resend
pulls to another replica without causing a new interval
to start.  If we recieved, but didn't process, a push in
response to such a pull prior to processing the map marking
the peer down, we might process the push after having reset
the pull state for a different pull operation.  We can
avoid this by discarding ops from down peers.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:18 -08:00
Samuel Just
e73a9f7b7a ReplicatedPG: make STARTSYNC a noop
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:18 -08:00
Samuel Just
96d4a0c26e PG::calc_acting: consider newest_update_osd when choosing backfill peers
We must include newest_update_osd->second.log_tail when considering backfill
peers because in GetLog we will request logs back to the min last_update over
our acting_backfill set.  This will result in our log being extended as far
backwards as necessary to pick up any peers which can be log recovered by the
union of newest_update_osd's log and that of the chosen primary.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:18 -08:00
Samuel Just
7e3ccfef65 ReplicatedPG: take ReplicatedPGRef in BlessedContext
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:18 -08:00
Samuel Just
167f852387 RadosModel: RollBack dirties the object
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:18 -08:00
Samuel Just
6e74123c78 RadosModel: undirty with update_object_undirty
Otherwise it doesn't behave properly with snapshots since
update_object_version doesn't add another snapshot entry.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:17 -08:00
Samuel Just
ca37d08ea9 ReplicatedPG::trim_object: remove unused int r; declaration
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:17 -08:00
Samuel Just
d0eda792de common/hobject: print shard as unsigned, not as char
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:17 -08:00
Samuel Just
9273177afd ReplicatedPG::_process_copy_chunk: use append
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:17 -08:00
Samuel Just
183f41c038 ReplicatedPG: fill in mod_desc for hitset repops
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:17 -08:00
Samuel Just
9fd7a80088 ReplicatedPG: use append for write and writefull
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:17 -08:00
Samuel Just
7c9425c3a8 ReplicatedPG: fill in mod_desc in finish_copyfrom
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:17 -08:00
Samuel Just
e8a08ffa5b ReplicatedPG::finish_copyfrom: check new_obs.exists, not obs.exists
If the transaction previously created the object, the stat update
will have already happened.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:17 -08:00
Samuel Just
eb8f66d5d8 ReplicatedPG: handle removing the old object in finish_copy_op
do_osd_ops will need to either copy the old version out of the
way or simply delete it depending on mod_desc.  Thus, defer
handling filling that part in until we finish the copy op.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:17 -08:00
Samuel Just
f2384412cf ReplicatedPG: EOPNOTSUPP on ec_pool if there are omaps in the COPY_GET
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:17 -08:00
Samuel Just
b3c2ef2d8f ReplicatedPG: make COPY_GET async read friendly
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:17 -08:00
Samuel Just
a382ab82fe ReplicatedPG: requeue in_progress_async_reads on_change
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:17 -08:00
Samuel Just
0bba79b722 ReplicatedPG: support async reads on ec pools
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:17 -08:00
Samuel Just
647e75ae78 src/: add CEPH_OSD_OP_READ_SYNC
EC pools won't support SYNC reads.  This means that TMAP and friends
along with reads from an object class will not be supported.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:16 -08:00
Samuel Just
3ef6282c8d ReplicatedPG: use pgbackend->objects_read_sync() as appropriate
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:16 -08:00
Samuel Just
2fe5e1f2d2 osd/: add sync/async read methods to PGBackend
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:16 -08:00
Samuel Just
66bc91cf0a ObjectStore: _collection_move_rename needs to increment ops
Bugfix.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:16 -08:00
Samuel Just
a3e4a844ef PGLog,PG: reset can_rollback_to when we get a log entry without a transaction
We cannot rollback past an entry which we didn't actually
apply locally.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:16 -08:00
Samuel Just
347d968a9d PGLog: we cannot rollback past a recovered object entry
We don't recover the older versions, so we can't do a rollback.
In general, this is ok since we had enough copies to recover it
in the first place.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:16 -08:00
Samuel Just
25eced59a8 PGLog: create interface allowing interface user to cleanup/rollback
We need to be able to allow the PGLog interface user to provide
logic for rolling back and trimming log entries.  To that end,
serveral PGLog methods now take a LogEntryHander.

In PGLog::merge_old_entry, if prior_version > info.log_tail and
the object is not missing, we must have rolled back the prior
log entry.  Thus, we don't skip the entry.

To simplify the code, _merge_old_entry has been split out as
a const helper.  This way, proc_replica_log can be reexpressed
as merging the divergent replica log entries with the fully
merged authoritative log.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:16 -08:00
Samuel Just
c98cb1ce74 ReplicatedPG: Fill in rollback info for log events
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:16 -08:00
Samuel Just
ecae37c33b osd/: introduce xattr caching for ec pools
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:16 -08:00
Samuel Just
155b4b069f PGBackend,ReplicatedBackend: add support for rolling back log entries
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:16 -08:00
Samuel Just
0528974584 osd_types: add a can_rollback_to line to pg_log_t
This allows us to determine how far back the log can be rolled.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:15 -08:00
Samuel Just
63f64de118 osd_types: add ObjectModDesc into pg_log_entry_t
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:15 -08:00
Samuel Just
a7a6a2f153 osd_types: ObjectModDesc
Contains information needed to roll back a pg_log_entry_t.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:15 -08:00
Samuel Just
53c26bc335 osd/: move client op handling into ReplicatedBackend
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-22 14:39:15 -08:00