]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
10 years agoosdc/Objecter: objecter_inject_no_watch_ping
Sage Weil [Sat, 8 Nov 2014 04:01:50 +0000 (20:01 -0800)]
osdc/Objecter: objecter_inject_no_watch_ping

Tunable to prevent PINGs.  This will let us test paths the client gets
disconnected from the OSD (at least from the client's perspective).

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosdc/Objecter: stop sending pings once we get an error
Sage Weil [Sat, 8 Nov 2014 03:47:53 +0000 (19:47 -0800)]
osdc/Objecter: stop sending pings once we get an error

If we get ENOTCONN or ETIMEDOUT we can stop pinging.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosd/Watch: set timeout event for new watchers
Sage Weil [Sat, 8 Nov 2014 03:45:21 +0000 (19:45 -0800)]
osd/Watch: set timeout event for new watchers

For a new watcher, we set the timeout event on connect, and reset it when
we get a ping.

For an old watcher, we continue to set the timeout on disconnect() and
rely on the msgr Connection reset.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agomake ping verify we are connected
Sage Weil [Sat, 8 Nov 2014 03:38:24 +0000 (19:38 -0800)]
make ping verify we are connected

10 years agoosdc/Objecter: only ping watches (not notifies)
Sage Weil [Sat, 8 Nov 2014 03:26:03 +0000 (19:26 -0800)]
osdc/Objecter: only ping watches (not notifies)

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosd, librados: distinguish between old and new watchers
Sage Weil [Sat, 8 Nov 2014 01:47:09 +0000 (17:47 -0800)]
osd, librados: distinguish between old and new watchers

Use a new watch op code that is different from the legacy one so we can
tell when the client is doing all the new stuff (like sending pings).

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agolibrados: tell watcher if we cause a notify timeout
Sage Weil [Sat, 8 Nov 2014 01:12:54 +0000 (17:12 -0800)]
librados: tell watcher if we cause a notify timeout

If we are a watcher and we fail to notify in a timely manner, or
circumstances otherwise conspire to prevent out ack from arriving in time,
initiate a callback.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosd/Watch: inform watchers when they cause a notify timeout
Sage Weil [Sat, 8 Nov 2014 00:36:43 +0000 (16:36 -0800)]
osd/Watch: inform watchers when they cause a notify timeout

If a watcher doesn't ack in time, let them know that they triggered a
notify failure.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agolibrados: EINVAL on bad args to watch2
Sage Weil [Sat, 8 Nov 2014 01:10:18 +0000 (17:10 -0800)]
librados: EINVAL on bad args to watch2

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agolibrados: behave if errcb is NULL
Sage Weil [Sat, 8 Nov 2014 01:04:37 +0000 (17:04 -0800)]
librados: behave if errcb is NULL

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosd/Watch: drop redundant in_progress_watchers
Sage Weil [Sat, 8 Nov 2014 00:35:41 +0000 (16:35 -0800)]
osd/Watch: drop redundant in_progress_watchers

This is essentially watchers.size() at all times and obfuscates the code.
In particular this makes the maybe_complete_notify() logic much clearer.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosd/Watch: fix comment typo
Sage Weil [Sat, 8 Nov 2014 00:18:30 +0000 (16:18 -0800)]
osd/Watch: fix comment typo

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoceph_test_rados_api_watch_notify: verify we get the right # of notifies
Sage Weil [Sat, 8 Nov 2014 00:13:23 +0000 (16:13 -0800)]
ceph_test_rados_api_watch_notify: verify we get the right # of notifies

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoceph_test_rados_api_watch_notify: s/handle/cookie/
Sage Weil [Sat, 8 Nov 2014 00:04:25 +0000 (16:04 -0800)]
ceph_test_rados_api_watch_notify: s/handle/cookie/

Use consist nameing for C and C++ tests.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoclean up CEPH_WATCH_EVENT_* namespace, and make COMPLETE distinct
Sage Weil [Fri, 7 Nov 2014 23:35:24 +0000 (15:35 -0800)]
clean up CEPH_WATCH_EVENT_* namespace, and make COMPLETE distinct

Use a proper prefix and make a separate event for the notify completion
message.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosdc/Objecter: send regular PING ops
Sage Weil [Fri, 17 Oct 2014 03:19:00 +0000 (20:19 -0700)]
osdc/Objecter: send regular PING ops

Send a full PING op to the object to ensure we are still connected. For
now just use the existing ping interval; we may want to change this in
the future.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosdc/Objecter: queue an error if reconnect fails
Sage Weil [Fri, 17 Oct 2014 03:17:40 +0000 (20:17 -0700)]
osdc/Objecter: queue an error if reconnect fails

If we fail to reconnect, trigger the on_error (reusable) context to
let the user know about it.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosdc/Objecter: separate WATCH from RECONNECT
Sage Weil [Fri, 17 Oct 2014 03:16:07 +0000 (20:16 -0700)]
osdc/Objecter: separate WATCH from RECONNECT

Use WATCH op for the initial registration.  This is idempotent in that
it will succeed whether the watch information has been persisted or not.
It is used by the client if it does not know that it is registered.

The RECONNECT op is used for any subsequent session reconnect.  It will
fail if the watch state isn't already persisted on the OSD.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agorados: improve watch command output
Sage Weil [Fri, 17 Oct 2014 03:12:22 +0000 (20:12 -0700)]
rados: improve watch command output

- hexdump the notify payload, and include all of the new metadata
- print error events too

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agolibrados: add infrastructure to deliver an error notification
Sage Weil [Fri, 17 Oct 2014 03:11:43 +0000 (20:11 -0700)]
librados: add infrastructure to deliver an error notification

Use a reusable context in the WatchNotifyInfo to trigger an error
event, delivered via the existing Finisher thread.  Re-lookup the cookie
in the thread to cope with races with unregister (just as we do with
notify events).

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agolibrados: define error callback
Sage Weil [Fri, 17 Oct 2014 03:09:07 +0000 (20:09 -0700)]
librados: define error callback

This is the async notification of a watch error (failure to reconnect to
the object's OSD after a peering event or network disconnect).

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agolibrados: remove crufty declaration
Sage Weil [Fri, 17 Oct 2014 02:52:52 +0000 (19:52 -0700)]
librados: remove crufty declaration

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosd/ReplicatedPG: handle PING and RECONNECT watch ops
Sage Weil [Fri, 17 Oct 2014 02:28:53 +0000 (19:28 -0700)]
osd/ReplicatedPG: handle PING and RECONNECT watch ops

The ping will essentially assert that a watch is still valid.

A reconnect will reestablish session state *only* if the watch is
still persistent.  If not, it will fail (and the client will know it
may have missed something).

Note that the only difference here is that a PING is a bit lighter
weight; it will not reestablish the session state (which should already
be established).  We could use a single op here but the unique op
code makes the messages easier to understand and simplifies the code
path a bit for PING.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agolibrados: define RECONNECT and PING watch ops
Sage Weil [Fri, 17 Oct 2014 02:26:17 +0000 (19:26 -0700)]
librados: define RECONNECT and PING watch ops

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosdc/Objecter: fix assert_src_version
Sage Weil [Fri, 10 Oct 2014 01:14:53 +0000 (18:14 -0700)]
osdc/Objecter: fix assert_src_version

Don't use the add_watch() helper; do it like assert_version
does it.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agolibrados: use new watch op codes; simplify Objecter helpers
Sage Weil [Fri, 10 Oct 2014 01:14:15 +0000 (18:14 -0700)]
librados: use new watch op codes; simplify Objecter helpers

- drop the useless add_watch() helper; do it explicitly
- drop the unused var arg everywhere
- make a separate notify member of the union that excludes
  the other unused fields

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agolibrados: define CEPH_OSD_WATCH_OP_*
Sage Weil [Fri, 10 Oct 2014 01:11:44 +0000 (18:11 -0700)]
librados: define CEPH_OSD_WATCH_OP_*

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agolibrados: unconditionally pass WATCH_NOTIFY to legacy callback
Sage Weil [Fri, 10 Oct 2014 00:42:14 +0000 (17:42 -0700)]
librados: unconditionally pass WATCH_NOTIFY to legacy callback

This was always WATCH_NOTIFY; just pass that explicitly.  No need to
pay attention to what's in the message.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosd: allow multiple watchers/notify replies per client
Sage Weil [Wed, 8 Oct 2014 15:25:45 +0000 (08:25 -0700)]
osd: allow multiple watchers/notify replies per client

It is perfectly valid to register multiple watchers via the same
librados client.  Make the notify_replies a multimap to capture all
of the acks.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agolibrados: include notifier's gid in notify
Sage Weil [Tue, 7 Oct 2014 22:56:52 +0000 (15:56 -0700)]
librados: include notifier's gid in notify

The notify replies include the identify of everyone who acked the
notify.  For symmetry, inform the notified client who sent the notify.

Fixes: #9198
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoceph_test_rados_api_watch_notify: test notify2 api
Sage Weil [Tue, 7 Oct 2014 22:28:55 +0000 (15:28 -0700)]
ceph_test_rados_api_watch_notify: test notify2 api

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agolibrados: update notify2 API to accept reply payloads
Sage Weil [Thu, 21 Aug 2014 21:52:34 +0000 (14:52 -0700)]
librados: update notify2 API to accept reply payloads

Allow the notify2 callers to provide bufferlists or char ** pointers
so that we can pass the reply buffer back to them.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosd: implement notify ack payloads
Sage Weil [Thu, 21 Aug 2014 21:46:35 +0000 (14:46 -0700)]
osd: implement notify ack payloads

If the notified send back reply payloads, pass them back to the notifier.

Note that we have changed the on-wire behavior of the watch completion
message a bit: instead of sending the original notify payload back to the
notifier, we send the map of notified to replies.  Note that only users of
the new API will know what to do with the notify acknowledgement
information.  At the same time, we stop sending the original payload.
However, the old API users never saw that data; we were uselessly sending
it over the wire.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agolibrados: define updated watch/notify interface
Sage Weil [Thu, 21 Aug 2014 21:32:48 +0000 (14:32 -0700)]
librados: define updated watch/notify interface

- new notify callback with the correct values:
  - notify_id
  - watch handle
  - payload
- new notify_ack call
  - not implicit when the callback returns (for new api only)
  - optional payload
- new watch2 call
  - that provides the new callback
- new notify2 call
  - with the right arguments, and optional timeout

A couple refactors in here:
- IoCtx notify_ack is now called unlocked (Note: this will soon change
  with pending Objecter locking changes)
- Objecter notify_ack takes a buffer

TODO:
- no timeout on the individual watch, yet...

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agolibrados: drop useless ver arg to _notify_ack
Sage Weil [Thu, 21 Aug 2014 20:38:17 +0000 (13:38 -0700)]
librados: drop useless ver arg to _notify_ack

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3076 from ceph/wip-mon-mdsdne
Gregory Farnum [Thu, 4 Dec 2014 18:31:34 +0000 (10:31 -0800)]
Merge pull request #3076 from ceph/wip-mon-mdsdne

MDSMonitor.cc: fix assertion caused by MDSMap::STATE_DNE state

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoMerge pull request #3072 from ceph/wip-10231-gperftools-location
Sage Weil [Thu, 4 Dec 2014 18:13:55 +0000 (10:13 -0800)]
Merge pull request #3072 from ceph/wip-10231-gperftools-location

heap_profiler: support new gperftools header locations

gitbuilders are happy

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3084 from ceph/wip-rados-include
Sage Weil [Thu, 4 Dec 2014 18:11:18 +0000 (10:11 -0800)]
Merge pull request #3084 from ceph/wip-rados-include

librados: Fix rados include problem reported by "sponce"

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agolibrados: Fix rados include problem reported by "sponce" 3084/head
David Zafman [Thu, 4 Dec 2014 18:02:38 +0000 (10:02 -0800)]
librados: Fix rados include problem reported by "sponce"

Caused by a03f85a8e7fab296ea2df70a929a1c5e4aa0f7fb

Signed-off-by: David Zafman <dzafman@redhat.com>
10 years agoMerge pull request #3059 from dachary/wip-10125-radosgw-init
Sage Weil [Thu, 4 Dec 2014 18:04:30 +0000 (10:04 -0800)]
Merge pull request #3059 from dachary/wip-10125-radosgw-init

rgw: run radosgw as apache with systemd

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agorgw: run radosgw as apache with systemd 3059/head
Loic Dachary [Tue, 2 Dec 2014 17:10:48 +0000 (18:10 +0100)]
rgw: run radosgw as apache with systemd

Same as sysv.

http://tracker.ceph.com/issues/10125 Fixes: #10125

Signed-off-by: Loic Dachary <loic@dachary.org>
10 years agoMerge pull request #2997 from ceph/wip-snapmapper
Samuel Just [Thu, 4 Dec 2014 17:30:44 +0000 (09:30 -0800)]
Merge pull request #2997 from ceph/wip-snapmapper

osd: require SNAPMAPPER feature; drop tolerate_collection_add_enoent

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #2979 from ceph/wip-kill-category
Samuel Just [Thu, 4 Dec 2014 17:29:31 +0000 (09:29 -0800)]
Merge pull request #2979 from ceph/wip-kill-category

osd: kill 'category' from pg_stats_t

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #2694 from dachary/wip-9728-jerasure-neon
Samuel Just [Thu, 4 Dec 2014 17:26:48 +0000 (09:26 -0800)]
Merge pull request #2694 from dachary/wip-9728-jerasure-neon

erasure-code: jerasure support for NEON

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agoMerge pull request #3082 from scuttlemonkey/wip-doc-10247
Sage Weil [Thu, 4 Dec 2014 17:25:40 +0000 (09:25 -0800)]
Merge pull request #3082 from scuttlemonkey/wip-doc-10247

Changed os-recommendation table sorting to remove implied bias.

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3048 from ceph/wip-10209
Samuel Just [Thu, 4 Dec 2014 17:25:14 +0000 (09:25 -0800)]
Merge pull request #3048 from ceph/wip-10209

osd: tolerate sessionless con in fast dispatch path

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoMerge pull request #3049 from dachary/wip-10211-erasure-code-buffer-alignement
Samuel Just [Thu, 4 Dec 2014 17:24:14 +0000 (09:24 -0800)]
Merge pull request #3049 from dachary/wip-10211-erasure-code-buffer-alignement

erasure-code: enforce chunk size alignment

Reviewed-by: Samuel Just <sjust@redhat.com>
10 years agodoc/release-notes: v0.89
Sage Weil [Thu, 4 Dec 2014 17:15:37 +0000 (09:15 -0800)]
doc/release-notes: v0.89

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge remote-tracking branch 'gh/next'
Sage Weil [Thu, 4 Dec 2014 16:39:56 +0000 (08:39 -0800)]
Merge remote-tracking branch 'gh/next'

10 years agoChanged os-recommendation table sorting to remove implied bias. 3082/head
scuttlemonkey [Thu, 4 Dec 2014 16:27:35 +0000 (11:27 -0500)]
Changed os-recommendation table sorting to remove implied bias.

Fixes: #10247
signed-of by: Patrick McGarry <pmcgarry@redhat.com>

10 years agoMerge pull request #3024 from ceph/wip-librados-symbols
Loic Dachary [Thu, 4 Dec 2014 14:10:10 +0000 (15:10 +0100)]
Merge pull request #3024 from ceph/wip-librados-symbols

librados: Only public API symbols from the shared library

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMDSMonitor.cc: fix assertion caused by MDSMap::STATE_DNE state 3076/head
Yan, Zheng [Thu, 4 Dec 2014 12:26:59 +0000 (20:26 +0800)]
MDSMonitor.cc: fix assertion caused by MDSMap::STATE_DNE state

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agoMerge pull request #3028 from majianpeng/fix4
Loic Dachary [Thu, 4 Dec 2014 06:39:40 +0000 (07:39 +0100)]
Merge pull request #3028 from majianpeng/fix4

Add perf reset command.

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoMerge pull request #3074 from ceph/wip-10229
Yan, Zheng [Thu, 4 Dec 2014 05:32:32 +0000 (13:32 +0800)]
Merge pull request #3074 from ceph/wip-10229

osdc/Filer: use finisher to execute C_Probe and C_PurgeRange

10 years agoosdc/Filer: use finisher to execute C_Probe and C_PurgeRange 3074/head
Yan, Zheng [Thu, 4 Dec 2014 04:18:47 +0000 (12:18 +0800)]
osdc/Filer: use finisher to execute C_Probe and C_PurgeRange

Currently contexts C_Probe/C_PurgeRange are executed while holding
OSDSession::completion_lock. C_Probe and C_PurgeRange may call
Objecter::stat() and Objecter::remove() respectively, which acquire
Objecter::rwlock. This can cause deadlock because there is intermediate
dependency between Objecter::rwlock and OSDSession::completion_lock:

 Objecter::rwlock -> OSDSession::lock -> OSDSession::completion_lock

The fix is exexcute C_Probe/C_PurgeRange in finisher thread.

Fixes: #10229
Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agoheap_profiler: support new gperftools header locations 3072/head
Ken Dreyer [Tue, 2 Dec 2014 01:24:22 +0000 (18:24 -0700)]
heap_profiler: support new gperftools header locations

The google/ headers location has been deprecated as of gperftools 2.0.
As of gperftools 2.2rc, the google/ headers will now give deprecation
warnings, and they will probably disappear in a future gperftools
update.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
10 years agomon: fix signed/unsigned comparison warning
Greg Farnum [Wed, 3 Dec 2014 18:45:52 +0000 (10:45 -0800)]
mon: fix signed/unsigned comparison warning

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
10 years ago0.89 v0.89
Jenkins [Wed, 3 Dec 2014 16:18:33 +0000 (08:18 -0800)]
0.89

10 years agoMerge pull request #3065 from ceph/wip-cephtool-exec
Loic Dachary [Wed, 3 Dec 2014 15:28:51 +0000 (16:28 +0100)]
Merge pull request #3065 from ceph/wip-cephtool-exec

qa: fix cephtool tests not getting run

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agoqa: fix teardown in cephtool's test_mon_mds 3065/head
John Spray [Tue, 2 Dec 2014 21:43:03 +0000 (21:43 +0000)]
qa: fix teardown in cephtool's test_mon_mds

This was missing from 17b5fc9a but we didn't notice
because the test wasn't being run by the gitbuilders.

Signed-off-by: John Spray <john.spray@redhat.com>
10 years agoMerge pull request #3044 from osynge/wip=suse-systemd
Sage Weil [Wed, 3 Dec 2014 04:56:55 +0000 (20:56 -0800)]
Merge pull request #3044 from osynge/wip=suse-systemd

better systemd support

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3067 from dachary/wip-cephtool
Sage Weil [Wed, 3 Dec 2014 04:53:12 +0000 (20:53 -0800)]
Merge pull request #3067 from dachary/wip-cephtool

fix cephtools running only part of the tests + avoid killing wrong daemons

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agocommon/perf_counters: Remove the duplicated code. 3028/head
Jianpeng Ma [Wed, 3 Dec 2014 02:28:00 +0000 (10:28 +0800)]
common/perf_counters: Remove the duplicated code.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
10 years agotest/perf_counters: Replace perfcounters_dump to perf dump.
Jianpeng Ma [Wed, 3 Dec 2014 02:26:26 +0000 (10:26 +0800)]
test/perf_counters: Replace perfcounters_dump to perf dump.

The func of command  perfcounters_dump and 'perf dump' are the same .
But from the print 'ceph --admin-daemon help', it only print 'perf
dump'. So replace.
In order to keep consistent, still keep perfcounters_dump in code for
old user.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
10 years agotest/perf_counters: Add test case for cmd 'perf reset'
Jianpeng Ma [Wed, 3 Dec 2014 02:23:03 +0000 (10:23 +0800)]
test/perf_counters: Add test case for cmd 'perf reset'

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
10 years agocommon/perf_counters: Add 'perf reset all|perfcountername' for 'ceph
Jianpeng Ma [Wed, 3 Dec 2014 02:10:03 +0000 (10:10 +0800)]
common/perf_counters: Add 'perf reset all|perfcountername' for 'ceph
--admin-daemon'

Using this command, we can reset all perfcounters or reset on specified
perfcounter.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
10 years agoMerge pull request #3068 from ktdreyer/doc-os-recommendations-cleanup
Loic Dachary [Wed, 3 Dec 2014 00:23:52 +0000 (01:23 +0100)]
Merge pull request #3068 from ktdreyer/doc-os-recommendations-cleanup

doc: os recommendations cleanup

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agodoc: rm Fedora minor versions in os recommendations 3068/head
Ken Dreyer [Tue, 2 Dec 2014 23:31:06 +0000 (16:31 -0700)]
doc: rm Fedora minor versions in os recommendations

Fedora doesn't have point releases, so it doesn't make sense to talk
about "Fedora 18.0" or "Fedora 19.0" - it's just "Fedora 18" or "Fedora
19".

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
10 years agoos/ObjectStore: drop tolerate_collection_add_enoent 2997/head
Sage Weil [Mon, 24 Nov 2014 17:23:13 +0000 (09:23 -0800)]
os/ObjectStore: drop tolerate_collection_add_enoent

This is no longer needed and clutters the interface.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoosd: require SNAPMAPPER feature from peers
Sage Weil [Mon, 24 Nov 2014 17:22:30 +0000 (09:22 -0800)]
osd: require SNAPMAPPER feature from peers

This was introduced before cuttlefish.  We require users to upgrade first
to a newer release, so there is no need to support a mixed cluster with
such old code.

Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3061 from ktdreyer/rpm-ceph-disk-man-page
Loic Dachary [Tue, 2 Dec 2014 23:18:50 +0000 (00:18 +0100)]
Merge pull request #3061 from ktdreyer/rpm-ceph-disk-man-page

packaging: package ceph-disk(8)

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agopackaging: package ceph-disk(8) 3061/head
Ken Dreyer [Tue, 2 Dec 2014 20:58:10 +0000 (13:58 -0700)]
packaging: package ceph-disk(8)

The ceph-disk man page was added in
a450cab2b8148cb8a9b043d629feccf89e5aabac, but this was not added to the
RPM or DEB packaging. Add it here.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
10 years agodoc: rm old releases in os recommendations page
Ken Dreyer [Tue, 2 Dec 2014 22:54:22 +0000 (15:54 -0700)]
doc: rm old releases in os recommendations page

Similar to the change in commit
4cdc9c793627eec13c65543c09c604ec27a4dd8a, remove the references to old
Ceph releases.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
10 years agodoc: clarify "B" flag in os recommendations page
Ken Dreyer [Tue, 2 Dec 2014 22:52:58 +0000 (15:52 -0700)]
doc: clarify "B" flag in os recommendations page

We don't exactly do continuous builds on all the platforms marked with
"B", but we have published binary RPMs for them. Adjust the "B"
footnote definition to reflect this.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
10 years agoqa: cephtool/test.sh use regular strings to list tests 3067/head loic/wip-cephtool
Loic Dachary [Tue, 2 Dec 2014 22:16:05 +0000 (23:16 +0100)]
qa: cephtool/test.sh use regular strings to list tests

Using the array notation to list test is error prone and more
complicated to write.

It also fixes a bug : only the first test of each series (MON, OSD, MDS)
was run and the others were ignored.

Signed-off-by: Loic Dachary <loic@dachary.org>
10 years agotests: vstart_wrapper.sh must call vstart.sh with a list of daemons
Loic Dachary [Tue, 2 Dec 2014 06:37:15 +0000 (07:37 +0100)]
tests: vstart_wrapper.sh must call vstart.sh with a list of daemons

The list of daemons is provided in the $CEPH_START environment variable
but vstart_wrapper.sh incorrectly uses the $VSTART_ARGS empty variable.

As a consequence vstart.sh calls init-ceph stop which kills daemons that
do not belong to the test.

http://tracker.ceph.com/issues/10215 Fixes: #10215

Signed-off-by: Loic Dachary <loic@dachary.org>
10 years agoerasure-code: enforce chunk size alignment 3049/head
Loic Dachary [Tue, 2 Dec 2014 00:07:34 +0000 (01:07 +0100)]
erasure-code: enforce chunk size alignment

Let say the ErasureCode::encode function is given a 4096 bytes
bufferlist made of a 1249 bytes bufferptr followed by a 2847 bytes
bufferptr, both properly starting on SIMD_ALIGN address. As a result the
second 2048 had to be reallocated when bufferlist::substr_of gets the
second 2048 buffer, the address starts at 799 bytes after the beginning
of the 2847 buffer ptr and is not SIMD_ALIGN'ed.

The ErasureCode::encode must enforce a size alignment based on the chunk
size in addition to the memory alignment required by SIMD operations,
using the bufferlist::rebuild_aligned_size_and_memory function instead of
bufferlist::rebuild_aligned.

http://tracker.ceph.com/issues/10211 Fixes: #10211

Signed-off-by: Loic Dachary <loic@dachary.org>
10 years agocommon: allow size alignment that is not a power of two
Loic Dachary [Tue, 2 Dec 2014 01:04:14 +0000 (02:04 +0100)]
common: allow size alignment that is not a power of two

Do not assume the alignment is a power of two in the is_n_align_sized()
predicate. When used in the context of erasure code it is common
for chunks to not be powers of two.

Signed-off-by: Loic Dachary <loic@dachary.org>
10 years agocommon: add bufferlist::rebuild_aligned_size_and_memory
Loic Dachary [Mon, 1 Dec 2014 23:59:08 +0000 (00:59 +0100)]
common: add bufferlist::rebuild_aligned_size_and_memory

The function bufferlist::rebuild_aligned checks memory and size
alignment with the same variable. It is however useful to separate
memory alignment constraints from size alignment constraints. For
instance rebuild_aligned could be called to allocate an erasure coded
buffer where each 2048 bytes chunk needs to start on a memory address
aligned on 32 bytes.

Signed-off-by: Loic Dachary <loic@dachary.org>
10 years agodoc: Reformatting on rbd replay doc.
John Wilkins [Tue, 2 Dec 2014 19:23:55 +0000 (11:23 -0800)]
doc: Reformatting on rbd replay doc.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
10 years agodoc: Added rbd-replay-many and restructured index.
John Wilkins [Tue, 2 Dec 2014 19:23:29 +0000 (11:23 -0800)]
doc: Added rbd-replay-many and restructured index.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
10 years agodoc: Fixed index syntax.
John Wilkins [Tue, 2 Dec 2014 19:23:00 +0000 (11:23 -0800)]
doc: Fixed index syntax.

Signed-off-by: John Wilkins <jowilkin@redhat.com>
10 years agoMerge pull request #3051 from ceph/wip-doc-rbd-replay
John Wilkins [Tue, 2 Dec 2014 19:09:13 +0000 (11:09 -0800)]
Merge pull request #3051 from ceph/wip-doc-rbd-replay

doc: Document RBD Replay

Reviewed-by: John Wilkins <jowilkin@redhat.com>
10 years agoMerge pull request #3060 from ktdreyer/doc-os-recommendations-centos-7
John Wilkins [Tue, 2 Dec 2014 19:07:07 +0000 (11:07 -0800)]
Merge pull request #3060 from ktdreyer/doc-os-recommendations-centos-7

doc: add CentOS 7 to recommended OSes

Reviewed-by: John Wilkins <jowilkin@redhat.com>
10 years agodoc: add CentOS 7 to recommended OSes 3060/head
Ken Dreyer [Tue, 2 Dec 2014 17:45:26 +0000 (10:45 -0700)]
doc: add CentOS 7 to recommended OSes

CentOS 7 was missing from the list of recommended OSes for Firefly. Add
it to the list.

Reported-By: Frank Even <lists+ceph.com@elitists.org>
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
10 years agoMerge pull request #2993 from theanalyst/s3/keystone-date-fixes
Yehuda Sadeh [Tue, 2 Dec 2014 17:39:02 +0000 (09:39 -0800)]
Merge pull request #2993 from theanalyst/s3/keystone-date-fixes

rgw: check for timestamp for s3 keystone auth

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
10 years agoMerge pull request #3058 from nilamdyuti/wip-doc-ceph-disk
Loic Dachary [Tue, 2 Dec 2014 17:16:56 +0000 (18:16 +0100)]
Merge pull request #3058 from nilamdyuti/wip-doc-ceph-disk

doc: Adds man page for ceph disk in TOC.

Reviewed-by: Loic Dachary <ldachary@redhat.com>
10 years agodoc: Adds man page for ceph disk in TOC. 3058/head
Nilamdyuti Goswami [Tue, 2 Dec 2014 17:04:57 +0000 (22:34 +0530)]
doc: Adds man page for ceph disk in TOC.

Signed-off-by: Nilamdyuti Goswami <ngoswami@redhat.com>
10 years agoMerge pull request #3056 from ceph/wip-9997-1
John Spray [Tue, 2 Dec 2014 14:19:06 +0000 (14:19 +0000)]
Merge pull request #3056 from ceph/wip-9997-1

client: invalidate kernel dentries one by one

Reviewed-by: John Spray <john.spray@redhat.com>
10 years agoclient: invalidate kernel dentries one by one 3056/head
Yan, Zheng [Mon, 1 Dec 2014 13:54:52 +0000 (21:54 +0800)]
client: invalidate kernel dentries one by one

Our trick to trim the whole kernel dentry tree does not work for 3.18+ kernel.
The fix is trim kernel dentries one by one.

Fixes: #9997
Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agoMerge pull request #3052 from ceph/wip-flush-journal-fix
John Spray [Tue, 2 Dec 2014 13:18:10 +0000 (13:18 +0000)]
Merge pull request #3052 from ceph/wip-flush-journal-fix

mds: fix race of trimming log segments

Reviewed-by: John Spray <john.spray@redhat.com>
10 years agoMerge pull request #2994 from dachary/wip-10175-compile-dependencies
Loic Dachary [Tue, 2 Dec 2014 09:32:15 +0000 (10:32 +0100)]
Merge pull request #2994 from dachary/wip-10175-compile-dependencies

script replacement for deps.{rpm,deb}.txt

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Thorsten Behrens <tbehrens@suse.com>
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Sahid Orentino Ferdjaoui <sahid.ferdjaoui@redhat.com>
10 years agomds: fix race of trimming log segments 3052/head
Yan, Zheng [Tue, 2 Dec 2014 05:59:11 +0000 (13:59 +0800)]
mds: fix race of trimming log segments

trimming old log segments can start new log segments, make sure
MDLog::trim_all() not expire newly started log segments.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
10 years agoMerge pull request #3041 from xiaoxichen/cleanup-noop
Sage Weil [Tue, 2 Dec 2014 04:47:29 +0000 (20:47 -0800)]
Merge pull request #3041 from xiaoxichen/cleanup-noop

Cleanup noop in message

Reviewed-by: Sage Weil <sage@redhat.com>
10 years agodoc: Document RBD Replay 3051/head
Adam Crume [Tue, 2 Dec 2014 04:44:02 +0000 (20:44 -0800)]
doc: Document RBD Replay

Signed-off-by: Adam Crume <adamcrume@gmail.com>
10 years agoosd: tolerate sessionless con in fast dispatch path 3048/head
Sage Weil [Tue, 2 Dec 2014 02:15:59 +0000 (18:15 -0800)]
osd: tolerate sessionless con in fast dispatch path

We can now get a session cleared from a Connection at any time.  Change
the assert to an if in ms_fast_dispatch to cope.  It's pretty rare, but it
can happen, especially with delay injection.  In particular, a racing
thread can call mark_down() on us.

Fixes: #10209
Backport: giant
Signed-off-by: Sage Weil <sage@redhat.com>
10 years agoMerge pull request #3008 from ceph/wip-10135
Gregory Farnum [Tue, 2 Dec 2014 02:05:02 +0000 (18:05 -0800)]
Merge pull request #3008 from ceph/wip-10135

mon: OSDMonitor: allow adding tiers to FS pools

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agoMerge pull request #3050 from dachary/wip-10213-const
Gregory Farnum [Tue, 2 Dec 2014 01:30:36 +0000 (17:30 -0800)]
Merge pull request #3050 from dachary/wip-10213-const

msg: do not const methods that return a mutable pointer

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
10 years agomsg: do not const methods that return a mutable pointer 3050/head
Loic Dachary [Tue, 2 Dec 2014 01:20:15 +0000 (02:20 +0100)]
msg: do not const methods that return a mutable pointer

Add remove misleading const on post_rx_buffer argument.

http://tracker.ceph.com/issues/10213 Fixes: #10213

Signed-off-by: Loic Dachary <loic@dachary.org>
10 years agoosd/osd_types: drop category from object_info_t 2979/head
Sage Weil [Fri, 31 Oct 2014 16:52:27 +0000 (09:52 -0700)]
osd/osd_types: drop category from object_info_t

Signed-off-by: Sage Weil <sage@redhat.com>