]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
12 years agoMerge branch 'wip_4552' into next
Samuel Just [Wed, 24 Apr 2013 03:49:57 +0000 (20:49 -0700)]
Merge branch 'wip_4552' into next

Fixes: #4552
Reviewed-by: Greg Farnum <greg@inktank.com>
12 years agoOSD: don't report peers down if hbclient_messenger is backed up
Samuel Just [Mon, 22 Apr 2013 21:50:09 +0000 (14:50 -0700)]
OSD: don't report peers down if hbclient_messenger is backed up

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoMessenger: add interface to get oldest queued message arrival time
Samuel Just [Mon, 22 Apr 2013 21:06:22 +0000 (14:06 -0700)]
Messenger: add interface to get oldest queued message arrival time

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoDispatchQueue: track queued message arrival times and expose oldest
Samuel Just [Mon, 22 Apr 2013 21:06:05 +0000 (14:06 -0700)]
DispatchQueue: track queued message arrival times and expose oldest

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoMerge pull request #237 from ceph/wip-4794
Sage Weil [Wed, 24 Apr 2013 00:23:32 +0000 (17:23 -0700)]
Merge pull request #237 from ceph/wip-4794

init-ceph: fix (and simplify) pushing ceph.conf to remote unique name

12 years agoMerge pull request #241 from ceph/wip-4798
Sage Weil [Wed, 24 Apr 2013 00:17:02 +0000 (17:17 -0700)]
Merge pull request #241 from ceph/wip-4798

#4798

Reviewed-by: Greg Farnum <greg@inktank.com>
12 years agomon: revert part of PaxosService::is_readable() change
Sage Weil [Wed, 24 Apr 2013 00:16:31 +0000 (17:16 -0700)]
mon: revert part of PaxosService::is_readable() change

In 98e23980f4ab7ba289303f72da06721c84767293 is_readable() was changed to
call is_active(), but that has a check for is_bootstrapping(), so there is
a semantic change.

As a result, we may fail PaxosService::is_readable() (due to bootstrapping)
and then try to call Paxos::wait_for_readable().  That will assert that
Paxos::is_readable() is false, but it will be true and we will crash.

Revert that part of the change, since the semantic change was not
intentional.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
12 years agolibrbd: fix i386 build
Sage Weil [Tue, 23 Apr 2013 23:18:53 +0000 (16:18 -0700)]
librbd: fix i386 build

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge pull request #240 from ceph/wip-4665
Josh Durgin [Tue, 23 Apr 2013 23:11:44 +0000 (16:11 -0700)]
Merge pull request #240 from ceph/wip-4665

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
12 years agolibrbd: add read_iterate2 call with fixed argument type 240/head
Sage Weil [Tue, 23 Apr 2013 21:58:55 +0000 (14:58 -0700)]
librbd: add read_iterate2 call with fixed argument type

The existing read_iterate takes a size_t for the length, which is only 4GB
on 32-bit machines.  Instead, take a uint64_t length for the new
read_iterate2().

Return 0 instead of the number of bytes read; this makes the user-facing
API a bit simpler.

Fixes: #4665
Signed-off-by: Sage Weil <sage@inktank.com>
keep bytes return from internal method

12 years agolibrbd: implement read not in terms of read_iterate
Sage Weil [Tue, 23 Apr 2013 22:44:42 +0000 (15:44 -0700)]
librbd: implement read not in terms of read_iterate

The read() method returns the bytes read, trimmed to the end of the image;
use the other read() variant to do this (which use aio_read()) instead of
read_iterate().

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: drop forwarded requests after an election 241/head
Sage Weil [Tue, 23 Apr 2013 21:06:41 +0000 (14:06 -0700)]
mon: drop forwarded requests after an election

On each election, we resend routed requests to the new leader (or
requeue for ourselves).  Therefore, if we receive a forwarded request,
we should drop it on the floor if there is a new election.  Add a field
in the PaxosServiceMessage struct to track which election epoch we
received the request in, and drop it in PaxosService::dispatch() if
that is in the past.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: requeue routed_requests for self if elected leader
Sage Weil [Tue, 23 Apr 2013 20:45:59 +0000 (13:45 -0700)]
mon: requeue routed_requests for self if elected leader

If we have requests that we have forwarded, and are elected leader,
requeue those requests for ourself and queue them normally and clear out
the routed_requests map.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: track original Connection* for forwarded requests
Sage Weil [Tue, 23 Apr 2013 20:40:27 +0000 (13:40 -0700)]
mon: track original Connection* for forwarded requests

Keep a reference to the source Connection* for forwarded requests.  This
makes the reply path slightly cleaner, and will help us later.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge pull request #222 from ceph/wip-3495
Gregory Farnum [Tue, 23 Apr 2013 19:44:05 +0000 (12:44 -0700)]
Merge pull request #222 from ceph/wip-3495

Reviewed-by: Greg Farnum <greg@inktank.com>
12 years agotest_filejournal: adjust corrupt entry tests to force header write
Samuel Just [Tue, 23 Apr 2013 19:08:14 +0000 (12:08 -0700)]
test_filejournal: adjust corrupt entry tests to force header write

The journal no longer assumes corruption if it finds a valid entry
after an inavlid entry.  Instead, these tests will exercise the
corruption detection via the header committed_up_to member.

Fixes: #4792
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
12 years agoinit-ceph: fix (and simplify) pushing ceph.conf to remote unique name 237/head
Sage Weil [Tue, 23 Apr 2013 17:00:38 +0000 (10:00 -0700)]
init-ceph: fix (and simplify) pushing ceph.conf to remote unique name

The old code would only do the push once per remote node (due to the
list in $pushed_to) but would reset $unique on each attempt.  This would
break if a remote host was processed twice.

Fix by just skipping the $pushed_to optimization entirely.

Fixes: #4794
Reported-by: Andreas Friedrich <andreas.friedrich@ts.fujitsu.com>
Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoceph-disk: OSD hotplug fixes for Centos
Gary Lowell [Thu, 11 Apr 2013 16:42:13 +0000 (09:42 -0700)]
ceph-disk:  OSD hotplug fixes for Centos

Two fixes for Centos 6.3 and other systems with udev versions
prior to 172.  The disk peristant name using the GPT UUID does
not exist, so use the by_path persistent name instead for the
journal symlink.

The gpt label fields are not available for use in udev rules. Add
ceph-disk-udev wrapper script that extracts the partition
type guid from the label and calls ceph-disk-activate if it is
a ceph guid type. (Bug #4632)

Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
12 years agodoc: Usage requires --num_osds.
John Wilkins [Tue, 23 Apr 2013 04:03:15 +0000 (21:03 -0700)]
doc: Usage requires --num_osds.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Added some detail. Calculating PGs, maps; reorganized a bit.
John Wilkins [Tue, 23 Apr 2013 04:02:45 +0000 (21:02 -0700)]
doc: Added some detail. Calculating PGs, maps; reorganized a bit.

fixes: #2968

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agomon: [MDS]Monitor: remove 'stop_cluster' and 'do_stop()' 222/head
Joao Eduardo Luis [Mon, 22 Apr 2013 22:25:27 +0000 (23:25 +0100)]
mon: [MDS]Monitor: remove 'stop_cluster' and 'do_stop()'

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
12 years agomon: MDSMonitor: tighter leash on cross-proposals to the osdmon
Joao Eduardo Luis [Mon, 22 Apr 2013 22:23:16 +0000 (23:23 +0100)]
mon: MDSMonitor: tighter leash on cross-proposals to the osdmon

Fixes: #3495
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
12 years agoMerge pull request #234 from ceph/wip-4758
Gregory Farnum [Mon, 22 Apr 2013 22:22:04 +0000 (15:22 -0700)]
Merge pull request #234 from ceph/wip-4758

Fixes #4758.

Reviewed-by: Greg Farnum <greg@inktank.com>
12 years agomon: PaxosService: add request_proposal() to perform cross-proposals
Joao Eduardo Luis [Tue, 16 Apr 2013 15:41:57 +0000 (16:41 +0100)]
mon: PaxosService: add request_proposal() to perform cross-proposals

Instead of allowing services to directly use 'propose_pending()' on
other services, we instead add two new functions:

  - request_proposal() to request 'this' service to propose its
    pending value; and
  - request_proposal(PaxosService *other) so that 'this' service
    can request a proposal to 'other'

These functions should allow us to enforce a greater set of
constraints at time of a cross-proposal, either by making sure a
service will (e.g.) hold-off his own proposals until said proposal
is performed, or even that the other service will enforce a tighter
set of constraints that wouldn't otherwise be enforced by using
'propose_pending()' directly.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
12 years agomon: PaxosService: is_writeable() depends on being ready to be written to
Joao Eduardo Luis [Tue, 16 Apr 2013 15:41:18 +0000 (16:41 +0100)]
mon: PaxosService: is_writeable() depends on being ready to be written to

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
12 years agomon: PaxosService: is_readable/writeable() depending on is_active()
Joao Eduardo Luis [Fri, 19 Apr 2013 11:56:51 +0000 (12:56 +0100)]
mon: PaxosService: is_readable/writeable() depending on is_active()

Instead of depending on individual conditions.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
12 years agomon: PaxosService: consider is_recovering() on is_writeable()
Joao Eduardo Luis [Mon, 15 Apr 2013 12:38:04 +0000 (13:38 +0100)]
mon: PaxosService: consider is_recovering() on is_writeable()

A service is never writeable while it's recovering.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
12 years agomon: commit LogSummary on every message 234/head
Sage Weil [Mon, 22 Apr 2013 22:01:09 +0000 (15:01 -0700)]
mon: commit LogSummary on every message

This moves our version pointer up so that we don't re-log (by re-consuming)
log messages to /var/log/ceph/ceph.log on ceph-mon restart.  OTOH, it means
we rewrite the summary of the last 50 messages, but we consider that to be
relatively cheap (and something we *always* did prior for bobtail and
earlier anyway).

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: set threshold to periodically stash_full
Sage Weil [Mon, 22 Apr 2013 21:58:09 +0000 (14:58 -0700)]
mon: set threshold to periodically stash_full

Set an interval to periodically write a full copy of the map that is lower
than the trim point (which is generally a very large number of commits).

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge pull request #230 from ceph/wip-mon-paxos-fixes
Sage Weil [Mon, 22 Apr 2013 22:11:46 +0000 (15:11 -0700)]
Merge pull request #230 from ceph/wip-mon-paxos-fixes

Wip mon paxos fixes

Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoMerge pull request #225 from ceph/wip-4543
Gregory Farnum [Mon, 22 Apr 2013 22:05:14 +0000 (15:05 -0700)]
Merge pull request #225 from ceph/wip-4543

Fixes #4543

Reviewed-by: Greg Farnum <greg@inktank.com>
12 years agoceph-mon: Attempt to obtain monmap from several possible sources 225/head
Joao Eduardo Luis [Fri, 19 Apr 2013 16:28:37 +0000 (17:28 +0100)]
ceph-mon: Attempt to obtain monmap from several possible sources

In order of interest/priority:

  - our latest monmap version
  - a backup monmap version created during sync start, if the store
    appears to be in a post-aborted sync state
  - a mkfs monmap version

If none of these are found, we should go ahead and try to build a
monmap from ceph.conf to join an existing cluster.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
12 years agomon: Monitor: backup monmap prior to starting a store sync
Joao Eduardo Luis [Fri, 19 Apr 2013 16:28:06 +0000 (17:28 +0100)]
mon: Monitor: backup monmap prior to starting a store sync

If by fate we end up attempting a store sync after failing at
least one before, we might not have a monmap to read from the
store to backup.  Therefore, in that case, we shall backup the
current monmap being used by the monitor.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
12 years agorgw: don't send tail to gc if copying object to itself
Yehuda Sadeh [Mon, 22 Apr 2013 19:48:56 +0000 (12:48 -0700)]
rgw: don't send tail to gc if copying object to itself

Fixes: #4776
Backport: bobtail
Need to make sure that when copying an object into itself we don't
send the tail to the garbage collection.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoMerge pull request #232 from ceph/wip-4710
Josh Durgin [Mon, 22 Apr 2013 20:36:38 +0000 (13:36 -0700)]
Merge pull request #232 from ceph/wip-4710

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
12 years agoMerge pull request #233 from ceph/wip-mon-idempotent
Sage Weil [Mon, 22 Apr 2013 19:58:08 +0000 (12:58 -0700)]
Merge pull request #233 from ceph/wip-mon-idempotent

Wip mon idempotent

Reviewed-by: Dan Mick <dan.mick@inktank.com>
12 years agomon: make 'osd pool rmsnap ...' idempotent 233/head
Sage Weil [Mon, 22 Apr 2013 19:50:09 +0000 (12:50 -0700)]
mon: make 'osd pool rmsnap ...' idempotent

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: make 'osd pool mksnap ...' idempotent
Sage Weil [Mon, 22 Apr 2013 19:49:58 +0000 (12:49 -0700)]
mon: make 'osd pool mksnap ...' idempotent

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: make 'osd blacklist rm ...' idempotent
Sage Weil [Mon, 22 Apr 2013 19:48:49 +0000 (12:48 -0700)]
mon: make 'osd blacklist rm ...' idempotent

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agorbd: only set STRIPINGV2 feature when needed 232/head
Sage Weil [Mon, 22 Apr 2013 19:41:49 +0000 (12:41 -0700)]
rbd: only set STRIPINGV2 feature when needed

Only set the STRIPINGV2 feature if the striping parameters are non-default.
Specifically, fix the case where the passed-in size and count are == 0.

Fixes: #4710
Signed-off-by: Sage Weil <sage@inktank.com>
12 years agorbd: fix feature display for --info
Sage Weil [Mon, 22 Apr 2013 19:38:11 +0000 (12:38 -0700)]
rbd: fix feature display for --info

Only include the feature if it is set!

Backport: bobtail
Signed-off-by: Sage Weil <sage@inktank.com>
12 years agorbd: avoid clobbering return value with udevadm settle
Sage Weil [Mon, 22 Apr 2013 18:41:02 +0000 (11:41 -0700)]
rbd: avoid clobbering return value with udevadm settle

Fixes: #4707
Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoFileJournal: a valid entry after invalid entry =/=> corrupt
Samuel Just [Mon, 22 Apr 2013 18:27:50 +0000 (11:27 -0700)]
FileJournal: a valid entry after invalid entry =/=> corrupt

Out of order journal entry writes using aio may cause entry
n+2 to be written prior to n.  This does not indicate
corruption.

Fixes: #4736
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
12 years agoradosgw: Fix duplicate 'Content-Type' when using 'response-content-type'
Sylvain Munaut [Thu, 14 Feb 2013 13:48:16 +0000 (14:48 +0100)]
radosgw: Fix duplicate 'Content-Type' when using 'response-content-type'

Signed-off-by: Sylvain Munaut <s.munaut@whatever-company.com>
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agomon: MonmapMonitor: add function to obtain latest monmap
Joao Eduardo Luis [Mon, 22 Apr 2013 15:20:37 +0000 (16:20 +0100)]
mon: MonmapMonitor: add function to obtain latest monmap

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
12 years agomon: PaxosService: add 'exists_key/version' helper functions
Joao Eduardo Luis [Mon, 22 Apr 2013 15:13:33 +0000 (16:13 +0100)]
mon: PaxosService: add 'exists_key/version' helper functions

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
12 years agoceph-create-keys: Don't wait if permission denied
Gary Lowell [Fri, 19 Apr 2013 18:19:05 +0000 (11:19 -0700)]
ceph-create-keys:  Don't wait if permission denied

If get or create keys returns permssion denied, exit
gracefully instead of retrying.

Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agodoc: Aesthetic improvements. Removed unnecessary graphic and overrode margin for...
John Wilkins [Sat, 20 Apr 2013 18:10:51 +0000 (11:10 -0700)]
doc: Aesthetic improvements. Removed unnecessary graphic and overrode margin for h3 tag.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Added a scenario to PG troubleshooting.
John Wilkins [Sat, 20 Apr 2013 18:08:08 +0000 (11:08 -0700)]
doc: Added a scenario to PG troubleshooting.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Changed usage to "bucket-name". Description was okay.
John Wilkins [Sat, 20 Apr 2013 18:06:44 +0000 (11:06 -0700)]
doc: Changed usage to "bucket-name". Description was okay.

fixes: #4102

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agoMerge branch 'wip-4201' into next
David Zafman [Sat, 20 Apr 2013 01:14:28 +0000 (18:14 -0700)]
Merge branch 'wip-4201' into next

Reviewed-by: Samuel Just <sam.just@inktank.com>
12 years agotools/ceph-filestore-dump: Implement remove, export and import 223/head
David Zafman [Thu, 21 Mar 2013 05:08:08 +0000 (22:08 -0700)]
tools/ceph-filestore-dump: Implement remove, export and import

Change local names to be clearer
Break real_log() into common function get_log()
Move infos_oid, biginfo_oid and log_oid to globals for general use

Feature: #4201 (osd: data loss: pg export/import/remove)

Signed-off-by: David Zafman <david.zafman@inktank.com>
12 years agoMerge branch 'wip_4662_clean' into next
Samuel Just [Sat, 20 Apr 2013 00:11:29 +0000 (17:11 -0700)]
Merge branch 'wip_4662_clean' into next

Reviewed-by: Greg Farnum <greg@inktank.com>
12 years agoReplicatedPG::_finish_mark_all_unfound_lost: only requeue if !deleting
Samuel Just [Fri, 19 Apr 2013 17:54:11 +0000 (10:54 -0700)]
ReplicatedPG::_finish_mark_all_unfound_lost: only requeue if !deleting

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoReplicatedPG::_applied_recovered_object*: don't queue scrub if deleting
Samuel Just [Fri, 19 Apr 2013 17:52:30 +0000 (10:52 -0700)]
ReplicatedPG::_applied_recovered_object*: don't queue scrub if deleting

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoPG: check for pg change in ~FlushState
Samuel Just [Fri, 19 Apr 2013 17:51:08 +0000 (10:51 -0700)]
PG: check for pg change in ~FlushState

Fixes: #4662
Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoPG: bail if deleting in _finish_recovery
Samuel Just [Fri, 19 Apr 2013 17:50:43 +0000 (10:50 -0700)]
PG: bail if deleting in _finish_recovery

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoAsyncReserver: delete context in cancel_reservation
Samuel Just [Fri, 19 Apr 2013 02:38:01 +0000 (19:38 -0700)]
AsyncReserver: delete context in cancel_reservation

Fixes: #4662
Backport: bobtail
Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agotools/ceph-filestore-dump: Error messages lost because stderr is closed
David Zafman [Wed, 20 Mar 2013 06:12:35 +0000 (23:12 -0700)]
tools/ceph-filestore-dump: Error messages lost because stderr is closed

Use cout instead of cerr for command errors
Use cerr for debug mode because stderr is avail
Output map_epoch in debug mode
Fix a message and only for debug mode

Signed-off-by: David Zafman <david.zafman@inktank.com>
12 years agoosd: Make clear_temp() public for use by remove
David Zafman [Thu, 18 Apr 2013 18:14:46 +0000 (11:14 -0700)]
osd: Make clear_temp() public for use by remove

Signed-off-by: David Zafman <david.zafman@inktank.com>
12 years agoosd: Add flag to force version write in _write_info()
David Zafman [Tue, 16 Apr 2013 06:40:13 +0000 (23:40 -0700)]
osd: Add flag to force version write in _write_info()

Signed-off-by: David Zafman <david.zafman@inktank.com>
12 years agoosd: Create static PG::_write_log() function
David Zafman [Sat, 6 Apr 2013 04:39:34 +0000 (21:39 -0700)]
osd: Create static PG::_write_log() function

Signed-off-by: David Zafman <david.zafman@inktank.com>
12 years agoOSDMonitor: pg split is no longer experimental
Samuel Just [Fri, 19 Apr 2013 20:21:01 +0000 (13:21 -0700)]
OSDMonitor: pg split is no longer experimental

Fixes: #4711
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
12 years agoMerge pull request #228 from alram/next
Sage Weil [Fri, 19 Apr 2013 22:16:41 +0000 (15:16 -0700)]
Merge pull request #228 from alram/next

Fix journal partition creation

Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoFix journal partition creation 228/head
Alexandre Marangone [Fri, 19 Apr 2013 22:09:28 +0000 (15:09 -0700)]
Fix journal partition creation

With OSD sharing data and journal, the previous code created the
journal partiton from the end of the device. A uint32_t is
used in sgdisk to get the last sector, with large HD, uint32_t
is too small.
The journal partition will be created backwards from the
a sector in the midlle of the disk leaving space before
and after it. The data partition will use whichever of
these spaces is greater. The remaining will not be used.

This patch creates the journal partition from the start as a workaround.

Signed-off-by: Alexandre Marangone <alexandre.marangone@inktank.com>
12 years agorbd: fix qa tests to use --allow-shrink
Sage Weil [Fri, 19 Apr 2013 21:08:51 +0000 (14:08 -0700)]
rbd: fix qa tests to use --allow-shrink

Fixes: #4763
Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge pull request #227 from ceph/wip-4574
Gregory Farnum [Fri, 19 Apr 2013 21:28:18 +0000 (14:28 -0700)]
Merge pull request #227 from ceph/wip-4574

Reviewed-by: Greg Farnum <greg@inktank.com>
12 years agoinit-ceph: do not stop start on first failure
Sage Weil [Fri, 19 Apr 2013 20:05:43 +0000 (13:05 -0700)]
init-ceph: do not stop start on first failure

When starting we often loop over many daemon instances.  Currently we stop
on the first error and do not try to start other daemons.

Instead, try them all, but return a failure if anything did not start.

Fixes: #2545
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Gary Lowell <gary.lowell@inktank.com>
12 years agomon: Monitor: fix timechecks get_health clobbering overall status 227/head
Joao Eduardo Luis [Fri, 19 Apr 2013 19:20:12 +0000 (20:20 +0100)]
mon: Monitor: fix timechecks get_health clobbering overall status

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
12 years agomon: fix health monitor calls
Sage Weil [Fri, 19 Apr 2013 19:16:11 +0000 (12:16 -0700)]
mon: fix health monitor calls

- unconditionally call get_health, regardless of formatter *
- return a meaningful health status code

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoglobal: call observers (and start logging) in global_init
Sage Weil [Thu, 18 Apr 2013 03:11:33 +0000 (20:11 -0700)]
global: call observers (and start logging) in global_init

Call observers so that the logging infrastructure gets initailized and we
start logging.  Otherwise, unless a default log setting has been modified,
we won't start logging until we daemonize, and we won't get the nice
version banner in the log file.

Unlike the previous attempt to fix this (a3091774), we do this after all
of the lockdep initialization has completed.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoosd: Create new static function PG::_write_info() for use by PG import
David Zafman [Fri, 5 Apr 2013 21:03:18 +0000 (14:03 -0700)]
osd: Create new static function PG::_write_info() for use by PG import

Signed-off-by: David Zafman <david.zafman@inktank.com>
12 years agoosd: Add OSD::make_infos_oid() as common function to create oid
David Zafman [Sat, 6 Apr 2013 00:04:14 +0000 (17:04 -0700)]
osd: Add OSD::make_infos_oid() as common function to create oid

Signed-off-by: David Zafman <david.zafman@inktank.com>
12 years agofilestore, osd: Fixes to comform to programming guidelines
David Zafman [Thu, 4 Apr 2013 22:51:40 +0000 (15:51 -0700)]
filestore, osd: Fixes to comform to programming guidelines

Signed-off-by: David Zafman <david.zafman@inktank.com>
12 years agomon: QuorumService: return health status on get_health()
Joao Eduardo Luis [Fri, 19 Apr 2013 18:26:51 +0000 (19:26 +0100)]
mon: QuorumService: return health status on get_health()

This allows us to return the appropriate overall health status on
Monitor::get_health().

Fixes: 4574
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
12 years agoOpRequest: don't maintain history if the OSD is shutting down
Samuel Just [Fri, 19 Apr 2013 02:24:03 +0000 (19:24 -0700)]
OpRequest: don't maintain history if the OSD is shutting down

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoosd/: optionally track every pg ref
Samuel Just [Fri, 19 Apr 2013 00:54:39 +0000 (17:54 -0700)]
osd/: optionally track every pg ref

This involves three pieces:

For intrusive_ptr type references, we use TrackedIntPtr instead.  This
uses get_with_id and put_with_id to associate an id and backtrace with
each particular ref instance.

For refs taken via direct calls to get() and put(), get and put now
require a tag string.  The PG tracks individual ref counts for each tag
as well as the total.

Finally, PGs register/unregister themselves on construction/destruction
with OSDService.

As a result, on shutdown, we can check for live pgs and determine where
the references are held.

This behavior is compiled out by default, but can be included with the
--enable-pgrefdebugging flag.

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agocommon/: add tracked_int_ptr.hpp
Samuel Just [Fri, 19 Apr 2013 00:39:10 +0000 (17:39 -0700)]
common/: add tracked_int_ptr.hpp

TrackedIntPtr acts like intrusive_ptr, but is able to
track a ref id.

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoReplicatedPG: use the ReplicatedPGRef typedef
Samuel Just [Wed, 17 Apr 2013 21:13:11 +0000 (14:13 -0700)]
ReplicatedPG: use the ReplicatedPGRef typedef

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoReplicatedPG: use ReplicatedPGRef for C_PG_MarkUnfoundLost
Samuel Just [Wed, 17 Apr 2013 21:08:39 +0000 (14:08 -0700)]
ReplicatedPG: use ReplicatedPGRef for C_PG_MarkUnfoundLost

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoReplicatedPG: use ReplicatedPGRef for C_OSD_OpCommit
Samuel Just [Wed, 17 Apr 2013 21:05:18 +0000 (14:05 -0700)]
ReplicatedPG: use ReplicatedPGRef for C_OSD_OpCommit

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoReplicatedPG: use ReplicatedPGRef for C_OSD_OpApplied
Samuel Just [Wed, 17 Apr 2013 21:05:02 +0000 (14:05 -0700)]
ReplicatedPG: use ReplicatedPGRef for C_OSD_OpApplied

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoOSD: use PGRef in handle_pg_remove
Samuel Just [Fri, 19 Apr 2013 00:55:25 +0000 (17:55 -0700)]
OSD: use PGRef in handle_pg_remove

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoOSD: use PGRef in handle_pg_stats_ack
Samuel Just [Fri, 19 Apr 2013 00:55:03 +0000 (17:55 -0700)]
OSD: use PGRef in handle_pg_stats_ack

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoPG: use PGRef in QueuePeeringEvt
Samuel Just [Fri, 19 Apr 2013 00:41:48 +0000 (17:41 -0700)]
PG: use PGRef in QueuePeeringEvt

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoOSD: use PGRef in consume_map
Samuel Just [Fri, 19 Apr 2013 00:40:12 +0000 (17:40 -0700)]
OSD: use PGRef in consume_map

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoPG: use PGRef for FlushState
Samuel Just [Wed, 17 Apr 2013 20:52:13 +0000 (13:52 -0700)]
PG: use PGRef for FlushState

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoPG: use PGRef for C_PG_FinishRecovery
Samuel Just [Wed, 17 Apr 2013 20:51:36 +0000 (13:51 -0700)]
PG: use PGRef for C_PG_FinishRecovery

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoPG: use PGRef in C_PG_ActivateCommitted
Samuel Just [Wed, 17 Apr 2013 20:50:52 +0000 (13:50 -0700)]
PG: use PGRef in C_PG_ActivateCommitted

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoPG: do not put() in scrub() if pg is deleting
Samuel Just [Thu, 18 Apr 2013 00:14:07 +0000 (17:14 -0700)]
PG: do not put() in scrub() if pg is deleting

scrub() no longer handles the put, this call
must have been missed.

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoPG,ReplicatedPG: move intrusive_ptr declarations to top
Samuel Just [Fri, 19 Apr 2013 00:41:18 +0000 (17:41 -0700)]
PG,ReplicatedPG: move intrusive_ptr declarations to top

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoReplicatedPG: add ReplicatedPGRef
Samuel Just [Wed, 17 Apr 2013 20:57:50 +0000 (13:57 -0700)]
ReplicatedPG: add ReplicatedPGRef

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoFileStore::_do_copy_range: read(2) might return EINTR
Samuel Just [Wed, 10 Apr 2013 21:55:13 +0000 (14:55 -0700)]
FileStore::_do_copy_range: read(2) might return EINTR

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoFileStore::_do_clone_range: _do_copy_range encodes error in return, not errno
Samuel Just [Wed, 10 Apr 2013 21:53:55 +0000 (14:53 -0700)]
FileStore::_do_clone_range: _do_copy_range encodes error in return, not errno

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoMerge pull request #224 from ceph/wip-mon-crush
Sage Weil [Fri, 19 Apr 2013 17:20:18 +0000 (10:20 -0700)]
Merge pull request #224 from ceph/wip-mon-crush

Wip mon crush

Reviewed-by: Dan Mick <dan.mick@inktank.com>
12 years agoconfig: clarify 'mon osd down out subtree limit'
Sage Weil [Fri, 19 Apr 2013 16:27:55 +0000 (09:27 -0700)]
config: clarify 'mon osd down out subtree limit'

Clarify the description; this is the subtree type that we won't mark out
if it is all down, but anything less than it will be.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agodoc: Trimmed toc depth for nicer visual appearance.
John Wilkins [Thu, 18 Apr 2013 21:23:47 +0000 (14:23 -0700)]
doc: Trimmed toc depth for nicer visual appearance.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Added new PG troubleshooting use case.
John Wilkins [Thu, 18 Apr 2013 21:08:43 +0000 (14:08 -0700)]
doc: Added new PG troubleshooting use case.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Updated title.
John Wilkins [Thu, 18 Apr 2013 21:08:10 +0000 (14:08 -0700)]
doc: Updated title.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Added PG troubleshooting to toctree.
John Wilkins [Thu, 18 Apr 2013 21:07:56 +0000 (14:07 -0700)]
doc: Added PG troubleshooting to toctree.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>