]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
11 years agoOSD: enable ms_fast_dispatch
Greg Farnum [Wed, 26 Mar 2014 22:04:39 +0000 (15:04 -0700)]
OSD: enable ms_fast_dispatch

We've been setting it up, now this patch actually adds a fast path for osd ops
which bypasses the osd_lock and should not block on any longly held locks. In
addition to the actual ms_fast_dispatch; we take advantage of the fast_notify
functions in order to create a Session for every peer, since that is now the
data structure around which we handle incoming Messages and waitlisting; and
fast_preprocess in order to track when a peer has already sent us a new map
(otherwise, if we see an op with a too-new epoch, we have to request it from
the monitor).

Signed-off-by: Samuel Just <sam.just@inktank.com>
Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: remove dead comment
Greg Farnum [Fri, 25 Apr 2014 00:27:18 +0000 (17:27 -0700)]
OSD: remove dead comment

enqueue_op no longer requires holding the osd_lock.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: Juggle the locking when resurrecting a PG
Greg Farnum [Sun, 13 Apr 2014 06:06:37 +0000 (23:06 -0700)]
OSD: Juggle the locking when resurrecting a PG

Don't hold the old PG's lock in _create_lock_pg. Instead, just copy the
necessary data bits into a holding location. Note that this means we aren't
protecting it against change while the new PG is created, which I *think*
is okay...

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: don't share_map_incoming() directly from handle_replica_op()
Greg Farnum [Fri, 4 Apr 2014 21:52:04 +0000 (14:52 -0700)]
OSD: don't share_map_incoming() directly from handle_replica_op()

Let the op_tp handle it, or our C_SendMap callback in the op_gen_wq.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: use the async workqueue to send OSDMap updates on dropped ops
Greg Farnum [Tue, 25 Mar 2014 03:42:19 +0000 (20:42 -0700)]
OSD: use the async workqueue to send OSDMap updates on dropped ops

Check whether we actually want to send a map in-line, and if we do, create
a GenContext which does so and put that in the op_gen_wq.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: add an op threadpool GenContext workqueue
Greg Farnum [Tue, 25 Mar 2014 03:31:58 +0000 (20:31 -0700)]
OSD: add an op threadpool GenContext workqueue

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: allow build_incremental_map_msg to fail on lookups
Greg Farnum [Tue, 25 Mar 2014 22:32:30 +0000 (15:32 -0700)]
OSD: allow build_incremental_map_msg to fail on lookups

Since we're now building incremental map messages out-of-band with doing
other map updates now, we need to tolerate lookup failures at the bottom
end. Do so by returning a NULL message in that case.
Handle that in send_incremental_map by looping until we get a
message back -- if we fail on the first attempt, we'll get
the OSDSuperblock again and deal with it.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: fix a few map sharing bugs
Greg Farnum [Fri, 11 Apr 2014 21:45:45 +0000 (14:45 -0700)]
OSD: fix a few map sharing bugs

1) do not share OSD maps with peers that already have them
2) do not share maps with oneself

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: move should_share_map and share_map_incoming to OSDService
Greg Farnum [Fri, 21 Mar 2014 22:59:08 +0000 (15:59 -0700)]
OSD: move should_share_map and share_map_incoming to OSDService

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: pass a pointer to last_sent_epoch instead of the whole Session
Greg Farnum [Fri, 21 Mar 2014 22:44:55 +0000 (15:44 -0700)]
OSD: pass a pointer to last_sent_epoch instead of the whole Session

We don't use any other part of the Session, and this interface will
be easier to move out of the OSD class.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: share map updates in the op_tp threads instead of the main dispatch thread
Greg Farnum [Fri, 21 Mar 2014 18:07:36 +0000 (11:07 -0700)]
OSD: share map updates in the op_tp threads instead of the main dispatch thread

Sharing maps can require disk accesses and things. We don't want to do that
in our fast path, so do it in OSD::dequeue_op instead of OSD::handle_op. We're
cheating slightly and still doing it in handle_op if no op actually gets queued,
but we're going to put those into a separate work queue next. We'll also be
moving all the functions necessary for this into OSDService so that our completion
struct doesn't need to be a friend to OSD.
To make this easier, we're adding send_map_update and sent_epoch members to
OpRequest.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: refactor handle_op error handling cases
Greg Farnum [Wed, 26 Mar 2014 20:14:12 +0000 (13:14 -0700)]
OSD: refactor handle_op error handling cases

We move our map version-checking code earlier (to dispatch_op) and refactor
our other fail-to-dispatch cases. This is friendlier for the no-lock
message processing we'll use with fast dispatch.

Signed-off-by: Samuel Just <sam.just@inktank.com>
Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: change Session handling around _share_map_incoming
Greg Farnum [Thu, 20 Mar 2014 23:12:05 +0000 (16:12 -0700)]
OSD: change Session handling around _share_map_incoming

Move responsibility for the reference up to _share_map_incoming's caller,
and start using the Session::sent_epoch_lock. This looks a little silly
now, but we're going to split up the decide-to-send-maps and send-maps steps
and don't want to block in the decide-to-send step, so we need some
pretty flexible locking up at this level.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: add a Session::sent_epoch_lock
Greg Farnum [Thu, 20 Mar 2014 22:44:15 +0000 (15:44 -0700)]
OSD: add a Session::sent_epoch_lock

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: simplify _share_map_incoming based on _should_share_map()
Greg Farnum [Thu, 20 Mar 2014 22:57:30 +0000 (15:57 -0700)]
OSD: simplify _share_map_incoming based on _should_share_map()

Also, remove the bool return code since nobody looks at it.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: add _should_share_map function
Greg Farnum [Thu, 20 Mar 2014 22:55:50 +0000 (15:55 -0700)]
OSD: add _should_share_map function

Just copy _share_map_incoming and rip out all the parts that actually
update data structures.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: use an OSDMapRef& and require the Session* in _share_map_incoming
Greg Farnum [Thu, 20 Mar 2014 22:50:35 +0000 (15:50 -0700)]
OSD: use an OSDMapRef& and require the Session* in _share_map_incoming

You can pass in a NULL Session*, but both callers do that; and using
an OSDMapRef& reduces shared_ptr copies.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: use safe params in map-sharing functions
Greg Farnum [Thu, 20 Mar 2014 17:05:14 +0000 (10:05 -0700)]
OSD: use safe params in map-sharing functions

We were previously using unprotected access to OSD members.

Unfortunately, this does not make them completely safe: we are looking up
maps asynchronously from when we got access to the cached map bounds, and
so the OSD could delete a map out from underneath us. Fixing that will
require some kind of map bounds lock. :/

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD::send_incremental_map: use service superblock so we can avoid locking osd_lock
Samuel Just [Fri, 8 Nov 2013 22:11:59 +0000 (14:11 -0800)]
OSD::send_incremental_map: use service superblock so we can avoid locking osd_lock

TODO: make it actually safe by dealing with build_incremental_map_msg()

Signed-off-by: Samuel Just <sam.just@inktank.com>
11 years agoOSD::_share_map_incoming: pass osdmap in explicitly
Samuel Just [Fri, 8 Nov 2013 20:41:08 +0000 (12:41 -0800)]
OSD::_share_map_incoming: pass osdmap in explicitly

We'll want to be able to use this method without the osd_lock. Note
that we can't do so yet -- we call send_incremental_map, which is not
safe to call unlocked.

Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: protect state member with a Spinlock
Greg Farnum [Mon, 14 Apr 2014 17:47:16 +0000 (10:47 -0700)]
OSD: protect state member with a Spinlock

This member was previously protected by the osd_lock (although setting
SHUTDOWN was synchronized with the heartbeat lock, too), but we need
to read it for fast dispatch, so protect it under its own lock at all times.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: protect access to boot_epoch, up_epoch, bind_epoch
Greg Farnum [Tue, 18 Mar 2014 03:49:00 +0000 (20:49 -0700)]
OSD: protect access to boot_epoch, up_epoch, bind_epoch

We need to access these members in some call chains via fast_dispatch,
where they're otherwise unprotected.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: shard heartbeat_lock
Greg Farnum [Thu, 10 Apr 2014 23:43:05 +0000 (16:43 -0700)]
OSD: shard heartbeat_lock

heartbeat_need_update must be protected independently in order to avoid
a loop with the pg_map_lock and the PG::_lock.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: Push responsibility for grabbing pg_map_lock up to callers of _remove_pg()
Greg Farnum [Thu, 10 Apr 2014 21:19:46 +0000 (14:19 -0700)]
OSD: Push responsibility for grabbing pg_map_lock up to callers of _remove_pg()

The atomicity requirements of other systems prevent us dropping the PG lock
inside that function, and the PG lock is ordered underneath the pg_map_lock.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: wake_pg_waiters atomically with pg_map update
Samuel Just [Fri, 8 Nov 2013 23:20:49 +0000 (15:20 -0800)]
OSD: wake_pg_waiters atomically with pg_map update

Also, call enqueue_op directly rather than going back
through the entire dispatch machinery.
Be sure to grab the pg lock under the pg_map_lock in _open_lock_pg() to
preserve necessary lock ordering.

Signed-off-by: Samuel Just <sam.just@inktank.com>
Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: remove wake_all_pg_waiters
Samuel Just [Fri, 8 Nov 2013 23:17:15 +0000 (15:17 -0800)]
OSD: remove wake_all_pg_waiters

We shouldn't need this -- we check the pg waiters list on each
map.

Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: add session waiting_for_map mechanisms
Samuel Just [Fri, 8 Nov 2013 23:15:46 +0000 (15:15 -0800)]
OSD: add session waiting_for_map mechanisms

This will replace the existing waiting_for_osdmap mechanism
with a per-session wait list.

Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: pass osdmap to handle_op and handle_replica_op
Samuel Just [Fri, 8 Nov 2013 17:35:54 +0000 (09:35 -0800)]
OSD: pass osdmap to handle_op and handle_replica_op

We need a map to process them, and we don't want to
take the OSD lock to access one. (And we can't just
use the service because we need all processing of
a message to be done with the same map.)

Signed-off-by: Samuel Just <sam.just@inktank.com>
Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: add a RWLock pg_map_lock
Greg Farnum [Fri, 14 Mar 2014 22:46:46 +0000 (15:46 -0700)]
OSD: add a RWLock pg_map_lock

If we're going to dispatch ops without grabbing the osd lock, we need
something else to protect the pg map (and it'll be a little
contended, so use a read-write lock).

We repurpose the (previously oddly-named) _lookup_lock_pg_with_map_lock_held()
function to refer to the pg_map_lock. handle_pg_query and handle_pg_remove
switch to use that version, because they're holding pg_map_lock already and
we know the PG they're referring to exists.

Signed-off-by: Samuel Just <sam.just@inktank.com>
Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSDService: add osdmap reservation mechanism
Samuel Just [Thu, 7 Nov 2013 20:48:27 +0000 (12:48 -0800)]
OSDService: add osdmap reservation mechanism

The goal here is to be able to get "reserved" refs
to next_map, and ensure that pgs won't see a newer
map until the ref is "released".  I haven't done
a cute RAII trick here yet...probably not worth
the effort.

Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
Conflicts:
src/osd/OSD.h
Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agomsgr: change the delay queue flushing semantics
Greg Farnum [Thu, 10 Apr 2014 23:32:56 +0000 (16:32 -0700)]
msgr: change the delay queue flushing semantics

Since we're doing fast_dispatch out of the delay queue, we don't want to
flush while holding the pipe lock. Instead, make flush set it up for instant
delivery, and steal the delay queue when replacing pipes. If we're shutting
down a pipe, wait until flushing has completed before doing so.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agomsgr: enable fast_dispatch on local connections
Greg Farnum [Fri, 4 Apr 2014 20:55:54 +0000 (13:55 -0700)]
msgr: enable fast_dispatch on local connections

We do two things:
1) Call ms_handle_fast_connect() when setting up the local connection, so
the Dispatcher can set up any state it needs
2)Move local_delivery into a separate thread from the sender's. fast_dispatch
makes this entirely necessary since otherwise we're dipping back in to the
Dispatcher while holding whatever locks it held when it sent the Message.

Implementation starts with a thread and a list of messages to process and
proceeds as you'd expect from that.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoMessenger,DispatchQueue: add ms_fast_dispatch mechanism
Samuel Just [Thu, 7 Nov 2013 21:46:08 +0000 (13:46 -0800)]
Messenger,DispatchQueue: add ms_fast_dispatch mechanism

This adds a Dispatcher interface allowing the implementation
to accept ms_fast_dispatch calls for some messages without
going through the DispatchQueue. To support that, we also add
1) new synchronous notifications on connect and accept events
2) a fast_preprocess mechanism

Signed-off-by: Samuel Just <sam.just@inktank.com>
Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoDispatchQueue: factor out pre_dispatch and post_dispatch
Samuel Just [Thu, 7 Nov 2013 21:44:07 +0000 (13:44 -0800)]
DispatchQueue: factor out pre_dispatch and post_dispatch

Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: remove never-activated while loop from send_incremental_map
Greg Farnum [Tue, 25 Mar 2014 04:38:48 +0000 (21:38 -0700)]
OSD: remove never-activated while loop from send_incremental_map

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: rename gen_wq, schedule_work, and PG_QueueAsync to include "recovery"
Greg Farnum [Mon, 24 Mar 2014 21:35:02 +0000 (14:35 -0700)]
OSD: rename gen_wq, schedule_work, and PG_QueueAsync to include "recovery"

These all hook into the recovery thread pool and need to make that obvious.

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: remove unused push_wq
Greg Farnum [Mon, 24 Mar 2014 18:19:46 +0000 (11:19 -0700)]
OSD: remove unused push_wq

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: replace handle_pg_scan, handle_pg_backfill with handle_replica_op
Samuel Just [Thu, 7 Nov 2013 23:34:27 +0000 (15:34 -0800)]
OSD: replace handle_pg_scan, handle_pg_backfill with handle_replica_op

Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoOSD: add handle_osd_map debug output
Greg Farnum [Thu, 3 Apr 2014 21:24:22 +0000 (14:24 -0700)]
OSD: add handle_osd_map debug output

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoOSD::_share_map_incoming: line wrap debug output
Samuel Just [Fri, 8 Nov 2013 20:39:49 +0000 (12:39 -0800)]
OSD::_share_map_incoming: line wrap debug output

Formatting only.

Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoPG: constify the init() function params
Greg Farnum [Sun, 13 Apr 2014 04:26:55 +0000 (21:26 -0700)]
PG: constify the init() function params

Signed-off-by: Greg Farnum <greg@inktank.com>
11 years agoRWLock: assert pthread function return values
Samuel Just [Sat, 9 Nov 2013 22:31:55 +0000 (14:31 -0800)]
RWLock: assert pthread function return values

Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
11 years agoosd: check blacklisted clients in ReplicatedPG::do_op()
Yan, Zheng [Sat, 3 May 2014 21:17:15 +0000 (05:17 +0800)]
osd: check blacklisted clients in ReplicatedPG::do_op()

OSD checks if client is blacklisted only when receiving OSD request.
It's possible that OSD request's sender get blacklisted while OSD
request in in some waiting list.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
(cherry picked from commit f92677c5b2cac03f42f15c826bfb809fec27830d)

11 years agoMerge pull request #1740 from ceph/wip-8155
Sage Weil [Sat, 3 May 2014 22:13:37 +0000 (15:13 -0700)]
Merge pull request #1740 from ceph/wip-8155

mon: OSDMonitor: disallow nonsensical cache-mode transitions

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoceph-object-corpus: rebase onto firefly corpus
Sage Weil [Sat, 3 May 2014 14:59:28 +0000 (07:59 -0700)]
ceph-object-corpus: rebase onto firefly corpus

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1762 from yuyuyu101/wip-8282
Sage Weil [Sat, 3 May 2014 14:41:48 +0000 (07:41 -0700)]
Merge pull request #1762 from yuyuyu101/wip-8282

Fix clone problem

Backport: firefly
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1752 from ceph/wip-da-SCA-fixes-20140501
Sage Weil [Sat, 3 May 2014 13:49:56 +0000 (06:49 -0700)]
Merge pull request #1752 from ceph/wip-da-SCA-fixes-20140501

Various fixes from SCA

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1755 from eile/master
Sage Weil [Sat, 3 May 2014 13:42:04 +0000 (06:42 -0700)]
Merge pull request #1755 from eile/master

Fix out of source builds

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoFix out of source builds 1755/head
Stefan Eilemann [Fri, 2 May 2014 12:10:48 +0000 (14:10 +0200)]
Fix out of source builds

Signed-off-by: Stefan Eilemann <Stefan.Eilemann@epfl.ch>
11 years agoFix clone problem 1762/head
Haomai Wang [Sat, 3 May 2014 04:53:06 +0000 (12:53 +0800)]
Fix clone problem

When clone happened, the origin header also will be updated in GenericObjectMap,
so the new header wraper(StripObjectHeader) should be updated too.

Fix #8282
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
11 years agomon: OSDMonitor: disallow nonsensical cache-mode transitions 1740/head
Joao Eduardo Luis [Sat, 3 May 2014 02:42:19 +0000 (03:42 +0100)]
mon: OSDMonitor: disallow nonsensical cache-mode transitions

Fixes: 8155
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agoMerge pull request #1735 from ceph/wip-8113
David Zafman [Sat, 3 May 2014 02:26:30 +0000 (19:26 -0700)]
Merge pull request #1735 from ceph/wip-8113

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoMerge pull request #1698 from ceph/wip-snapmapper-debug
Samuel Just [Fri, 2 May 2014 23:52:36 +0000 (16:52 -0700)]
Merge pull request #1698 from ceph/wip-snapmapper-debug

osd/SnapMapper: debug

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoMerge pull request #1694 from ceph/wip-throttle-snap-master
Samuel Just [Fri, 2 May 2014 23:48:10 +0000 (16:48 -0700)]
Merge pull request #1694 from ceph/wip-throttle-snap-master

osd: throttle snap trimmming with simple delay

Reviewed-by: Samuel Just <sam.just@inktank.com>
11 years agoMerge pull request #1759 from dachary/wip-mailmap
Danny Al-Gaaf [Fri, 2 May 2014 23:43:14 +0000 (01:43 +0200)]
Merge pull request #1759 from dachary/wip-mailmap

DNM: mailmap updates

Reviewed-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoRevert "ReplicatedPG: block scrub on blocked object contexts"
Samuel Just [Fri, 2 May 2014 23:21:26 +0000 (16:21 -0700)]
Revert "ReplicatedPG: block scrub on blocked object contexts"

This reverts commit e66f2e36c06ca00c1147f922d3513f56b122a5c0.
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoosd: Prevent divide by zero in agent_choose_mode() 1735/head
Sage Weil [Thu, 1 May 2014 23:53:17 +0000 (16:53 -0700)]
osd: Prevent divide by zero in agent_choose_mode()

Fixes: #8175
Backport: firefly

Signed-off-by: David Zafman <david.zafman@inktank.com>
Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd, common: If agent_work() finds no objs to work on delay 5 (default) secs
David Zafman [Tue, 22 Apr 2014 06:52:04 +0000 (23:52 -0700)]
osd, common: If agent_work() finds no objs to work on delay 5 (default) secs

Add config osd_agent_delay_time of 5 seconds
Honor delay by ignoring agent_choose_mode() calls
Add tier_delay to logger
Treat restart after delay like we were previously idle

Fixes: #8113
Backport: firefly

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agorados.cc: fix typo in help output 1752/head
Danny Al-Gaaf [Thu, 1 May 2014 22:49:59 +0000 (00:49 +0200)]
rados.cc: fix typo in help output

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoDumper::dump_entries(): reduce scope of 'got_data'
Danny Al-Gaaf [Thu, 1 May 2014 22:43:11 +0000 (00:43 +0200)]
Dumper::dump_entries(): reduce scope of 'got_data'

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoPG::read_info(): pass 'const coll_t coll' by reference
Danny Al-Gaaf [Thu, 1 May 2014 22:35:02 +0000 (00:35 +0200)]
PG::read_info(): pass 'const coll_t coll' by reference

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoPGBackend::be_compare_scrubmaps(): pass pgid by reference
Danny Al-Gaaf [Thu, 1 May 2014 22:29:19 +0000 (00:29 +0200)]
PGBackend::be_compare_scrubmaps(): pass pgid by reference

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoosd_types.h: pass eversion_t by reference to operator<<
Danny Al-Gaaf [Thu, 1 May 2014 22:23:43 +0000 (00:23 +0200)]
osd_types.h: pass eversion_t by reference to operator<<

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoSimpleLock.h: remove unused private function clear_more()
Danny Al-Gaaf [Thu, 1 May 2014 22:08:41 +0000 (00:08 +0200)]
SimpleLock.h: remove unused private function clear_more()

Remove unused private function clear_more(), it's replaced by
try_clear_more().

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoSimpleLock.h: remove twice included osd_types.h
Danny Al-Gaaf [Thu, 1 May 2014 22:04:32 +0000 (00:04 +0200)]
SimpleLock.h: remove twice included osd_types.h

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agolinux_fiemap.h: remove twice included int_types.h
Danny Al-Gaaf [Thu, 1 May 2014 22:03:11 +0000 (00:03 +0200)]
linux_fiemap.h: remove twice included int_types.h

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoDumper::dump_entries(): remove not needed variable
Danny Al-Gaaf [Wed, 30 Apr 2014 22:00:26 +0000 (00:00 +0200)]
Dumper::dump_entries(): remove not needed variable

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agorgw_bucket.cc: return error if update_containers_stats() fails
Danny Al-Gaaf [Fri, 2 May 2014 23:34:10 +0000 (01:34 +0200)]
rgw_bucket.cc: return error if update_containers_stats() fails

In case need_stats is set on rgw_read_user_buckets() and the
update_containers_stats() call fails with !-ENOENT, not only
print out a message but also return the error to the function
caller.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agomon/PGMonitor: set tid on no-op PGStatsAck
Sage Weil [Fri, 2 May 2014 22:10:43 +0000 (15:10 -0700)]
mon/PGMonitor: set tid on no-op PGStatsAck

The OSD needs to know the tid.  Both generally, and specifically because
the flush_pg_stats may be blocking on it.

Fixes: #8280
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomon/OSDMonitor: share latest map with osd on dup boot message
Sage Weil [Fri, 2 May 2014 22:00:11 +0000 (15:00 -0700)]
mon/OSDMonitor: share latest map with osd on dup boot message

If we get a dup boot message, share the newer maps with the osd so that
they know they are living in the past.

Fixes: #8279
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomon/MonClient: remove stray _finish_hunting() calls
Sage Weil [Fri, 2 May 2014 21:48:35 +0000 (14:48 -0700)]
mon/MonClient: remove stray _finish_hunting() calls

Callig _finish_hunting() clears out the bool hunting flag, which means we
don't retry by connection to another mon periodically.  Instead, we send
keepalives every 10s.  But, since we aren't yet in state HAVE_SESSION, we
don't check that the keepalives are getting responses.  This means that an
ill-timed connection reset (say, after we get a MonMap, but before we
finish authenticating) can drop the monc into a black hole that does not
retry.

Instead, we should *only* call _finish_hunting() when we complete the
authentication handshake.

Fixes: #8278
Backport: firefly, dumpling
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
11 years agomailmap: Florent Bautista affiliation 1759/head
Loic Dachary [Fri, 2 May 2014 22:42:24 +0000 (00:42 +0200)]
mailmap: Florent Bautista affiliation

and name normalization

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomailmap: Warren Usui name normalization
Loic Dachary [Fri, 2 May 2014 22:35:42 +0000 (00:35 +0200)]
mailmap: Warren Usui name normalization

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agomailmap: Guang Yang name normalization
Loic Dachary [Fri, 2 May 2014 22:35:04 +0000 (00:35 +0200)]
mailmap: Guang Yang name normalization

Signed-off-by: Loic Dachary <loic@dachary.org>
11 years agoMerge pull request #1754 from nereocystis/hardware-to-glossary
Sage Weil [Fri, 2 May 2014 21:22:17 +0000 (14:22 -0700)]
Merge pull request #1754 from nereocystis/hardware-to-glossary

doc: Include links from hardware-recommendations to glossary

11 years agoosd/ReplicatedPG: agent_work() fix next if finished early due to start_max
David Zafman [Fri, 2 May 2014 01:54:30 +0000 (18:54 -0700)]
osd/ReplicatedPG: agent_work() fix next if finished early due to start_max

Backport: firefly

Signed-off-by: David Zafman <david.zafman@inktank.com>
11 years agoosd/SnapMapper: pass snaps set by const ref 1698/head
Sage Weil [Fri, 2 May 2014 00:31:05 +0000 (17:31 -0700)]
osd/SnapMapper: pass snaps set by const ref

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoosd/SnapMapper: debug
Sage Weil [Fri, 2 May 2014 00:29:46 +0000 (17:29 -0700)]
osd/SnapMapper: debug

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agodoc: Include links from hardware-recommendations to glossary 1754/head
Kevin Dalley [Fri, 2 May 2014 00:04:43 +0000 (17:04 -0700)]
doc: Include links from hardware-recommendations to glossary
Included :term: in parts of hardware-recommendations so that glossary
links appear.
Signed-off-by: Kevin Dalley <kevin@kelphead.org>
11 years agoMerge pull request #1749 from hufman/fix-typo-releasenotes-pyramind
Danny Al-Gaaf [Thu, 1 May 2014 23:06:26 +0000 (01:06 +0200)]
Merge pull request #1749 from hufman/fix-typo-releasenotes-pyramind

Fixes a very minor typo in the release notes

Reviewed-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agomds: note MDiscoverReply encoding change in corpus
Sage Weil [Thu, 1 May 2014 22:07:50 +0000 (15:07 -0700)]
mds: note MDiscoverReply encoding change in corpus

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agomds: bump protocol
Sage Weil [Thu, 1 May 2014 20:46:40 +0000 (13:46 -0700)]
mds: bump protocol

In commit f689e5f049736bb0a0fa437e05936f6c1b9c1bb6 we change the encoding
and semantics for MDiscoverReply.

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1738 from ceph/wip-8147
Samuel Just [Thu, 1 May 2014 17:46:31 +0000 (10:46 -0700)]
Merge pull request #1738 from ceph/wip-8147

osd: automatically scrub PGs with invalid stats

Reviewed-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: David Zafman <david.zafman@inktank.com>
11 years agodoc/release-notes: changelog link
Sage Weil [Thu, 1 May 2014 16:59:37 +0000 (09:59 -0700)]
doc/release-notes: changelog link

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agodoc/release-notes: final v0.67.8 notes and changelog
Sage Weil [Thu, 1 May 2014 15:36:42 +0000 (08:36 -0700)]
doc/release-notes: final v0.67.8 notes and changelog

Signed-off-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1750 from nereocystis/doc-link-to-involved
John Wilkins [Thu, 1 May 2014 06:07:53 +0000 (23:07 -0700)]
Merge pull request #1750 from nereocystis/doc-link-to-involved

doc: documenting links to get-involved

11 years agoFixes a very minor typo in the release notes 1749/head
Walter Huf [Thu, 1 May 2014 05:25:00 +0000 (00:25 -0500)]
Fixes a very minor typo in the release notes

pyramind -> pyramid

11 years agodoc: documenting links to get-involved 1750/head
Kevin Dalley [Thu, 1 May 2014 04:31:06 +0000 (21:31 -0700)]
doc: documenting links to get-involved
Create a link from documenting-ceph so that it is easy to find the
github repository used for ceph.

Signed-off-by: Kevin Dalley <kevin@kelphead.org>
11 years agoReplicatedPG: block scrub on blocked object contexts
Samuel Just [Fri, 18 Apr 2014 00:26:17 +0000 (17:26 -0700)]
ReplicatedPG: block scrub on blocked object contexts

Fixes: #8011
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1745 from ceph/wip-7941
Sage Weil [Wed, 30 Apr 2014 22:09:45 +0000 (15:09 -0700)]
Merge pull request #1745 from ceph/wip-7941

rados.h,ReplicatedPG: add CEPH_OSD_FLAG_ENFORCE_SNAPC and use on flush

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1744 from ceph/wip-8161
Sage Weil [Wed, 30 Apr 2014 22:07:51 +0000 (15:07 -0700)]
Merge pull request #1744 from ceph/wip-8161

ECBackend::continue_recovery_op: handle a source shard going down

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agoMerge pull request #1746 from ceph/wip-8086
Sage Weil [Wed, 30 Apr 2014 22:03:45 +0000 (15:03 -0700)]
Merge pull request #1746 from ceph/wip-8086

Wip 8086

Reviewed-by: Sage Weil <sage@inktank.com>
11 years agorgw_common.cc: reduce scope of 'fpos' variable
Danny Al-Gaaf [Wed, 30 Apr 2014 21:37:56 +0000 (23:37 +0200)]
rgw_common.cc: reduce scope of 'fpos' variable

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agorgw_admin.cc: remove unused string variable
Danny Al-Gaaf [Wed, 30 Apr 2014 21:34:38 +0000 (23:34 +0200)]
rgw_admin.cc: remove unused string variable

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoPGBackend.cc: remove unused to_remove variable
Danny Al-Gaaf [Wed, 30 Apr 2014 21:31:20 +0000 (23:31 +0200)]
PGBackend.cc: remove unused to_remove variable

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoKeyValueStore.cc: remove unused variable
Danny Al-Gaaf [Wed, 30 Apr 2014 21:29:58 +0000 (23:29 +0200)]
KeyValueStore.cc: remove unused variable

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agorgw_op.cc: remove unused map variable
Danny Al-Gaaf [Wed, 30 Apr 2014 21:28:39 +0000 (23:28 +0200)]
rgw_op.cc: remove unused map variable

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agorgw_main.cc: remove unused variable
Danny Al-Gaaf [Wed, 30 Apr 2014 21:26:18 +0000 (23:26 +0200)]
rgw_main.cc: remove unused variable

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agorgw_main.cc: use static_cast instead of c-style
Danny Al-Gaaf [Wed, 30 Apr 2014 21:21:51 +0000 (23:21 +0200)]
rgw_main.cc: use static_cast instead of c-style

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
11 years agoObjectStore.h: pass const string parameter by reference
Danny Al-Gaaf [Wed, 30 Apr 2014 20:49:29 +0000 (22:49 +0200)]
ObjectStore.h: pass const string parameter by reference

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>